diff --git a/basex-modules/dba/src/main/resources/static/cm6.js b/basex-modules/dba/src/main/resources/static/cm6.js index 81545a648f..80ddd7d325 100644 --- a/basex-modules/dba/src/main/resources/static/cm6.js +++ b/basex-modules/dba/src/main/resources/static/cm6.js @@ -1,16 +1,17 @@ /*! - * BaseX DBA editor bundle (CodeMirror 6). Bundled third-party libraries, - * all under the MIT License: + * BaseX editor (CodeMirror 6), for the DBA and the BaseX wiki. + * Built from basex-lsp, commit 8e19f0b, 2026-10-28T21:09:11Z; language support @basex/codemirror-lang-xquery 0.1.0-SNAPSHOT. * - * CodeMirror 6, Lezer, @codemirror/lang-xml, @codemirror/lang-json, - * @codemirror/theme-one-dark + * Bundled third-party libraries, all under the MIT License: + * CodeMirror 6, Lezer, @codemirror/lang-html, lang-javascript, lang-json, lang-markdown, lang-xml, @codemirror/theme-one-dark * Copyright (C) 2018-2021 by Marijn Haverbeke and others * https://codemirror.net | https://lezer.codemirror.net - * CodeMirror "Material Light" theme (@fsegurai/codemirror-theme-material-light) + * CodeMirror themes (@fsegurai/codemirror-theme-bundle, the "Material Light" theme) * Copyright (c) Fabián Segura — https://github.com/fsegurai/codemirror-themes * - * Also bundles codemirror-lang-xquery and codemirror-parse-error-gutter, - * Copyright (c) BaseX Team, BSD License. + * Also bundles @basex/codemirror-lang-xquery (the language support of BaseX), Copyright (c) BaseX Team, under the BSD 3-Clause License. + * Its parser contains code fragments from REx (Gunther Rademacher), under the Apache License, Version 2.0. + * The texts of these two licenses follow those of the MIT License. * * MIT License: * Permission is hereby granted, free of charge, to any person obtaining a copy @@ -30,26 +31,280 @@ * 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. + * + * BSD 3-Clause License: + * Copyright (c) BaseX Team + * All rights reserved. + * + * The BSD 3-Clause License + * + * 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 holders 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 + * 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. + * + * Apache License, Version 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 + * + * APPENDIX: How to apply the Apache License to your work. + * + * To apply the Apache License to your work, attach the following + * boilerplate notice, with the fields enclosed by brackets "[]" + * replaced with your own identifying information. (Don't include + * the brackets!) The text should be enclosed in the appropriate + * comment syntax for the file format. We also recommend that a + * file or class name and description of purpose be included on the + * same "printed page" as the copyright notice for easier + * identification within third-party archives. + * + * Copyright [yyyy] [name of copyright owner] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ -!function(){"use strict";let e=[],t=[];function n(n){if(n<768)return!1;for(let s=0,i=e.length;;){let r=s+i>>1;if(n=t[r]))return!0;s=r+1}if(s==i)return!1}}function s(e){return e>=127462&&e<=127487}(()=>{let n="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let s=0,i=0;s=0&&s(o(e,i));)n++,i-=2;if(n%2==0)break;t+=2}}}return t}function a(e,t,n){for(;t>0;){let s=r(e,t-2,n);if(s=56320&&e<57344}function O(e){return e>=55296&&e<56320}function c(e){return e<65536?1:2}class h{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=x(this,e,t);let s=[];return this.decompose(0,e,s,2),n.length&&n.decompose(0,n.length,s,3),this.decompose(t,this.length,s,1),d.from(s,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=x(this,e,t);let n=[];return this.decompose(e,t,n,0),d.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),s=new m(this),i=new m(e);for(let e=t,r=t;;){if(s.next(e),i.next(e),e=0,s.lineBreak!=i.lineBreak||s.done!=i.done||s.value!=i.value)return!1;if(r+=s.value.length,s.done||r>=n)return!0}}iter(e=1){return new m(this,e)}iterRange(e,t=this.length){return new g(this,e,t)}iterLines(e,t){let n;if(null==e)n=this.iter();else{null==t&&(t=this.lines+1);let s=this.line(e).from;n=this.iterRange(s,Math.max(s,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Q(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(0==e.length)throw new RangeError("A document must have at least one line");return 1!=e.length||e[0]?e.length<=32?new u(e):d.from(u.split(e,[])):h.empty}}class u extends h{constructor(e,t=function(e){let t=-1;for(let n of e)t+=n.length+1;return t}(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,s){for(let i=0;;i++){let r=this.text[i],a=s+r.length;if((t?n:a)>=e)return new $(s,a,n,r);s=a+1,n++}}decompose(e,t,n,s){let i=e<=0&&t>=this.length?this:new u(p(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(1&s){let e=n.pop(),t=f(i.text,e.text.slice(),0,i.length);if(t.length<=32)n.push(new u(t,e.length+i.length));else{let e=t.length>>1;n.push(new u(t.slice(0,e)),new u(t.slice(e)))}}else n.push(i)}replace(e,t,n){if(!(n instanceof u))return super.replace(e,t,n);[e,t]=x(this,e,t);let s=f(this.text,f(n.text,p(this.text,0,e)),t),i=this.length+n.length-(t-e);return s.length<=32?new u(s,i):d.from(u.split(s,[]),i)}sliceString(e,t=this.length,n="\n"){[e,t]=x(this,e,t);let s="";for(let i=0,r=0;i<=t&&re&&r&&(s+=n),ei&&(s+=a.slice(Math.max(0,e-i),t-i)),i=o+1}return s}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],s=-1;for(let i of e)n.push(i),s+=i.length+1,32==n.length&&(t.push(new u(n,s)),n=[],s=-1);return s>-1&&t.push(new u(n,s)),t}}class d extends h{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let t of e)this.lines+=t.lines}lineInner(e,t,n,s){for(let i=0;;i++){let r=this.children[i],a=s+r.length,o=n+r.lines-1;if((t?o:a)>=e)return r.lineInner(e,t,n,s);s=a+1,n=o+1}}decompose(e,t,n,s){for(let i=0,r=0;r<=t&&i=r){let i=s&((r<=e?1:0)|(o>=t?2:0));r>=e&&o<=t&&!i?n.push(a):a.decompose(e-r,t-r,n,i)}r=o+1}}replace(e,t,n){if([e,t]=x(this,e,t),n.lines=i&&t<=a){let o=r.replace(e-i,t-i,n),l=this.lines-r.lines+o.lines;if(o.lines>4&&o.lines>l>>6){let i=this.children.slice();return i[s]=o,new d(i,this.length-(t-e)+n.length)}return super.replace(i,a,o)}i=a+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n="\n"){[e,t]=x(this,e,t);let s="";for(let i=0,r=0;ie&&i&&(s+=n),er&&(s+=a.sliceString(e-r,t-r,n)),r=o+1}return s}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof d))return 0;let n=0,[s,i,r,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;s+=t,i+=t){if(s==r||i==a)return n;let o=this.children[s],l=e.children[i];if(o!=l)return n+o.scanIdentical(l,t);n+=o.length+1}}static from(e,t=e.reduce((e,t)=>e+t.length+1,-1)){let n=0;for(let t of e)n+=t.lines;if(n<32){let n=[];for(let t of e)t.flatten(n);return new u(n,t)}let s=Math.max(32,n>>5),i=s<<1,r=s>>1,a=[],o=0,l=-1,O=[];function c(e){let t;if(e.lines>i&&e instanceof d)for(let t of e.children)c(t);else e.lines>r&&(o>r||!o)?(h(),a.push(e)):e instanceof u&&o&&(t=O[O.length-1])instanceof u&&e.lines+t.lines<=32?(o+=e.lines,l+=e.length+1,O[O.length-1]=new u(t.text.concat(e.text),t.length+1+e.length)):(o+e.lines>s&&h(),o+=e.lines,l+=e.length+1,O.push(e))}function h(){0!=o&&(a.push(1==O.length?O[0]:d.from(O,l)),l=-1,o=O.length=0)}for(let t of e)c(t);return h(),1==a.length?a[0]:new d(a,t)}}function f(e,t,n=0,s=1e9){for(let i=0,r=0,a=!0;r=n&&(l>s&&(o=o.slice(0,s-i)),i0?1:(e instanceof u?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,s=this.nodes[n],i=this.offsets[n],r=i>>1,a=s instanceof u?s.text.length:s.children.length;if(r==(t>0?a:0)){if(0==n)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&i)==(t>0?0:1)){if(this.offsets[n]+=t,0==e)return this.lineBreak=!0,this.value="\n",this;e--}else if(s instanceof u){let i=s.text[r+(t<0?-1:0)];if(this.offsets[n]+=t,i.length>Math.max(0,e))return this.value=0==e?i:t>0?i.slice(e):i.slice(0,i.length-e),this;e-=i.length}else{let i=s.children[r+(t<0?-1:0)];e>i.length?(e-=i.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(i),this.offsets.push(t>0?1:(i instanceof u?i.text.length:i.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class g{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new m(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:s}=this.cursor.next(e);return this.pos+=(s.length+e)*t,this.value=s.length<=n?s:t<0?s.slice(s.length-n):s.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&""!=this.value}}class Q{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:s}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=s,this.afterBreak=!1),this}get lineBreak(){return!1}}"undefined"!=typeof Symbol&&(h.prototype[Symbol.iterator]=function(){return this.iter()},m.prototype[Symbol.iterator]=g.prototype[Symbol.iterator]=Q.prototype[Symbol.iterator]=function(){return this});let $=class{constructor(e,t,n,s){this.from=e,this.to=t,this.number=n,this.text=s}get length(){return this.to-this.from}};function x(e,t,n){return[t=Math.max(0,Math.min(e.length,t)),Math.max(t,Math.min(e.length,n))]}function X(e,t,n=!0,s=!0){return i(e,t,n,s)}function b(e,t){let n=e.charCodeAt(t);if(!(s=n,s>=55296&&s<56320&&t+1!=e.length))return n;var s;let i=e.charCodeAt(t+1);return function(e){return e>=56320&&e<57344}(i)?i-56320+(n-55296<<10)+65536:n}function y(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function S(e){return e<65536?1:2}const v=/\r\n?|\n/;var w=function(e){return e[e.Simple=0]="Simple",e[e.TrackDel=1]="TrackDel",e[e.TrackBefore=2]="TrackBefore",e[e.TrackAfter=3]="TrackAfter",e}(w||(w={}));class P{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return i+(e-s);i+=a}else{if(n!=w.Simple&&l>=e&&(n==w.TrackDel&&se||n==w.TrackBefore&&se))return null;if(l>e||l==e&&t<0&&!a)return e==s||t<0?i:i+o;i+=o}s=l}if(e>s)throw new RangeError(`Position ${e} is out of range for changeset of length ${s}`);return i}touchesRange(e,t=e){for(let n=0,s=0;n=0&&s<=t&&i>=e)return!(st)||"cover";s=i}return!1}toString(){let e="";for(let t=0;t=0?":"+s:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(e=>"number"!=typeof e))throw new RangeError("Invalid JSON representation of ChangeDesc");return new P(e)}static create(e){return new P(e)}}class k extends P{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return T(this,(t,n,s,i,r)=>e=e.replace(s,s+(n-t),r),!1),e}mapDesc(e,t=!1){return W(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let s=0,i=0;s=0){t[s]=a,t[s+1]=r;let o=s>>1;for(;n.length0&&D(n,t,i.text),i.forward(e),a+=e}let l=e[r++];for(;a>1].toJSON()))}return e}static of(e,t,n){let s=[],i=[],r=0,a=null;function o(e=!1){if(!e&&!s.length)return;ra||e<0||a>t)throw new RangeError(`Invalid change range ${e} to ${a} (in doc of length ${t})`);let c=O?"string"==typeof O?h.of(O.split(n||v)):O:h.empty,u=c.length;if(e==a&&0==u)return;er&&_(s,e-r,-1),_(s,a-e,u),D(i,s,c),r=a}}(e),o(!a),a}static empty(e){return new k(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let s=0;st&&"string"!=typeof e))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==i.length)t.push(i[0],0);else{for(;n.length=0&&n<=0&&n==e[i+1]?e[i]+=t:i>=0&&0==t&&0==e[i]?e[i+1]+=n:s?(e[i]+=t,e[i+1]+=n):e.push(t,n)}function D(e,t,n){if(0==n.length)return;let s=t.length-2>>1;if(s>1])),!(n||a==e.sections.length||e.sections[a+1]<0);)o=e.sections[a++],l=e.sections[a++];t(i,O,r,c,u),i=O,r=c}}}function W(e,t,n,s=!1){let i=[],r=s?[]:null,a=new C(e),o=new C(t);for(let e=-1;;){if(a.done&&o.len||o.done&&a.len)throw new Error("Mismatched change set lengths");if(-1==a.ins&&-1==o.ins){let e=Math.min(a.len,o.len);_(i,e,-1),a.forward(e),o.forward(e)}else if(o.ins>=0&&(a.ins<0||e==a.i||0==a.off&&(o.len=0&&e=0)){if(a.done&&o.done)return r?k.createSet(i,r):P.create(i);throw new Error("Mismatched change set lengths")}{let t=0,n=a.len;for(;n;)if(-1==o.ins){let e=Math.min(n,o.len);t+=e,n-=e,o.forward(e)}else{if(!(0==o.ins&&o.lent||a.ins>=0&&a.len>t)&&(e||s.length>n),r.forward2(t),a.forward(t)}}else _(s,0,a.ins,e),i&&D(i,s,a.text),a.next()}}class C{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?h.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?h.empty:t[n].slice(this.off,null==e?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){-1==this.ins?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class F{constructor(e,t,n){this.from=e,this.to=t,this.flags=n}get anchor(){return 32&this.flags?this.to:this.from}get head(){return 32&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 8&this.flags?-1:16&this.flags?1:0}get bidiLevel(){let e=7&this.flags;return 7==e?null:e}get goalColumn(){let e=this.flags>>6;return 16777215==e?void 0:e}map(e,t=-1){let n,s;return this.empty?n=s=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),s=e.mapPos(this.to,-1)),n==this.from&&s==this.to?this:new F(n,s,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return Z.range(e,t);let n=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return Z.range(this.anchor,n)}eq(e,t=!1){return!(this.anchor!=e.anchor||this.head!=e.head||t&&this.empty&&this.assoc!=e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||"number"!=typeof e.anchor||"number"!=typeof e.head)throw new RangeError("Invalid JSON representation for SelectionRange");return Z.range(e.anchor,e.head)}static create(e,t,n){return new F(e,t,n)}}class Z{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:Z.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;ne.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||"number"!=typeof e.main||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new Z(e.ranges.map(e=>F.fromJSON(e)),e.main)}static single(e,t=e){return new Z([Z.range(e,t)],0)}static create(e,t=0){if(0==e.length)throw new RangeError("A selection needs at least one range");for(let n=0,s=0;se?8:0)|i)}static normalized(e,t=0){let n=e[t];e.sort((e,t)=>e.from-t.from),t=e.indexOf(n);for(let n=1;ns.head?Z.range(a,r):Z.range(r,a))}}return new Z(e,t)}}function E(e,t){for(let n of e.ranges)if(n.to>t)throw new RangeError("Selection points outside of document")}let V=0;class R{constructor(e,t,n,s,i){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=s,this.id=V++,this.default=e([]),this.extensions="function"==typeof i?i(this):i}get reader(){return this}static define(e={}){return new R(e.combine||(e=>e),e.compareInput||((e,t)=>e===t),e.compare||(e.combine?(e,t)=>e===t:A),!!e.static,e.enables)}of(e){return new j([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new j(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new j(e,this,2,t)}from(e,t){return t||(t=e=>e),this.compute([e],n=>t(n.field(e)))}}function A(e,t){return e==t||e.length==t.length&&e.every((e,n)=>e===t[n])}class j{constructor(e,t,n,s){this.dependencies=e,this.facet=t,this.type=n,this.value=s,this.id=V++}dynamicSlot(e){var t;let n=this.value,s=this.facet.compareInput,i=this.id,r=e[i]>>1,a=2==this.type,o=!1,l=!1,O=[];for(let n of this.dependencies)"doc"==n?o=!0:"selection"==n?l=!0:1&(null!==(t=e[n.id])&&void 0!==t?t:1)||O.push(e[n.id]);return{create:e=>(e.values[r]=n(e),1),update(e,t){if(o&&t.docChanged||l&&(t.docChanged||t.selection)||Y(e,O)){let t=n(e);if(a?!z(t,e.values[r],s):!s(t,e.values[r]))return e.values[r]=t,1}return 0},reconfigure:(e,t)=>{let o,l=t.config.address[i];if(null!=l){let i=ie(t,l);if(this.dependencies.every(n=>n instanceof R?t.facet(n)===e.facet(n):!(n instanceof M)||t.field(n,!1)==e.field(n,!1))||(a?z(o=n(e),i,s):s(o=n(e),i)))return e.values[r]=i,0}else o=n(e);return e.values[r]=o,1}}}}function z(e,t,n){if(e.length!=t.length)return!1;for(let s=0;se[t.id]),i=n.map(e=>e.type),r=s.filter(e=>!(1&e)),a=e[t.id]>>1;function o(e){let n=[];for(let t=0;te===t),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(B).find(e=>e.field==this);return((null==t?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:e=>(e.values[t]=this.create(e),1),update:(e,n)=>{let s=e.values[t],i=this.updateF(s,n);return this.compareF(s,i)?0:(e.values[t]=i,1)},reconfigure:(e,n)=>{let s,i=e.facet(B),r=n.facet(B);return(s=i.find(e=>e.field==this))&&s!=r.find(e=>e.field==this)?(e.values[t]=s.create(e),1):null!=n.config.address[this.id]?(e.values[t]=n.field(this),0):(e.values[t]=this.create(e),1)}}}init(e){return[this,B.of({field:this,create:e})]}get extension(){return this}}const G=4,I=3,L=2,N=1;function K(e){return t=>new J(t,e)}const H={highest:K(0),high:K(N),default:K(L),low:K(I),lowest:K(G)};class J{constructor(e,t){this.inner=e,this.prec=t}}class ee{of(e){return new te(this,e)}reconfigure(e){return ee.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class te{constructor(e,t){this.compartment=e,this.inner=t}}class ne{constructor(e,t,n,s,i,r){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=s,this.staticValues=i,this.facets=r,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let s=[],i=Object.create(null),r=new Map;for(let n of function(e,t,n){let s=[[],[],[],[],[]],i=new Map;function r(e,a){let o=i.get(e);if(null!=o){if(o<=a)return;let t=s[o].indexOf(e);t>-1&&s[o].splice(t,1),e instanceof te&&n.delete(e.compartment)}if(i.set(e,a),Array.isArray(e))for(let t of e)r(t,a);else if(e instanceof te){if(n.has(e.compartment))throw new RangeError("Duplicate use of compartment in extensions");let s=t.get(e.compartment)||e.inner;n.set(e.compartment,s),r(s,a)}else if(e instanceof J)r(e.inner,e.prec);else if(e instanceof M)s[a].push(e),e.provides&&r(e.provides,a);else if(e instanceof j)s[a].push(e),e.facet.extensions&&r(e.facet.extensions,L);else{let t=e.extension;if(!t)throw new Error(`Unrecognized extension value in extension set (${e}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);r(t,a)}}return r(e,L),s.reduce((e,t)=>e.concat(t))}(e,t,r))n instanceof M?s.push(n):(i[n.facet.id]||(i[n.facet.id]=[])).push(n);let a=Object.create(null),o=[],l=[];for(let e of s)a[e.id]=l.length<<1,l.push(t=>e.slot(t));let O=null==n?void 0:n.config.facets;for(let e in i){let t=i[e],s=t[0].facet,r=O&&O[e]||[];if(t.every(e=>0==e.type))if(a[s.id]=o.length<<1|1,A(r,t))o.push(n.facet(s));else{let e=s.combine(t.map(e=>e.value));o.push(n&&s.compare(e,n.facet(s))?n.facet(s):e)}else{for(let e of t)0==e.type?(a[e.id]=o.length<<1|1,o.push(e.value)):(a[e.id]=l.length<<1,l.push(t=>e.dynamicSlot(t)));a[s.id]=l.length<<1,l.push(e=>U(e,s,t))}}let c=l.map(e=>e(a));return new ne(e,r,c,a,o,i)}}function se(e,t){if(1&t)return 2;let n=t>>1,s=e.status[n];if(4==s)throw new Error("Cyclic dependency between fields and/or facets");if(2&s)return s;e.status[n]=4;let i=e.computeSlot(e,e.config.dynamicSlots[n]);return e.status[n]=2|i}function ie(e,t){return 1&t?e.config.staticValues[t>>1]:e.values[t>>1]}const re=R.define(),ae=R.define({combine:e=>e.some(e=>e),static:!0}),oe=R.define({combine:e=>e.length?e[0]:void 0,static:!0}),le=R.define(),Oe=R.define(),ce=R.define(),he=R.define({combine:e=>!!e.length&&e[0]});class ue{constructor(e,t){this.type=e,this.value=t}static define(){return new de}}class de{of(e){return new ue(this,e)}}class fe{constructor(e){this.map=e}of(e){return new pe(this,e)}}class pe{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return void 0===t?void 0:t==this.value?this:new pe(this.type,t)}is(e){return this.type==e}static define(e={}){return new fe(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let s of e){let e=s.map(t);e&&n.push(e)}return n}}pe.reconfigure=pe.define(),pe.appendConfig=pe.define();class me{constructor(e,t,n,s,i,r){this.startState=e,this.changes=t,this.selection=n,this.effects=s,this.annotations=i,this.scrollIntoView=r,this._doc=null,this._state=null,n&&E(n,t.newLength),i.some(e=>e.type==me.time)||(this.annotations=i.concat(me.time.of(Date.now())))}static create(e,t,n,s,i,r){return new me(e,t,n,s,i,r)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(me.userEvent);return!(!t||!(t==e||t.length>e.length&&t.slice(0,e.length)==e&&"."==t[e.length]))}}function ge(e,t){let n=[];for(let s=0,i=0;;){let r,a;if(s=e[s]))r=e[s++],a=e[s++];else{if(!(i=0;i--){let r=n[i](e);r&&Object.keys(r).length&&(s=Qe(s,$e(t,r,e.changes.newLength),!0))}return s==e?e:me.create(t,e.changes,e.selection,s.effects,s.annotations,s.scrollIntoView)}(n?function(e){let t=e.startState,n=!0;for(let s of t.facet(le)){let t=s(e);if(!1===t){n=!1;break}Array.isArray(t)&&(n=!0===n?t:ge(n,t))}if(!0!==n){let s,i;if(!1===n)i=e.changes.invertedDesc,s=k.empty(t.doc.length);else{let t=e.changes.filter(n);s=t.changes,i=t.filtered.mapDesc(t.changes).invertedDesc}e=me.create(t,s,e.selection&&e.selection.map(i),pe.mapEffects(e.effects,i),e.annotations,e.scrollIntoView)}let s=t.facet(Oe);for(let n=s.length-1;n>=0;n--){let i=s[n](e);e=i instanceof me?i:Array.isArray(i)&&1==i.length&&i[0]instanceof me?i[0]:xe(t,be(i),!1)}return e}(i):i)}me.time=ue.define(),me.userEvent=ue.define(),me.addToHistory=ue.define(),me.remote=ue.define();const Xe=[];function be(e){return null==e?Xe:Array.isArray(e)?e:[e]}var ye=function(e){return e[e.Word=0]="Word",e[e.Space=1]="Space",e[e.Other=2]="Other",e}(ye||(ye={}));const Se=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let ve;try{ve=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(e){}function we(e){return t=>{if(!/\S/.test(t))return ye.Space;if(function(e){if(ve)return ve.test(e);for(let t=0;t"€"&&(n.toUpperCase()!=n.toLowerCase()||Se.test(n)))return!0}return!1}(t))return ye.Word;for(let n=0;n-1)return ye.Word;return ye.Other}}class Pe{constructor(e,t,n,s,i,r){this.config=e,this.doc=t,this.selection=n,this.values=s,this.status=e.statusTemplate.slice(),this.computeSlot=i,r&&(r._state=this);for(let e=0;ei.set(t,e)),n=null),i.set(t.value.compartment,t.value.extension)):t.is(pe.reconfigure)?(n=null,s=t.value):t.is(pe.appendConfig)&&(n=null,s=be(s).concat(t.value));if(n)t=e.startState.values.slice();else{n=ne.resolve(s,i,this),t=new Pe(n,this.doc,this.selection,n.dynamicSlots.map(()=>null),(e,t)=>t.reconfigure(e,this),null).values}let r=e.startState.facet(ae)?e.newSelection:e.newSelection.asSingle();new Pe(n,e.newDoc,r,t,(t,n)=>n.update(t,e),e)}replaceSelection(e){return"string"==typeof e&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:Z.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),s=this.changes(n.changes),i=[n.range],r=be(n.effects);for(let n=1;ni.spec.fromJSON(r,e)))}return Pe.create({doc:e.doc,selection:Z.fromJSON(e.selection),extensions:t.extensions?s.concat([t.extensions]):s})}static create(e={}){let t=ne.resolve(e.extensions||[],new Map),n=e.doc instanceof h?e.doc:h.of((e.doc||"").split(t.staticFacet(Pe.lineSeparator)||v)),s=e.selection?e.selection instanceof Z?e.selection:Z.single(e.selection.anchor,e.selection.head):Z.single(0);return E(s,n.length),t.staticFacet(ae)||(s=s.asSingle()),new Pe(t,n,s,t.dynamicSlots.map(()=>null),(e,t)=>t.create(e),null)}get tabSize(){return this.facet(Pe.tabSize)}get lineBreak(){return this.facet(Pe.lineSeparator)||"\n"}get readOnly(){return this.facet(he)}phrase(e,...t){for(let t of this.facet(Pe.phrases))if(Object.prototype.hasOwnProperty.call(t,e)){e=t[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(e,n)=>{if("$"==n)return"$";let s=+(n||1);return!s||s>t.length?e:t[s-1]})),e}languageDataAt(e,t,n=-1){let s=[];for(let i of this.facet(re))for(let r of i(this,t,n))Object.prototype.hasOwnProperty.call(r,e)&&s.push(r[e]);return s}charCategorizer(e){return we(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:n,length:s}=this.doc.lineAt(e),i=this.charCategorizer(e),r=e-n,a=e-n;for(;r>0;){let e=X(t,r,!1);if(i(t.slice(e,r))!=ye.Word)break;r=e}for(;ae.length?e[0]:4}),Pe.lineSeparator=oe,Pe.readOnly=he,Pe.phrases=R.define({compare(e,t){let n=Object.keys(e),s=Object.keys(t);return n.length==s.length&&n.every(n=>e[n]==t[n])}}),Pe.languageData=re,Pe.changeFilter=le,Pe.transactionFilter=Oe,Pe.transactionExtender=ce,ee.reconfigure=pe.define();class _e{eq(e){return this==e}range(e,t=e){return De.create(e,t,this)}}_e.prototype.startSide=_e.prototype.endSide=0,_e.prototype.point=!1,_e.prototype.mapMode=w.TrackDel;let De=class e{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(t,n,s){return new e(t,n,s)}};function Te(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}class We{constructor(e,t,n,s){this.from=e,this.to=t,this.value=n,this.maxPoint=s}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,s=0){let i=n?this.to:this.from;for(let r=s,a=i.length;;){if(r==a)return r;let s=r+a>>1,o=i[s]-e||(n?this.value[s].endSide:this.value[s].startSide)-t;if(s==r)return o>=0?r:a;o>=0?a=s:r=s+1}}between(e,t,n,s){for(let i=this.findIndex(t,-1e9,!0),r=this.findIndex(n,1e9,!1,i);iO||l==O&&c.startSide>0&&c.endSide<=0)continue;(O-l||c.endSide-c.startSide)<0||(r<0&&(r=l),c.point&&(a=Math.max(a,O-l)),n.push(c),s.push(l-r),i.push(O-r))}return{mapped:n.length?new We(s,i,n,a):null,pos:r}}}class qe{constructor(e,t,n,s){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=s}static create(e,t,n,s){return new qe(e,t,n,s)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:s=0,filterTo:i=this.length}=e,r=e.filter;if(0==t.length&&!r)return this;if(n&&(t=t.slice().sort(Te)),this.isEmpty)return t.length?qe.of(t):this;let a=new Ze(this,null,-1).goto(0),o=0,l=[],O=new Ce;for(;a.value||o=0){let e=t[o++];O.addInner(e.from,e.to,e.value)||l.push(e)}else 1==a.rangeIndex&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||ia.to||i=i&&e<=i+r.length&&!1===r.between(i,e-i,t-i,n))return}this.nextLayer.between(e,t,n)}}iter(e=0){return Ee.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Ee.from(e).goto(t)}static compare(e,t,n,s,i=-1){let r=e.filter(e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=i),a=t.filter(e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=i),o=Fe(r,a,n),l=new Re(r,o,i),O=new Re(a,o,i);n.iterGaps((e,t,n)=>Ae(l,e,O,t,n,s)),n.empty&&0==n.length&&Ae(l,0,O,0,0,s)}static eq(e,t,n=0,s){null==s&&(s=999999999);let i=e.filter(e=>!e.isEmpty&&t.indexOf(e)<0),r=t.filter(t=>!t.isEmpty&&e.indexOf(t)<0);if(i.length!=r.length)return!1;if(!i.length)return!0;let a=Fe(i,r),o=new Re(i,a,0).goto(n),l=new Re(r,a,0).goto(n);for(;;){if(o.to!=l.to||!je(o.active,l.active)||o.point&&(!l.point||!o.point.eq(l.point)))return!1;if(o.to>s)return!0;o.next(),l.next()}}static spans(e,t,n,s,i=-1){let r=new Re(e,null,i).goto(t),a=t,o=r.openStart;for(;;){let e=Math.min(r.to,n);if(r.point){let n=r.activeForPoint(r.to),i=r.pointFroma&&(s.span(a,e,r.active,o),o=r.openEnd(e));if(r.to>n)return o+(r.point&&r.to>n?1:0);a=r.to,r.next()}}static of(e,t=!1){let n=new Ce;for(let s of e instanceof De?[e]:t?function(e){if(e.length>1)for(let t=e[0],n=1;n0)return e.slice().sort(Te);t=s}return e}(e):e)n.add(s.from,s.to,s.value);return n.finish()}static join(e){if(!e.length)return qe.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let s=e[n];s!=qe.empty;s=s.nextLayer)t=new qe(s.chunkPos,s.chunk,t,Math.max(s.maxPoint,t.maxPoint));return t}}qe.empty=new qe([],[],null,-1),qe.empty.nextLayer=qe.empty;class Ce{finishChunk(e){this.chunks.push(new We(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new Ce)).add(e,t,n)}addInner(e,t,n){let s=e-this.lastTo||n.startSide-this.last.endSide;if(s<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(s<0)&&(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(qe.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return e;let t=qe.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function Fe(e,t,n){let s=new Map;for(let t of e)for(let e=0;e=this.minPoint)break}}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=n&&s.push(new Ze(r,t,n,i));return 1==s.length?s[0]:new Ee(s)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let e=this.heap.length>>1;e>=0;e--)Ve(this.heap,e);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let e=this.heap.length>>1;e>=0;e--)Ve(this.heap,e);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),Ve(this.heap,0)}}}function Ve(e,t){for(let n=e[t];;){let s=1+(t<<1);if(s>=e.length)break;let i=e[s];if(s+1=0&&(i=e[s+1],s++),n.compare(i)<0)break;e[s]=n,e[t]=i,t=s}}class Re{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Ee.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){ze(this.active,e),ze(this.activeTo,e),ze(this.activeRank,e),this.minActive=Ue(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:s,rank:i}=this.cursor;for(;t0;)t++;Ye(this.active,t,n),Ye(this.activeTo,t,s),Ye(this.activeRank,t,i),e&&Ye(e,t,this.cursor.from),this.minActive=Ue(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let s=this.minActive;if(s>-1&&(this.activeTo[s]-this.cursor.from||this.active[s].endSide-this.cursor.startSide)<0){if(this.activeTo[s]>e){this.to=this.activeTo[s],this.endSide=this.active[s].endSide;break}this.removeActive(s),n&&ze(n,s)}else{if(!this.cursor.value){this.to=this.endSide=1e9;break}if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}{let e=this.cursor.value;if(e.point){if(!(t&&this.cursor.to==this.to&&this.cursor.from=0&&n[t]=0&&!(this.activeRank[n]e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}}function Ae(e,t,n,s,i,r){e.goto(t),n.goto(s);let a=s+i,o=s,l=s-t;for(;;){let t=e.to+l-n.to,s=t||e.endSide-n.endSide,i=s<0?e.to+l:n.to,O=Math.min(i,a);if(e.point||n.point?e.point&&n.point&&(e.point==n.point||e.point.eq(n.point))&&je(e.activeForPoint(e.to),n.activeForPoint(n.to))||r.comparePoint(o,O,e.point,n.point):O>o&&!je(e.active,n.active)&&r.compareRange(o,O,e.active,n.active),i>a)break;(t||e.openEnd!=n.openEnd)&&r.boundChange&&r.boundChange(i),o=i,s<=0&&e.next(),s>=0&&n.next()}}function je(e,t){if(e.length!=t.length)return!1;for(let n=0;n=t;n--)e[n+1]=e[n];e[t]=n}function Ue(e,t){let n=-1,s=1e9;for(let i=0;i=t)return s;if(s==e.length)break;i+=9==e.charCodeAt(s)?n-i%n:1,s=X(e,s)}return!0===s?-1:e.length}const Ge="undefined"==typeof Symbol?"__ͼ":Symbol.for("ͼ"),Ie="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),Le="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{};class Ne{constructor(e,t){this.rules=[];let{finish:n}=t||{};function s(e){return/^@/.test(e)?[e]:e.split(/,\s*/)}function i(e,t,r,a){let o=[],l=/^@(\w+)\b/.exec(e[0]),O=l&&"keyframes"==l[1];if(l&&null==t)return r.push(e[0]+";");for(let n in t){let a=t[n];if(/&/.test(n))i(n.split(/,\s*/).map(t=>e.map(e=>t.replace(/&/,e))).reduce((e,t)=>e.concat(t)),a,r);else if(a&&"object"==typeof a){if(!l)throw new RangeError("The value of a property ("+n+") should be a primitive value.");i(s(n),a,o,O)}else null!=a&&o.push(n.replace(/_.*/,"").replace(/[A-Z]/g,e=>"-"+e.toLowerCase())+": "+a+";")}(o.length||O)&&r.push((!n||l||a?e:e.map(n)).join(", ")+" {"+o.join(" ")+"}")}for(let t in e)i(s(t),e[t],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let e=Le[Ge]||1;return Le[Ge]=e+1,"ͼ"+e.toString(36)}static mount(e,t,n){let s=e[Ie],i=n&&n.nonce;s?i&&s.setNonce(i):s=new He(e,i),s.mount(Array.isArray(t)?t:[t],e)}}let Ke=new Map;class He{constructor(e,t){let n=e.ownerDocument||e,s=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&s.CSSStyleSheet){let t=Ke.get(n);if(t)return e[Ie]=t;this.sheet=new s.CSSStyleSheet,Ke.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Ie]=this}mount(e,t){let n=this.sheet,s=0,i=0;for(let t=0;t-1&&(this.modules.splice(a,1),i--,a=-1),-1==a){if(this.modules.splice(i++,0,r),n)for(let e=0;e",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},tt="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),nt="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),st=0;st<10;st++)Je[48+st]=Je[96+st]=String(st);for(st=1;st<=24;st++)Je[st+111]="F"+st;for(st=65;st<=90;st++)Je[st]=String.fromCharCode(st+32),et[st]=String.fromCharCode(st);for(var it in Je)et.hasOwnProperty(it)||(et[it]=Je[it]);function rt(){var e=arguments[0];"string"==typeof e&&(e=document.createElement(e));var t=1,n=arguments[1];if(n&&"object"==typeof n&&null==n.nodeType&&!Array.isArray(n)){for(var s in n)if(Object.prototype.hasOwnProperty.call(n,s)){var i=n[s];"string"==typeof i?e.setAttribute(s,i):null!=i&&(e[s]=i)}t++}for(;t.995&&n<1.005||!isFinite(n)||Math.abs(t.width-e.offsetWidth)<1)&&(n=1),(s>.995&&s<1.005||!isFinite(s)||Math.abs(t.height-e.offsetHeight)<1)&&(s=1),{scaleX:n,scaleY:s}}class $t{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?pt(t):0),n,Math.min(e.focusOffset,n?pt(n):0))}set(e,t,n,s){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=s}}let xt,Xt=null;function bt(e){if(e.setActive)return e.setActive();if(Xt)return e.focus(Xt);let t=[];for(let n=e;n&&(t.push(n,n.scrollTop,n.scrollLeft),n!=n.ownerDocument);n=n.parentNode);if(e.focus(null==Xt?{get preventScroll(){return Xt={preventScroll:!0},!0}}:void 0),!Xt){Xt=!1;for(let e=0;eMath.max(1,e.scrollHeight-e.clientHeight-4)}function Pt(e,t){for(let n=e,s=t;;){if(3==n.nodeType&&s>0)return{node:n,offset:s};if(1==n.nodeType&&s>0){if("false"==n.contentEditable)return null;n=n.childNodes[s-1],s=pt(n)}else{if(!n.parentNode||dt(n))return null;s=ut(n),n=n.parentNode}}}function kt(e,t){for(let n=e,s=t;;){if(3==n.nodeType&&st)return n.domBoundsAround(e,t,l);if(c>=e&&-1==s&&(s=o,i=l),l>t&&n.dom.parentNode==this.dom){r=o,a=O;break}O=c,l=c+n.breakAfter}return{from:i,to:a<0?n+this.length:a,startDOM:(s?this.children[s-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:r=0?this.children[r].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),1&t.flags)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,7&this.flags&&this.markParentsDirty(!0))}setDOM(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,n=Dt){this.markDirty();for(let s=e;sthis.pos||e==this.pos&&(t>0||0==this.i||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let n=this.children[--this.i];this.pos-=n.length+n.breakAfter}}}function Ct(e,t,n,s,i,r,a,o,l){let{children:O}=e,c=O.length?O[t]:null,h=r.length?r[r.length-1]:null,u=h?h.breakAfter:a;if(!(t==s&&c&&!a&&!u&&r.length<2&&c.merge(n,i,r.length?h:null,0==n,o,l))){if(s0&&(!a&&r.length&&c.merge(n,c.length,r[0],!1,o,0)?c.breakAfter=r.shift().breakAfter:(n2);var Gt={mac:Mt||/Mac/.test(Zt.platform),windows:/Win/.test(Zt.platform),linux:/Linux|X11/.test(Zt.platform),ie:jt,ie_version:Rt?Et.documentMode||6:At?+At[1]:Vt?+Vt[1]:0,gecko:zt,gecko_version:zt?+(/Firefox\/(\d+)/.exec(Zt.userAgent)||[0,0])[1]:0,chrome:!!Yt,chrome_version:Yt?+Yt[1]:0,ios:Mt,android:/Android\b/.test(Zt.userAgent),safari:Bt,webkit_version:Ut?+(/\bAppleWebKit\/(\d+)/.exec(Zt.userAgent)||[0,0])[1]:0,tabSize:null!=Et.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};class It extends Tt{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){3==e.nodeType&&this.createDOM(e)}merge(e,t,n){return!(8&this.flags||n&&(!(n instanceof It)||this.length-(t-e)+n.length>256||8&n.flags))&&(this.text=this.text.slice(0,e)+(n?n.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new It(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=8&this.flags,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new _t(this.dom,e)}domBoundsAround(e,t,n){return{from:n,to:n+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return function(e,t,n){let s=e.nodeValue.length;t>s&&(t=s);let i=t,r=t,a=0;0==t&&n<0||t==s&&n>=0?Gt.chrome||Gt.gecko||(t?(i--,a=1):r=0)?0:o.length-1];Gt.safari&&!a&&0==l.width&&(l=Array.prototype.find.call(o,e=>e.width)||l);return a?mt(l,a<0):l||null}(this.dom,e,t)}}class Lt extends Tt{constructor(e,t=[],n=0){super(),this.mark=e,this.children=t,this.length=n;for(let e of t)e.setParent(this)}setAttrs(e){if(vt(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!(8&(this.flags|e.flags))}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?4&this.flags&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,n,s,i,r){return(!n||!(!(n instanceof Lt&&n.mark.eq(this.mark))||e&&i<=0||te&&t.push(n=e&&(s=i),n=a,i++}let r=this.length-e;return this.length=e,s>-1&&(this.children.length=s,this.markDirty()),new Lt(this.mark,t,r)}domAtPos(e){return Ht(this,e)}coordsAt(e,t){return en(this,e,t)}}class Nt extends Tt{static create(e,t,n){return new Nt(e,t,n)}constructor(e,t,n){super(),this.widget=e,this.length=t,this.side=n,this.prevWidget=null}split(e){let t=Nt.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){this.dom&&this.widget.updateDOM(this.dom,e)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(e,t,n,s,i,r){return!(n&&(!(n instanceof Nt&&this.widget.compare(n.widget))||e>0&&i<=0||t0)?_t.before(this.dom):_t.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let n=this.widget.coordsAt(this.dom,e,t);if(n)return n;let s=this.dom.getClientRects(),i=null;if(!s.length)return null;let r=this.side?this.side<0:e>0;for(let t=r?s.length-1:0;i=s[t],!(e>0?0==t:t==s.length-1||i.top0?_t.before(this.dom):_t.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return h.empty}get isHidden(){return!0}}function Ht(e,t){let n=e.dom,{children:s}=e,i=0;for(let e=0;ie&&t0;e--){let t=s[e-1];if(t.dom.parentNode==n)return t.domAtPos(t.length)}for(let e=i;e0&&t instanceof Lt&&i.length&&(s=i[i.length-1])instanceof Lt&&s.mark.eq(t.mark)?Jt(s,t.children[0],n-1):(i.push(t),t.setParent(e)),e.length+=t.length}function en(e,t,n){let s=null,i=-1,r=null,a=-1;!function e(t,o){for(let l=0,O=0;l=o&&(c.children.length?e(c,o-O):(!r||r.isHidden&&(n>0||tn(r,c)))&&(h>o||O==h&&c.getSide()>0)?(r=c,a=o-O):(O-1?1:0)!=i.length-(n&&i.indexOf(n)>-1?1:0))return!1;for(let r of s)if(r!=n&&(-1==i.indexOf(r)||e[r]!==t[r]))return!1;return!0}function an(e,t,n){let s=!1;if(t)for(let i in t)n&&i in n||(s=!0,"style"==i?e.style.cssText="":e.removeAttribute(i));if(n)for(let i in n)t&&t[i]==n[i]||(s=!0,"style"==i?e.style.cssText=n[i]:e.setAttribute(i,n[i]));return s}function on(e){let t=Object.create(null);for(let n=0;n0?3e8:-4e8:t>0?1e8:-1e8,new dn(e,t,t,n,e.widget||null,!1)}static replace(e){let t,n,s=!!e.block;if(e.isBlockGap)t=-5e8,n=4e8;else{let{start:i,end:r}=fn(e,s);t=(i?s?-3e8:-1:5e8)-1,n=1+(r?s?2e8:1:-6e8)}return new dn(e,t,n,s,e.widget||null,!0)}static line(e){return new un(e)}static set(e,t=!1){return qe.of(e,t)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}cn.none=qe.empty;class hn extends cn{constructor(e){let{start:t,end:n}=fn(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,n;return this==e||e instanceof hn&&this.tagName==e.tagName&&(this.class||(null===(t=this.attrs)||void 0===t?void 0:t.class))==(e.class||(null===(n=e.attrs)||void 0===n?void 0:n.class))&&rn(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}hn.prototype.point=!1;class un extends cn{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof un&&this.spec.class==e.spec.class&&rn(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}un.prototype.mapMode=w.TrackBefore,un.prototype.point=!0;class dn extends cn{constructor(e,t,n,s,i,r){super(t,n,i,e),this.block=s,this.isReplace=r,this.mapMode=s?t<=0?w.TrackBefore:w.TrackAfter:w.TrackDel}get type(){return this.startSide!=this.endSide?On.WidgetRange:this.startSide<=0?On.WidgetBefore:On.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof dn&&(t=this.widget,n=e.widget,t==n||!!(t&&n&&t.compare(n)))&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide;var t,n}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}function fn(e,t=!1){let{inclusiveStart:n,inclusiveEnd:s}=e;return null==n&&(n=e.inclusive),null==s&&(s=e.inclusive),{start:null!=n?n:t,end:null!=s?s:t}}function pn(e,t,n,s=0){let i=n.length-1;i>=0&&n[i]+s>=e?n[i]=Math.max(n[i],t):n.push(e,t)}dn.prototype.point=!0;class mn extends Tt{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,n,s,i,r){if(n){if(!(n instanceof mn))return!1;this.dom||n.transferDOM(this)}return s&&this.setDeco(n?n.attrs:null),Ft(this,e,t,n?n.children.slice():[],i,r),!0}split(e){let t=new mn;if(t.breakAfter=this.breakAfter,0==this.length)return t;let{i:n,off:s}=this.childPos(e);s&&(t.append(this.children[n].split(s),0),this.children[n].merge(s,this.children[n].length,null,!1,0,0),n++);for(let e=n;e0&&0==this.children[n-1].length;)this.children[--n].destroy();return this.children.length=n,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=void 0===this.prevAttrs?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){rn(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){Jt(this,e,t)}addLineDeco(e){let t=e.spec.attributes,n=e.spec.class;t&&(this.attrs=nn(t,this.attrs||{})),n&&(this.attrs=nn({class:n},this.attrs||{}))}domAtPos(e){return Ht(this,e)}reuseDOM(e){"DIV"==e.nodeName&&(this.setDOM(e),this.flags|=6)}sync(e,t){var n;this.dom?4&this.flags&&(vt(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),void 0!==this.prevAttrs&&(an(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let s=this.dom.lastChild;for(;s&&Tt.get(s)instanceof Lt;)s=s.lastChild;if(!(s&&this.length&&("BR"==s.nodeName||0!=(null===(n=Tt.get(s))||void 0===n?void 0:n.isEditable)||Gt.ios&&this.children.some(e=>e instanceof It)))){let e=document.createElement("BR");e.cmIgnore=!0,this.dom.appendChild(e)}}measureTextSize(){if(0==this.children.length||this.length>20)return null;let e,t=0;for(let n of this.children){if(!(n instanceof It)||/[^ -~]/.test(n.text))return null;let s=ct(n.dom);if(1!=s.length)return null;t+=s[0].width,e=s[0].height}return t?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:t/this.length,textHeight:e}:null}coordsAt(e,t){let n=en(this,e,t);if(!this.children.length&&n&&this.parent){let{heightOracle:e}=this.parent.view.viewState,t=n.bottom-n.top;if(Math.abs(t-e.lineHeight)<2&&e.textHeight=t){if(i instanceof mn)return i;if(r>t)break}s=r+i.breakAfter}return null}}class gn extends Tt{constructor(e,t,n){super(),this.widget=e,this.length=t,this.deco=n,this.breakAfter=0,this.prevWidget=null}merge(e,t,n,s,i,r){return!(n&&(!(n instanceof gn&&this.widget.compare(n.widget))||e>0&&i<=0||t0)}}class Qn extends ln{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}class $n{constructor(e,t,n,s){this.doc=e,this.pos=t,this.end=n,this.disallowBlockEffectsFor=s,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=t}posCovered(){if(0==this.content.length)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof gn&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new mn),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(xn(new Kt(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,this.posCovered()||e&&this.content.length&&this.content[this.content.length-1]instanceof gn||this.getLine()}buildText(e,t,n){for(;e>0;){if(this.textOff==this.text.length){let{value:t,lineBreak:n,done:s}=this.cursor.next(this.skip);if(this.skip=0,s)throw new Error("Ran out of text content when drawing inline views");if(n){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}this.text=t,this.textOff=0}let s=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-n)),this.getLine().append(xn(new It(this.text.slice(this.textOff,this.textOff+s)),t),n),this.atCursorPos=!0,this.textOff+=s,e-=s,n=0}}span(e,t,n,s){this.buildText(t-e,n,s),this.pos=t,this.openStart<0&&(this.openStart=s)}point(e,t,n,s,i,r){if(this.disallowBlockEffectsFor[r]&&n instanceof dn){if(n.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let a=t-e;if(n instanceof dn)if(n.block)n.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new gn(n.widget||Xn.block,a,n));else{let r=Nt.create(n.widget||Xn.inline,a,a?0:n.startSide),o=this.atCursorPos&&!r.isEditable&&i<=s.length&&(e0),l=!r.isEditable&&(es.length||n.startSide<=0),O=this.getLine();2!=this.pendingBuffer||o||r.isEditable||(this.pendingBuffer=0),this.flushBuffer(s),o&&(O.append(xn(new Kt(1),s),i),i=s.length+Math.max(0,i-s.length)),O.append(xn(r,s),i),this.atCursorPos=l,this.pendingBuffer=l?es.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=s.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(n);a&&(this.textOff+a<=this.text.length?this.textOff+=a:(this.skip+=a-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=i)}static build(e,t,n,s,i){let r=new $n(e,t,n,i);return r.openEnd=qe.spans(s,t,n,r),r.openStart<0&&(r.openStart=r.openEnd),r.finish(r.openEnd),r}}function xn(e,t){for(let n of t)e=new Lt(n,[e],e.length);return e}class Xn extends ln{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}Xn.inline=new Xn("span"),Xn.block=new Xn("div");var bn=function(e){return e[e.LTR=0]="LTR",e[e.RTL=1]="RTL",e}(bn||(bn={}));const yn=bn.LTR,Sn=bn.RTL;function vn(e){let t=[];for(let n=0;n=t){if(a.level==n)return r;(i<0||(0!=s?s<0?a.fromt:e[i].level>a.level))&&(i=r)}}if(i<0)throw new RangeError("Index out of range");return i}}function qn(e,t){if(e.length!=t.length)return!1;for(let n=0;nl&&a.push(new Wn(l,f.from,u)),Zn(e,f.direction==yn!=!(u%2)?s+1:s,i,f.inner,f.from,f.to,a),l=f.to}d=f.to}else{if(d==n||(t?Cn[d]!=o:Cn[d]==o))break;d++}h?Fn(e,l,d,s+1,i,h,a):lt;){let n=!0,c=!1;if(!O||l>r[O-1].to){let e=Cn[l-1];e!=o&&(n=!1,c=16==e)}let h=n||1!=o?null:[],u=n?s:s+1,d=l;e:for(;;)if(O&&d==r[O-1].to){if(c)break e;let f=r[--O];if(!n)for(let e=f.from,n=O;;){if(e==t)break e;if(!n||r[n-1].to!=e){if(Cn[e-1]==o)break e;break}e=r[--n].from}if(h)h.push(f);else{f.to=0;e-=3)if(_n[e+1]==-n){let t=_n[e+2],n=2&t?i:4&t?1&t?r:i:0;n&&(Cn[a]=Cn[_n[e]]=n),o=e;break}}else{if(189==_n.length)break;_n[o++]=a,_n[o++]=t,_n[o++]=l}else if(2==(s=Cn[a])||1==s){let e=s==i;l=e?0:1;for(let t=o-3;t>=0;t-=3){let n=_n[t+2];if(2&n)break;if(e)_n[t+2]|=2;else{if(4&n)break;_n[t+2]|=4}}}}}(e,i,r,s,o),function(e,t,n,s){for(let i=0,r=s;i<=n.length;i++){let a=i?n[i-1].to:e,o=il;)t==r&&(t=n[--s].from,r=s?n[s-1].to:e),Cn[--t]=c;l=a}else r=a,l++}}}(i,r,s,o),Fn(e,i,r,t,n,s,a)}function En(e){return[new Wn(0,e,0)]}let Vn="";function Rn(e,t,n,s,i){var r;let a=s.head-e.from,o=Wn.find(t,a,null!==(r=s.bidiLevel)&&void 0!==r?r:-1,s.assoc),l=t[o],O=l.side(i,n);if(a==O){let e=o+=i?1:-1;if(e<0||e>=t.length)return null;l=t[o=e],a=l.side(!i,n),O=l.side(i,n)}let c=X(e.text,a,l.forward(i,n));(cl.to)&&(c=O),Vn=e.text.slice(Math.min(a,c),Math.max(a,c));let h=o==(i?t.length-1:0)?null:t[o+(i?1:-1)];return h&&c==O&&h.level+(i?0:1)e.some(e=>e)}),Kn=R.define({combine:e=>e.some(e=>e)}),Hn=R.define();class Jn{constructor(e,t="nearest",n="nearest",s=5,i=5,r=!1){this.range=e,this.y=t,this.x=n,this.yMargin=s,this.xMargin=i,this.isSnapshot=r}map(e){return e.empty?this:new Jn(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new Jn(Z.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const es=pe.define({map:(e,t)=>e.map(t)}),ts=pe.define();function ns(e,t,n){let s=e.facet(Un);s.length?s[0](t):window.onerror&&window.onerror(String(t),n,void 0,void 0,t)||(n?console.error(n+":",t):console.error(t))}const ss=R.define({combine:e=>!e.length||e[0]});let is=0;const rs=R.define({combine:e=>e.filter((t,n)=>{for(let s=0;s{let t=[];return r&&t.push(cs.of(t=>{let n=t.plugin(e);return n?r(n):cn.none})),i&&t.push(i(e)),t})}static fromClass(e,t){return as.define((t,n)=>new e(t,n),t)}}class os{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let e=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(e)}catch(t){if(ns(e.state,t,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(e){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){ns(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(null===(t=this.value)||void 0===t?void 0:t.destroy)try{this.value.destroy()}catch(t){ns(e.state,t,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const ls=R.define(),Os=R.define(),cs=R.define(),hs=R.define(),us=R.define(),ds=R.define();function fs(e,t){let n=e.state.facet(ds);if(!n.length)return n;let s=n.map(t=>t instanceof Function?t(e):t),i=[];return qe.spans(s,t.from,t.to,{point(){},span(e,n,s,r){let a=e-t.from,o=n-t.from,l=i;for(let e=s.length-1;e>=0;e--,r--){let n,i=s[e].spec.bidiIsolate;if(null==i&&(i=An(t.text,a,o)),r>0&&l.length&&(n=l[l.length-1]).to==a&&n.direction==i)n.to=o,l=n.inner;else{let e={from:a,to:o,direction:i,inner:[]};l.push(e),l=e.inner}}}}),i}const ps=R.define();function ms(e){let t=0,n=0,s=0,i=0;for(let r of e.state.facet(ps)){let a=r(e);a&&(null!=a.left&&(t=Math.max(t,a.left)),null!=a.right&&(n=Math.max(n,a.right)),null!=a.top&&(s=Math.max(s,a.top)),null!=a.bottom&&(i=Math.max(i,a.bottom)))}return{left:t,right:n,top:s,bottom:i}}const gs=R.define();class Qs{constructor(e,t,n,s){this.fromA=e,this.toA=t,this.fromB=n,this.toB=s}join(e){return new Qs(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let s=e[t-1];if(!(s.fromA>n.toA)){if(s.toAO)break;i+=2}if(!o)return n;new Qs(o.fromA,o.toA,o.fromB,o.toB).addToSet(n),r=o.toA,a=o.toB}}}class $s{constructor(e,t,n){this.view=e,this.state=t,this.transactions=n,this.flags=0,this.startState=e.state,this.changes=k.empty(this.startState.doc.length);for(let e of n)this.changes=this.changes.compose(e.changes);let s=[];this.changes.iterChangedRanges((e,t,n,i)=>s.push(new Qs(e,t,n,i))),this.changedRanges=s}static create(e,t,n){return new $s(e,t,n)}get viewportChanged(){return(4&this.flags)>0}get viewportMoved(){return(8&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(18&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return 0==this.flags&&0==this.transactions.length}}class xs extends Tt{get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.editContextFormatting=cn.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new mn],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new Qs(0,0,0,e.state.doc.length)],0,null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:e,toA:t})=>tthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let s=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&((null===(t=this.domChanged)||void 0===t?void 0:t.newSel)?s=this.domChanged.newSel.head:function(e,t){let n=!1;t&&e.iterChangedRanges((e,s)=>{et.from&&(n=!0)});return n}(e.changes,this.hasComposition)||e.selectionSet||(s=e.state.selection.main.head));let i=s>-1?function(e,t,n){let s=Xs(e,n);if(!s)return null;let{node:i,from:r,to:a}=s,o=i.nodeValue;if(/[\n\r]/.test(o))return null;if(e.state.doc.sliceString(s.from,s.to)!=o)return null;let l=t.invertedDesc,O=new Qs(l.mapPos(r),l.mapPos(a),r,a),c=[];for(let t=i.parentNode;;t=t.parentNode){let n=Tt.get(t);if(n instanceof Lt)c.push({node:t,deco:n.mark});else{if(n instanceof mn||"DIV"==t.nodeName&&t.parentNode==e.contentDOM)return{range:O,text:i,marks:c,line:t};if(t==e.contentDOM)return null;c.push({node:t,deco:new hn({inclusive:!0,attributes:on(t),tagName:t.tagName.toLowerCase()})})}}}(this.view,e.changes,s):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:t,to:s}=this.hasComposition;n=new Qs(t,s,e.changes.mapPos(t,-1),e.changes.mapPos(s,1)).addToSet(n.slice())}this.hasComposition=i?{from:i.range.fromB,to:i.range.toB}:null,(Gt.ie||Gt.chrome)&&!i&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let r=function(e,t,n){let s=new bs;return qe.compare(e,t,n,s),s.changes}(this.decorations,this.updateDeco(),e.changes);return n=Qs.extendWithRanges(n,r),!!(7&this.flags||0!=n.length)&&(this.updateInner(n,e.startState.doc.length,i),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,n){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,n);let{observer:s}=this.view;s.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let e=Gt.chrome||Gt.ios?{node:s.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,e),this.flags&=-8,e&&(e.written||s.selectionRange.focusNode!=e.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(e=>e.flags&=-9);let i=[];if(this.view.viewport.from||this.view.viewport.to=0?s[e]:null;if(!t)break;let r,a,o,l,{fromA:O,toA:c,fromB:h,toB:u}=t;if(n&&n.range.fromBh){let e=$n.build(this.view.state.doc,h,n.range.fromB,this.decorations,this.dynamicDecorationMap),t=$n.build(this.view.state.doc,n.range.toB,u,this.decorations,this.dynamicDecorationMap);a=e.breakAtStart,o=e.openStart,l=t.openEnd;let s=this.compositionView(n);t.breakAtStart?s.breakAfter=1:t.content.length&&s.merge(s.length,s.length,t.content[0],!1,t.openStart,0)&&(s.breakAfter=t.content[0].breakAfter,t.content.shift()),e.content.length&&s.merge(0,0,e.content[e.content.length-1],!0,0,e.openEnd)&&e.content.pop(),r=e.content.concat(s).concat(t.content)}else({content:r,breakAtStart:a,openStart:o,openEnd:l}=$n.build(this.view.state.doc,h,u,this.decorations,this.dynamicDecorationMap));let{i:d,off:f}=i.findPos(c,1),{i:p,off:m}=i.findPos(O,-1);Ct(this,p,m,d,f,r,a,o,l)}n&&this.fixCompositionDOM(n)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let e of t.effects)e.is(ts)&&(this.editContextFormatting=e.value)}compositionView(e){let t=new It(e.text.nodeValue);t.flags|=8;for(let{deco:n}of e.marks)t=new Lt(n,[t],t.length);let n=new mn;return n.append(t,0),n}fixCompositionDOM(e){let t=(e,t)=>{t.flags|=8|(t.children.some(e=>7&e.flags)?1:0),this.markedForComposition.add(t);let n=Tt.get(e);n&&n!=t&&(n.dom=null),t.setDOM(e)},n=this.childPos(e.range.fromB,1),s=this.children[n.i];t(e.line,s);for(let i=e.marks.length-1;i>=-1;i--)n=s.childPos(n.off,1),s=s.children[n.i],t(i>=0?e.marks[i].node:e.text,s)}updateSelection(e=!1,t=!1){!e&&this.view.observer.selectionRange.focusNode||this.view.observer.readSelectionRange();let n=this.view.root.activeElement,s=n==this.dom,i=!s&&!(this.view.state.facet(ss)||this.dom.tabIndex>-1)&&Ot(this.dom,this.view.observer.selectionRange)&&!(n&&this.dom.contains(n));if(!(s||t||i))return;let r=this.forceSelection;this.forceSelection=!1;let a=this.view.state.selection.main,o=this.moveToLine(this.domAtPos(a.anchor)),l=a.empty?o:this.moveToLine(this.domAtPos(a.head));if(Gt.gecko&&a.empty&&!this.hasComposition&&(1==(O=o).node.nodeType&&O.node.firstChild&&(0==O.offset||"false"==O.node.childNodes[O.offset-1].contentEditable)&&(O.offset==O.node.childNodes.length||"false"==O.node.childNodes[O.offset].contentEditable))){let e=document.createTextNode("");this.view.observer.ignore(()=>o.node.insertBefore(e,o.node.childNodes[o.offset]||null)),o=l=new _t(e,0),r=!0}var O;let c=this.view.observer.selectionRange;!r&&c.focusNode&&(ht(o.node,o.offset,c.anchorNode,c.anchorOffset)&&ht(l.node,l.offset,c.focusNode,c.focusOffset)||this.suppressWidgetCursorChange(c,a))||(this.view.observer.ignore(()=>{Gt.android&&Gt.chrome&&this.dom.contains(c.focusNode)&&function(e,t){for(let n=e;n&&n!=t;n=n.assignedSlot||n.parentNode)if(1==n.nodeType&&"false"==n.contentEditable)return!0;return!1}(c.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let e=ot(this.view.root);if(e)if(a.empty){if(Gt.gecko){let e=(t=o.node,s=o.offset,1!=t.nodeType?0:(s&&"false"==t.childNodes[s-1].contentEditable?1:0)|(sa.head&&([o,l]=[l,o]),t.setEnd(l.node,l.offset),t.setStart(o.node,o.offset),e.removeAllRanges(),e.addRange(t)}else;var t,s;i&&this.view.root.activeElement==this.dom&&(this.dom.blur(),n&&n.focus())}),this.view.observer.setSelectionRange(o,l)),this.impreciseAnchor=o.precise?null:new _t(c.anchorNode,c.anchorOffset),this.impreciseHead=l.precise?null:new _t(c.focusNode,c.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&ht(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=ot(e.root),{anchorNode:s,anchorOffset:i}=e.observer.selectionRange;if(!(n&&t.empty&&t.assoc&&n.modify))return;let r=mn.find(this,t.head);if(!r)return;let a=r.posAtStart;if(t.head==a||t.head==a+r.length)return;let o=this.coordsAt(t.head,-1),l=this.coordsAt(t.head,1);if(!o||!l||o.bottom>l.top)return;let O=this.domAtPos(t.head+t.assoc);n.collapse(O.node,O.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let c=e.observer.selectionRange;e.docView.posFromDOM(c.anchorNode,c.anchorOffset)!=t.from&&n.collapse(s,i)}moveToLine(e){let t,n=this.dom;if(e.node!=n)return e;for(let s=e.offset;!t&&s=0;s--){let e=Tt.get(n.childNodes[s]);e instanceof mn&&(t=e.domAtPos(e.length))}return t?new _t(t.node,t.offset,!0):e}nearest(e){for(let t=e;t;){let e=Tt.get(t);if(e&&e.rootView==this)return e;t=t.parentNode}return null}posFromDOM(e,t){let n=this.nearest(e);if(!n)throw new RangeError("Trying to find position for a DOM position outside of the document");return n.localPosFromDOM(e,t)+n.posAtStart}domAtPos(e){let{i:t,off:n}=this.childCursor().findPos(e,-1);for(;t=0;r--){let a=this.children[r],o=i-a.breakAfter,l=o-a.length;if(oe||a.covers(1))&&(!n||a instanceof mn&&!(n instanceof mn&&t>=0)))n=a,s=l;else if(n&&l==e&&o==e&&a instanceof gn&&Math.abs(t)<2){if(a.deco.startSide<0)break;r&&(n=null)}i=l}return n?n.coordsAt(e-s,t):null}coordsForChar(e){let{i:t,off:n}=this.childPos(e,1),s=this.children[t];if(!(s instanceof mn))return null;for(;s.children.length;){let{i:e,off:t}=s.childPos(n,1);for(;;e++){if(e==s.children.length)return null;if((s=s.children[e]).length)break}n=t}if(!(s instanceof It))return null;let i=X(s.text,n);if(i==n)return null;let r=yt(s.dom,n,i).getClientRects();for(let e=0;eMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,o=this.view.textDirection==bn.LTR;for(let e=0,l=0;ls)break;if(e>=n){let n=O.dom.getBoundingClientRect();if(t.push(n.height),r){let t=O.dom.lastChild,s=t?ct(t):[];if(s.length){let t=s[s.length-1],r=o?t.right-n.left:n.right-t.left;r>a&&(a=r,this.minWidth=i,this.minWidthFrom=e,this.minWidthTo=c)}}}e=c+O.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return"rtl"==getComputedStyle(this.children[t].dom).direction?bn.RTL:bn.LTR}measureTextSize(){for(let e of this.children)if(e instanceof mn){let t=e.measureTextSize();if(t)return t}let e,t,n,s=document.createElement("div");return s.className="cm-line",s.style.width="99999px",s.style.position="absolute",s.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(s);let i=ct(s.firstChild)[0];e=s.getBoundingClientRect().height,t=i?i.width/27:7,n=i?i.height:e,s.remove()}),{lineHeight:e,charWidth:t,textHeight:n}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new qt(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,s=0;;s++){let i=s==t.viewports.length?null:t.viewports[s],r=i?i.from-1:this.length;if(r>n){let s=(t.lineBlockAt(r).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(cn.replace({widget:new Qn(s),block:!0,inclusive:!0,isBlockGap:!0}).range(n,r))}if(!i)break;n=i.to+1}return cn.set(e)}updateDeco(){let e=1,t=this.view.state.facet(cs).map(t=>(this.dynamicDecorationMap[e++]="function"==typeof t)?t(this.view):t),n=!1,s=this.view.state.facet(hs).map((e,t)=>{let s="function"==typeof e;return s&&(n=!0),s?e(this.view):e});for(s.length&&(this.dynamicDecorationMap[e++]=n,t.push(qe.join(s))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];en.anchor?-1:1);if(!s)return;!n.empty&&(t=this.coordsAt(n.anchor,n.anchor>n.head?-1:1))&&(s={left:Math.min(s.left,t.left),top:Math.min(s.top,t.top),right:Math.max(s.right,t.right),bottom:Math.max(s.bottom,t.bottom)});let i=ms(this.view),r={left:s.left-i.left,top:s.top-i.top,right:s.right+i.right,bottom:s.bottom+i.bottom},{offsetWidth:a,offsetHeight:o}=this.view.scrollDOM;!function(e,t,n,s,i,r,a,o){let l=e.ownerDocument,O=l.defaultView||window;for(let c=e,h=!1;c&&!h;)if(1==c.nodeType){let e,u=c==l.body,d=1,f=1;if(u)e=gt(O);else{if(/^(fixed|sticky)$/.test(getComputedStyle(c).position)&&(h=!0),c.scrollHeight<=c.clientHeight&&c.scrollWidth<=c.clientWidth){c=c.assignedSlot||c.parentNode;continue}let t=c.getBoundingClientRect();({scaleX:d,scaleY:f}=Qt(c,t)),e={left:t.left,right:t.left+c.clientWidth*d,top:t.top,bottom:t.top+c.clientHeight*f}}let p=0,m=0;if("nearest"==i)t.top0&&t.bottom>e.bottom+m&&(m=t.bottom-e.bottom+a)):t.bottom>e.bottom&&(m=t.bottom-e.bottom+a,n<0&&t.top-m0&&t.right>e.right+p&&(p=t.right-e.right+r)):t.right>e.right&&(p=t.right-e.right+r,n<0&&t.lefte.bottom||t.lefte.right)&&(t={left:Math.max(t.left,e.left),right:Math.min(t.right,e.right),top:Math.max(t.top,e.top),bottom:Math.min(t.bottom,e.bottom)}),c=c.assignedSlot||c.parentNode}else{if(11!=c.nodeType)break;c=c.host}}(this.view.scrollDOM,r,n.heade?t.left-e:Math.max(0,e-t.right)}function Ss(e,t){return t.top>e?t.top-e:Math.max(0,e-t.bottom)}function vs(e,t){return e.topt.top+1}function ws(e,t){return te.bottom?{top:e.top,left:e.left,right:e.right,bottom:t}:e}function ks(e,t,n){let s,i,r,a,o,l,O,c,h=!1;for(let u=e.firstChild;u;u=u.nextSibling){let e=ct(u);for(let d=0;dm||a==m&&r>p)&&(s=u,i=f,r=p,a=m,h=!p||(t0:df.bottom&&(!O||O.bottomf.top)&&(l=u,c=f):O&&vs(O,f)?O=Ps(O,f.bottom):c&&vs(c,f)&&(c=ws(c,f.top))}}if(O&&O.bottom>=n?(s=o,i=O):c&&c.top<=n&&(s=l,i=c),!s)return{node:e,offset:0};let u=Math.max(i.left,Math.min(i.right,t));return 3==s.nodeType?_s(s,u,n):h&&"false"!=s.contentEditable?ks(s,u,n):{node:e,offset:Array.prototype.indexOf.call(e.childNodes,s)+(t>=(i.left+i.right)/2?1:0)}}function _s(e,t,n){let s=e.nodeValue.length,i=-1,r=1e9,a=0;for(let o=0;on?O.top-n:n-O.bottom)-1;if(O.left-1<=t&&O.right+1>=t&&c=(O.left+O.right)/2,s=n;if(Gt.chrome||Gt.gecko){yt(e,o).getBoundingClientRect().left==O.right&&(s=!n)}if(c<=0)return{node:e,offset:o+(s?1:0)};i=o+(s?1:0),r=c}}}return{node:e,offset:i>-1?i:a>0?e.nodeValue.length:0}}function Ds(e,t,n,s=-1){var i,r;let a,o=e.contentDOM.getBoundingClientRect(),l=o.top+e.viewState.paddingTop,{docHeight:O}=e.viewState,{x:c,y:h}=t,u=h-l;if(u<0)return 0;if(u>O)return e.state.doc.length;for(let t=e.viewState.heightOracle.textHeight/2,i=!1;a=e.elementAtHeight(u),a.type!=On.Text;)for(;u=s>0?a.bottom+t:a.top-t,!(u>=0&&u<=O);){if(i)return n?null:0;i=!0,s=-s}h=l+u;let d=a.from;if(de.viewport.to)return e.viewport.to==e.state.doc.length?e.state.doc.length:n?null:Ts(e,o,a,c,h);let f=e.dom.ownerDocument,p=e.root.elementFromPoint?e.root:f,m=p.elementFromPoint(c,h);m&&!e.contentDOM.contains(m)&&(m=null),m||(c=Math.max(o.left+1,Math.min(o.right-1,c)),m=p.elementFromPoint(c,h),m&&!e.contentDOM.contains(m)&&(m=null));let g,Q=-1;if(m&&0!=(null===(i=e.docView.nearest(m))||void 0===i?void 0:i.isEditable)){if(f.caretPositionFromPoint){let e=f.caretPositionFromPoint(c,h);e&&({offsetNode:g,offset:Q}=e)}else if(f.caretRangeFromPoint){let t=f.caretRangeFromPoint(c,h);t&&(({startContainer:g,startOffset:Q}=t),(!e.contentDOM.contains(g)||Gt.safari&&function(e,t,n){let s,i=e;if(3!=e.nodeType||t!=(s=e.nodeValue.length))return!1;for(;;){let e=i.nextSibling;if(e){if("BR"==e.nodeName)break;return!1}{let e=i.parentNode;if(!e||"DIV"==e.nodeName)break;i=e}}return yt(e,s-1,s).getBoundingClientRect().right>n}(g,Q,c)||Gt.chrome&&function(e,t,n){if(0!=t)return!1;for(let t=e;;){let e=t.parentNode;if(!e||1!=e.nodeType||e.firstChild!=t)return!1;if(e.classList.contains("cm-line"))break;t=e}let s=1==e.nodeType?e.getBoundingClientRect():yt(e,0,Math.max(e.nodeValue.length,1)).getBoundingClientRect();return n-s.left>5}(g,Q,c))&&(g=void 0))}g&&(Q=Math.min(pt(g),Q))}if(!g||!e.docView.dom.contains(g)){let t=mn.find(e.docView,d);if(!t)return u>a.top+a.height/2?a.to:a.from;({node:g,offset:Q}=ks(t.dom,c,h))}let $=e.docView.nearest(g);if(!$)return null;if($.isWidget&&1==(null===(r=$.dom)||void 0===r?void 0:r.nodeType)){let e=$.dom.getBoundingClientRect();return t.y1.5*e.defaultLineHeight){let t=e.viewState.heightOracle.textHeight;r+=Math.floor((i-n.top-.5*(e.defaultLineHeight-t))/t)*e.viewState.heightOracle.lineLength}let a=e.state.sliceDoc(n.from,n.to);return n.from+Me(a,r,e.state.tabSize)}function Ws(e,t,n){let s=e.lineBlockAt(t);if(Array.isArray(s.type)){let e;for(let i of s.type){if(i.from>t)break;if(!(i.tot)return i;e&&(i.type!=On.Text||e.type==i.type&&!(n<0?i.fromt))||(e=i)}}return e||s}return s}function qs(e,t,n,s){let i=e.state.doc.lineAt(t.head),r=e.bidiSpans(i),a=e.textDirectionAt(i.from);for(let o=t,l=null;;){let t=Rn(i,r,a,o,n),O=Vn;if(!t){if(i.number==(n?e.state.doc.lines:1))return o;O="\n",i=e.state.doc.line(i.number+(n?1:-1)),r=e.bidiSpans(i),t=e.visualLineSide(i,!n)}if(l){if(!l(O))return o}else{if(!s)return t;l=s(O)}o=t}}function Cs(e,t,n){for(;;){let s=0;for(let i of e)i.between(t-1,t+1,(e,i,r)=>{if(t>e&&tt(e)),n.from,t.head>n.from?-1:1);return s==n.from?n:Z.cursor(s,se)&&this.lineBreak(),s=i}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,s=this.lineSeparator?null:/\r\n?|\n/g;;){let i,r=-1,a=1;if(this.lineSeparator?(r=t.indexOf(this.lineSeparator,n),a=this.lineSeparator.length):(i=s.exec(t))&&(r=i.index,a=i[0].length),this.append(t.slice(n,r<0?t.length:r)),r<0)break;if(this.lineBreak(),a>1)for(let t of this.points)t.node==e&&t.pos>this.text.length&&(t.pos-=a-1);n=r+a}}readNode(e){if(e.cmIgnore)return;let t=Tt.get(e),n=t&&t.overrideDOMText;if(null!=n){this.findPointInside(e,n.length);for(let e=n.iter();!e.next().done;)e.lineBreak?this.lineBreak():this.append(e.value)}else 3==e.nodeType?this.readTextNode(e):"BR"==e.nodeName?e.nextSibling&&this.lineBreak():1==e.nodeType&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(3==e.nodeType?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(Vs(e,n.node,n.offset)?t:0))}}function Vs(e,t,n){for(;;){if(!t||n-1;let{impreciseHead:i,impreciseAnchor:r}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,n,0))){let t=i||r?[]:function(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:n,anchorOffset:s,focusNode:i,focusOffset:r}=e.observer.selectionRange;n&&(t.push(new Rs(n,s)),i==n&&r==s||t.push(new Rs(i,r)));return t}(e),n=new Es(t,e.state);n.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=n.text,this.newSel=function(e,t){if(0==e.length)return null;let n=e[0].pos,s=2==e.length?e[1].pos:n;return n>-1&&s>-1?Z.single(n+t,s+t):null}(t,this.bounds.from)}else{let t=e.observer.selectionRange,n=i&&i.node==t.focusNode&&i.offset==t.focusOffset||!lt(e.contentDOM,t.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(t.focusNode,t.focusOffset),s=r&&r.node==t.anchorNode&&r.offset==t.anchorOffset||!lt(e.contentDOM,t.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(t.anchorNode,t.anchorOffset),a=e.viewport;if((Gt.ios||Gt.chrome)&&e.state.selection.main.empty&&n!=s&&(a.from>0||a.toDate.now()-100?e.inputState.lastKeyCode:-1;if(t.bounds){let{from:s,to:a}=t.bounds,o=i.from,l=null;(8===r||Gt.android&&t.text.length0&&o>0&&e.charCodeAt(a-1)==t.charCodeAt(o-1);)a--,o--;if("end"==s){n-=a+Math.max(0,r-Math.min(a,o))-r}if(a=a?r-n:0,o=r+(o-a),a=r}else if(o=o?r-n:0,a=r+(a-o),o=r}return{from:r,toA:a,toB:o}}(e.state.doc.sliceString(s,a,Zs),t.text,o-s,l);O&&(Gt.chrome&&13==r&&O.toB==O.from+2&&t.text.slice(O.from,O.toB)==Zs+Zs&&O.toB--,n={from:s+O.from,to:s+O.toA,insert:h.of(t.text.slice(O.from,O.toB).split(Zs))})}else s&&(!e.hasFocus&&e.state.facet(ss)||s.main.eq(i))&&(s=null);if(!n&&!s)return!1;if(!n&&t.typeOver&&!i.empty&&s&&s.main.empty?n={from:i.from,to:i.to,insert:e.state.doc.slice(i.from,i.to)}:(Gt.mac||Gt.android)&&n&&n.from==n.to&&n.from==i.head-1&&/^\. ?$/.test(n.insert.toString())&&"off"==e.contentDOM.getAttribute("autocorrect")?(s&&2==n.insert.length&&(s=Z.single(s.main.anchor-1,s.main.head-1)),n={from:n.from,to:n.to,insert:h.of([n.insert.toString().replace("."," ")])}):n&&n.from>=i.from&&n.to<=i.to&&(n.from!=i.from||n.to!=i.to)&&i.to-i.from-(n.to-n.from)<=4?n={from:i.from,to:i.to,insert:e.state.doc.slice(i.from,n.from).append(n.insert).append(e.state.doc.slice(n.to,i.to))}:Gt.chrome&&n&&n.from==n.to&&n.from==i.head&&"\n "==n.insert.toString()&&e.lineWrapping&&(s&&(s=Z.single(s.main.anchor-1,s.main.head-1)),n={from:i.from,to:i.to,insert:h.of([" "])}),n)return zs(e,n,s,r);if(s&&!s.main.eq(i)){let t=!1,n="select";return e.inputState.lastSelectionTime>Date.now()-50&&("select"==e.inputState.lastSelectionOrigin&&(t=!0),n=e.inputState.lastSelectionOrigin),e.dispatch({selection:s,scrollIntoView:t,userEvent:n}),!0}return!1}function zs(e,t,n,s=-1){if(Gt.ios&&e.inputState.flushIOSKey(t))return!0;let i=e.state.selection.main;if(Gt.android&&(t.to==i.to&&(t.from==i.from||t.from==i.from-1&&" "==e.state.sliceDoc(t.from,i.from))&&1==t.insert.length&&2==t.insert.lines&&St(e.contentDOM,"Enter",13)||(t.from==i.from-1&&t.to==i.to&&0==t.insert.length||8==s&&t.insert.lengthi.head)&&St(e.contentDOM,"Backspace",8)||t.from==i.from&&t.to==i.to+1&&0==t.insert.length&&St(e.contentDOM,"Delete",46)))return!0;let r,a=t.insert.toString();e.inputState.composing>=0&&e.inputState.composing++;let o=()=>r||(r=function(e,t,n){let s,i=e.state,r=i.selection.main;if(t.from>=r.from&&t.to<=r.to&&t.to-t.from>=(r.to-r.from)/3&&(!n||n.main.empty&&n.main.from==t.from+t.insert.length)&&e.inputState.composing<0){let n=r.fromt.to?i.sliceDoc(t.to,r.to):"";s=i.replaceSelection(e.state.toText(n+t.insert.sliceString(0,void 0,e.state.lineBreak)+a))}else{let a=i.changes(t),o=n&&n.main.to<=a.newLength?n.main:void 0;if(i.selection.ranges.length>1&&e.inputState.composing>=0&&t.to<=r.to&&t.to>=r.to-10){let l,O=e.state.sliceDoc(t.from,t.to),c=n&&Xs(e,n.main.head);if(c){let e=t.insert.length-(t.to-t.from);l={from:c.from,to:c.to-e}}else l=e.state.doc.lineAt(r.head);let h=r.to-t.to,u=r.to-r.from;s=i.changeByRange(n=>{if(n.from==r.from&&n.to==r.to)return{changes:a,range:o||n.map(a)};let s=n.to-h,c=s-O.length;if(n.to-n.from!=u||e.state.sliceDoc(c,s)!=O||n.to>=l.from&&n.from<=l.to)return{range:n};let d=i.changes({from:c,to:s,insert:t.insert}),f=n.to-r.to;return{changes:d,range:o?Z.range(Math.max(0,o.anchor+f),Math.max(0,o.head+f)):n.map(d)}})}else s={changes:a,selection:o&&i.selection.replaceRange(o)}}let a="input.type";(e.composing||e.inputState.compositionPendingChange&&e.inputState.compositionEndedAt>Date.now()-50)&&(e.inputState.compositionPendingChange=!1,a+=".compose",e.inputState.compositionFirstChange&&(a+=".start",e.inputState.compositionFirstChange=!1));return i.update(s,{userEvent:a,scrollIntoView:!0})}(e,t,n));return e.state.facet(Mn).some(n=>n(e,t.from,t.to,a,o))||e.dispatch(o()),!0}class Ys{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,Gt.safari&&e.contentDOM.addEventListener("input",()=>null),Gt.gecko&&function(e){mi.has(e)||(mi.add(e),e.addEventListener("copy",()=>{}),e.addEventListener("cut",()=>{}))}(e.contentDOM.ownerDocument)}handleEvent(e){(function(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let n,s=t.target;s!=e.contentDOM;s=s.parentNode)if(!s||11==s.nodeType||(n=Tt.get(s))&&n.ignoreEvent(t))return!1;return!0})(this.view,e)&&!this.ignoreDuringComposition(e)&&("keydown"==e.type&&this.keydown(e)||(0!=this.view.updateState?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e)))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let e of n.observers)e(this.view,t);for(let e of n.handlers){if(t.defaultPrevented)break;if(e(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=Bs(e),n=this.handlers,s=this.view.contentDOM;for(let e in t)if("scroll"!=e){let i=!t[e].handlers.length,r=n[e];r&&i!=!r.handlers.length&&(s.removeEventListener(e,this.handleEvent),r=null),r||s.addEventListener(e,this.handleEvent,{passive:i})}for(let e in n)"scroll"==e||t[e]||s.removeEventListener(e,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),9==e.keyCode&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&27!=e.keyCode&&Is.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),Gt.android&&Gt.chrome&&!e.synthetic&&(13==e.keyCode||8==e.keyCode))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return!Gt.ios||e.synthetic||e.altKey||e.metaKey||!((t=Ms.find(t=>t.keyCode==e.keyCode))&&!e.ctrlKey||Gs.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(229!=e.keyCode&&this.view.observer.forceFlush(),!1):(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0)}flushIOSKey(e){let t=this.pendingIOSKey;return!!t&&(!("Enter"==t.key&&e&&e.from0||!!(Gt.safari&&!Gt.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)&&(this.compositionPendingKey=!1,!0))}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function Us(e,t){return(n,s)=>{try{return t.call(e,s,n)}catch(e){ns(n.state,e)}}}function Bs(e){let t=Object.create(null);function n(e){return t[e]||(t[e]={observers:[],handlers:[]})}for(let t of e){let e=t.spec,s=e&&e.plugin.domEventHandlers,i=e&&e.plugin.domEventObservers;if(s)for(let e in s){let i=s[e];i&&n(e).handlers.push(Us(t.value,i))}if(i)for(let e in i){let s=i[e];s&&n(e).observers.push(Us(t.value,s))}}for(let e in Ks)n(e).handlers.push(Ks[e]);for(let e in Hs)n(e).observers.push(Hs[e]);return t}const Ms=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Gs="dthko",Is=[16,17,18,20,91,92,224,225];function Ls(e){return.7*Math.max(0,e)+8}class Ns{constructor(e,t,n,s){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=s,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=function(e){let t,n,s=e.ownerDocument;for(let i=e.parentNode;i&&!(i==s.body||t&&n);)if(1==i.nodeType)!n&&i.scrollHeight>i.clientHeight&&(n=i),!t&&i.scrollWidth>i.clientWidth&&(t=i),i=i.assignedSlot||i.parentNode;else{if(11!=i.nodeType)break;i=i.host}return{x:t,y:n}}(e.contentDOM),this.atoms=e.state.facet(us).map(t=>t(e));let i=e.contentDOM.ownerDocument;i.addEventListener("mousemove",this.move=this.move.bind(this)),i.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(Pe.allowMultipleSelections)&&function(e,t){let n=e.state.facet(jn);return n.length?n[0](t):Gt.mac?t.metaKey:t.ctrlKey}(e,t),this.dragging=!(!function(e,t){let{main:n}=e.state.selection;if(n.empty)return!1;let s=ot(e.root);if(!s||0==s.rangeCount)return!0;let i=s.getRangeAt(0).getClientRects();for(let e=0;e=t.clientX&&n.top<=t.clientY&&n.bottom>=t.clientY)return!0}return!1}(e,t)||1!=ci(t))&&null}start(e){!1===this.dragging&&this.select(e)}move(e){if(0==e.buttons)return this.destroy();if(this.dragging||null==this.dragging&&(t=this.startEvent,n=e,Math.max(Math.abs(t.clientX-n.clientX),Math.abs(t.clientY-n.clientY))<10))return;var t,n;this.select(this.lastEvent=e);let s=0,i=0,r=0,a=0,o=this.view.win.innerWidth,l=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:a,bottom:l}=this.scrollParents.y.getBoundingClientRect());let O=ms(this.view);e.clientX-O.left<=r+6?s=-Ls(r-e.clientX):e.clientX+O.right>=o-6&&(s=Ls(e.clientX-o)),e.clientY-O.top<=a+6?i=-Ls(a-e.clientY):e.clientY+O.bottom>=l-6&&(i=Ls(e.clientY-l)),this.setScrollSpeed(s,i)}up(e){null==this.dragging&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),!1===this.dragging&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let n=0;ne.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}const Ks=Object.create(null),Hs=Object.create(null),Js=Gt.ie&&Gt.ie_version<15||Gt.ios&&Gt.webkit_version<604;function ei(e,t,n){for(let s of e.facet(t))n=s(n,e);return n}function ti(e,t){t=ei(e.state,In,t);let n,{state:s}=e,i=1,r=s.toText(t),a=r.lines==s.selection.ranges.length;if(null!=ui&&s.selection.ranges.every(e=>e.empty)&&ui==r.toString()){let e=-1;n=s.changeByRange(n=>{let o=s.doc.lineAt(n.from);if(o.from==e)return{range:n};e=o.from;let l=s.toText((a?r.line(i++).text:t)+s.lineBreak);return{changes:{from:o.from,insert:l},range:Z.cursor(n.from+l.length)}})}else n=a?s.changeByRange(e=>{let t=r.line(i++);return{changes:{from:e.from,to:e.to,insert:t.text},range:Z.cursor(e.from+t.length)}}):s.replaceSelection(r);e.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}function ni(e,t,n,s){if(1==s)return Z.cursor(t,n);if(2==s)return function(e,t,n=1){let s=e.charCategorizer(t),i=e.doc.lineAt(t),r=t-i.from;if(0==i.length)return Z.cursor(t);0==r?n=1:r==i.length&&(n=-1);let a=r,o=r;n<0?a=X(i.text,r,!1):o=X(i.text,r);let l=s(i.text.slice(a,o));for(;a>0;){let e=X(i.text,a,!1);if(s(i.text.slice(e,a))!=l)break;a=e}for(;o{e.inputState.lastScrollTop=e.scrollDOM.scrollTop,e.inputState.lastScrollLeft=e.scrollDOM.scrollLeft},Ks.keydown=(e,t)=>(e.inputState.setSelectionOrigin("select"),27==t.keyCode&&0!=e.inputState.tabFocusMode&&(e.inputState.tabFocusMode=Date.now()+2e3),!1),Hs.touchstart=(e,t)=>{e.inputState.lastTouchTime=Date.now(),e.inputState.setSelectionOrigin("select.pointer")},Hs.touchmove=e=>{e.inputState.setSelectionOrigin("select.pointer")},Ks.mousedown=(e,t)=>{if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return!1;let n=null;for(let s of e.state.facet(Yn))if(n=s(e,t),n)break;if(n||0!=t.button||(n=function(e,t){let n=ri(e,t),s=ci(t),i=e.state.selection;return{update(e){e.docChanged&&(n.pos=e.changes.mapPos(n.pos),i=i.map(e.changes))},get(t,r,a){let o,l=ri(e,t),O=ni(e,l.pos,l.bias,s);if(n.pos!=l.pos&&!r){let t=ni(e,n.pos,n.bias,s),i=Math.min(t.from,O.from),r=Math.max(t.to,O.to);O=i1&&(o=function(e,t){for(let n=0;n=t)return Z.create(e.ranges.slice(0,n).concat(e.ranges.slice(n+1)),e.mainIndex==n?0:e.mainIndex-(e.mainIndex>n?1:0))}return null}(i,l.pos))?o:a?i.addRange(O):Z.create([O])}}}(e,t)),n){let s=!e.hasFocus;e.inputState.startMouseSelection(new Ns(e,t,n,s)),s&&e.observer.ignore(()=>{bt(e.contentDOM);let t=e.root.activeElement;t&&!t.contains(e.contentDOM)&&t.blur()});let i=e.inputState.mouseSelection;if(i)return i.start(t),!1===i.dragging}return!1};let si=(e,t,n)=>t>=n.top&&t<=n.bottom&&e>=n.left&&e<=n.right;function ii(e,t,n,s){let i=mn.find(e.docView,t);if(!i)return 1;let r=t-i.posAtStart;if(0==r)return 1;if(r==i.length)return-1;let a=i.coordsAt(r,-1);if(a&&si(n,s,a))return-1;let o=i.coordsAt(r,1);return o&&si(n,s,o)?1:a&&a.bottom>=s?-1:1}function ri(e,t){let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1);return{pos:n,bias:ii(e,n,t.clientX,t.clientY)}}const ai=Gt.ie&&Gt.ie_version<=11;let oi=null,li=0,Oi=0;function ci(e){if(!ai)return e.detail;let t=oi,n=Oi;return oi=e,Oi=Date.now(),li=!t||n>Date.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(li+1)%3:1}function hi(e,t,n,s){if(!(n=ei(e.state,In,n)))return;let i=e.posAtCoords({x:t.clientX,y:t.clientY},!1),{draggedContent:r}=e.inputState,a=s&&r&&function(e,t){let n=e.state.facet(zn);return n.length?n[0](t):Gt.mac?!t.altKey:!t.ctrlKey}(e,t)?{from:r.from,to:r.to}:null,o={from:i,insert:n},l=e.state.changes(a?[a,o]:o);e.focus(),e.dispatch({changes:l,selection:{anchor:l.mapPos(i,-1),head:l.mapPos(i,1)},userEvent:a?"move.drop":"input.drop"}),e.inputState.draggedContent=null}Ks.dragstart=(e,t)=>{let{selection:{main:n}}=e.state;if(t.target.draggable){let s=e.docView.nearest(t.target);if(s&&s.isWidget){let e=s.posAtStart,t=e+s.length;(e>=n.to||t<=n.from)&&(n=Z.range(e,t))}}let{inputState:s}=e;return s.mouseSelection&&(s.mouseSelection.dragging=!0),s.draggedContent=n,t.dataTransfer&&(t.dataTransfer.setData("Text",ei(e.state,Ln,e.state.sliceDoc(n.from,n.to))),t.dataTransfer.effectAllowed="copyMove"),!1},Ks.dragend=e=>(e.inputState.draggedContent=null,!1),Ks.drop=(e,t)=>{if(!t.dataTransfer)return!1;if(e.state.readOnly)return!0;let n=t.dataTransfer.files;if(n&&n.length){let s=Array(n.length),i=0,r=()=>{++i==n.length&&hi(e,t,s.filter(e=>null!=e).join(e.state.lineBreak),!1)};for(let e=0;e{/[\x00-\x08\x0e-\x1f]{2}/.test(t.result)||(s[e]=t.result),r()},t.readAsText(n[e])}return!0}{let n=t.dataTransfer.getData("Text");if(n)return hi(e,t,n,!0),!0}return!1},Ks.paste=(e,t)=>{if(e.state.readOnly)return!0;e.observer.flush();let n=Js?null:t.clipboardData;return n?(ti(e,n.getData("text/plain")||n.getData("text/uri-list")),!0):(function(e){let t=e.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.focus(),setTimeout(()=>{e.focus(),n.remove(),ti(e,n.value)},50)}(e),!1)};let ui=null;Ks.copy=Ks.cut=(e,t)=>{let{text:n,ranges:s,linewise:i}=function(e){let t=[],n=[],s=!1;for(let s of e.selection.ranges)s.empty||(t.push(e.sliceDoc(s.from,s.to)),n.push(s));if(!t.length){let i=-1;for(let{from:s}of e.selection.ranges){let r=e.doc.lineAt(s);r.number>i&&(t.push(r.text),n.push({from:r.from,to:Math.min(e.doc.length,r.to+1)})),i=r.number}s=!0}return{text:ei(e,Ln,t.join(e.lineBreak)),ranges:n,linewise:s}}(e.state);if(!n&&!i)return!1;ui=i?n:null,"cut"!=t.type||e.state.readOnly||e.dispatch({changes:s,scrollIntoView:!0,userEvent:"delete.cut"});let r=Js?null:t.clipboardData;return r?(r.clearData(),r.setData("text/plain",n),!0):(function(e,t){let n=e.dom.parentNode;if(!n)return;let s=n.appendChild(document.createElement("textarea"));s.style.cssText="position: fixed; left: -10000px; top: 10px",s.value=t,s.focus(),s.selectionEnd=t.length,s.selectionStart=0,setTimeout(()=>{s.remove(),e.focus()},50)}(e,n),!1)};const di=ue.define();function fi(e,t){let n=[];for(let s of e.facet(Gn)){let i=s(e,t);i&&n.push(i)}return n.length?e.update({effects:n,annotations:di.of(!0)}):null}function pi(e){setTimeout(()=>{let t=e.hasFocus;if(t!=e.inputState.notifiedFocused){let n=fi(e.state,t);n?e.dispatch(n):e.update([])}},10)}Hs.focus=e=>{e.inputState.lastFocusTime=Date.now(),e.scrollDOM.scrollTop||!e.inputState.lastScrollTop&&!e.inputState.lastScrollLeft||(e.scrollDOM.scrollTop=e.inputState.lastScrollTop,e.scrollDOM.scrollLeft=e.inputState.lastScrollLeft),pi(e)},Hs.blur=e=>{e.observer.clearSelectionRange(),pi(e)},Hs.compositionstart=Hs.compositionupdate=e=>{e.observer.editContext||(null==e.inputState.compositionFirstChange&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0))},Hs.compositionend=e=>{e.observer.editContext||(e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),e.inputState.compositionPendingKey=!0,e.inputState.compositionPendingChange=e.observer.pendingRecords().length>0,e.inputState.compositionFirstChange=null,Gt.chrome&&Gt.android?e.observer.flushSoon():e.inputState.compositionPendingChange?Promise.resolve().then(()=>e.observer.flush()):setTimeout(()=>{e.inputState.composing<0&&e.docView.hasComposition&&e.update([])},50))},Hs.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()},Ks.beforeinput=(e,t)=>{var n,s;if("insertReplacementText"==t.inputType&&e.observer.editContext){let s=null===(n=t.dataTransfer)||void 0===n?void 0:n.getData("text/plain"),i=t.getTargetRanges();if(s&&i.length){let t=i[0],n=e.posAtDOM(t.startContainer,t.startOffset),r=e.posAtDOM(t.endContainer,t.endOffset);return zs(e,{from:n,to:r,insert:e.state.toText(s)},null),!0}}let i;if(Gt.chrome&&Gt.android&&(i=Ms.find(e=>e.inputType==t.inputType))&&(e.observer.delayAndroidKey(i.key,i.keyCode),"Backspace"==i.key||"Delete"==i.key)){let t=(null===(s=window.visualViewport)||void 0===s?void 0:s.height)||0;setTimeout(()=>{var n;((null===(n=window.visualViewport)||void 0===n?void 0:n.height)||0)>t+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())},100)}return Gt.ios&&"deleteContentForward"==t.inputType&&e.observer.flushSoon(),Gt.safari&&"insertText"==t.inputType&&e.inputState.composing>=0&&setTimeout(()=>Hs.compositionend(e,t),20),!1};const mi=new Set;const gi=["pre-wrap","normal","pre-line","break-spaces"];let Qi=!1;function $i(){Qi=!1}class xi{constructor(e){this.lineWrapping=e,this.doc=h.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){if(!this.lineWrapping)return this.lineHeight;return(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return gi.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n-1,o=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=n,this.textHeight=s,this.lineLength=i,o){this.heightSamples={};for(let e=0;e0}set outdated(e){this.flags=(e?2:0)|-3&this.flags}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>Si&&(Qi=!0),this.height=e)}replace(e,t,n){return vi.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,s){let i=this,r=n.doc;for(let a=s.length-1;a>=0;a--){let{fromA:o,toA:l,fromB:O,toB:c}=s[a],h=i.lineAt(o,yi.ByPosNoHeight,n.setDoc(t),0,0),u=h.to>=l?h:i.lineAt(l,yi.ByPosNoHeight,n,0,0);for(c+=u.to-l,l=u.to;a>0&&h.from<=s[a-1].toA;)o=s[a-1].fromA,O=s[a-1].fromB,a--,o2*i){let i=e[t-1];i.break?e.splice(--t,1,i.left,null,i.right):e.splice(--t,1,i.left,i.right),n+=1+i.break,s-=i.size}else{if(!(i>2*s))break;{let t=e[n];t.break?e.splice(n,1,t.left,null,t.right):e.splice(n,1,t.left,t.right),n+=2+t.break,i-=t.size}}else if(s=i&&r(this.blockAt(0,n,s,i))}updateHeight(e,t=0,n=!1,s){return s&&s.from<=t&&s.more&&this.setHeight(s.heights[s.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class ki extends Pi{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,n,s){return new bi(s,this.length,n,this.height,this.breaks)}replace(e,t,n){let s=n[0];return 1==n.length&&(s instanceof ki||s instanceof _i&&4&s.flags)&&Math.abs(this.length-s.length)<10?(s instanceof _i?s=new ki(s.length,this.height):s.height=this.height,this.outdated||(s.outdated=!1),s):vi.of(n)}updateHeight(e,t=0,n=!1,s){return s&&s.from<=t&&s.more?this.setHeight(s.heights[s.index++]):(n||this.outdated)&&this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class _i extends vi{constructor(e){super(e,0)}heightMetrics(e,t){let n,s=e.doc.lineAt(t).number,i=e.doc.lineAt(t+this.length).number,r=i-s+1,a=0;if(e.lineWrapping){let t=Math.min(this.height,e.lineHeight*r);n=t/r,this.length>r+1&&(a=(this.height-t)/(this.length-r-1))}else n=this.height/r;return{firstLine:s,lastLine:i,perLine:n,perChar:a}}blockAt(e,t,n,s){let{firstLine:i,lastLine:r,perLine:a,perChar:o}=this.heightMetrics(t,s);if(t.lineWrapping){let i=s+(e0){let e=n[n.length-1];e instanceof _i?n[n.length-1]=new _i(e.length+s):n.push(null,new _i(s-1))}if(e>0){let t=n[0];t instanceof _i?n[0]=new _i(e+t.length):n.unshift(new _i(e-1),null)}return vi.of(n)}decomposeLeft(e,t){t.push(new _i(e-1),null)}decomposeRight(e,t){t.push(null,new _i(this.length-e-1))}updateHeight(e,t=0,n=!1,s){let i=t+this.length;if(s&&s.from<=t+this.length&&s.more){let n=[],r=Math.max(t,s.from),a=-1;for(s.from>t&&n.push(new _i(s.from-t-1).updateHeight(e,t));r<=i&&s.more;){let t=e.doc.lineAt(r).length;n.length&&n.push(null);let i=s.heights[s.index++];-1==a?a=i:Math.abs(i-a)>=Si&&(a=-2);let o=new ki(t,i);o.outdated=!1,n.push(o),r+=t+1}r<=i&&n.push(null,new _i(i-r).updateHeight(e,r));let o=vi.of(n);return(a<0||Math.abs(o.height-this.height)>=Si||Math.abs(a-this.heightMetrics(e,t).perLine)>=Si)&&(Qi=!0),wi(this,o)}return(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class Di extends vi{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return 1&this.flags}blockAt(e,t,n,s){let i=n+this.left.height;return ea))return l;let O=t==yi.ByPosNoHeight?yi.ByPosNoHeight:yi.ByPos;return o?l.join(this.right.lineAt(a,O,n,r,a)):this.left.lineAt(a,O,n,s,i).join(l)}forEachLine(e,t,n,s,i,r){let a=s+this.left.height,o=i+this.left.length+this.break;if(this.break)e=o&&this.right.forEachLine(e,t,n,a,o,r);else{let l=this.lineAt(o,yi.ByPos,n,s,i);e=e&&l.from<=t&&r(l),t>l.to&&this.right.forEachLine(l.to+1,t,n,a,o,r)}}replace(e,t,n){let s=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-s,t-s,n));let i=[];e>0&&this.decomposeLeft(e,i);let r=i.length;for(let e of n)i.push(e);if(e>0&&Ti(i,r-1),t=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,s=n+this.break;if(e>=s)return this.right.decomposeRight(e-s,t);e2*t.size||t.size>2*e.size?vi.of(this.break?[e,null,t]:[e,t]):(this.left=wi(this.left,e),this.right=wi(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,s){let{left:i,right:r}=this,a=t+i.length+this.break,o=null;return s&&s.from<=t+i.length&&s.more?o=i=i.updateHeight(e,t,n,s):i.updateHeight(e,t,n),s&&s.from<=a+r.length&&s.more?o=r=r.updateHeight(e,a,n,s):r.updateHeight(e,a,n),o?this.balanced(i,r):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function Ti(e,t){let n,s;null==e[t]&&(n=e[t-1])instanceof _i&&(s=e[t+1])instanceof _i&&e.splice(t-1,3,new _i(n.length+1+s.length))}class Wi{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let e=Math.min(t,this.lineEnd),n=this.nodes[this.nodes.length-1];n instanceof ki?n.length+=e-this.pos:(e>this.pos||!this.isCovered)&&this.nodes.push(new ki(e-this.pos,-1)),this.writtenTo=e,t>e&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e=5)&&this.addLineDeco(s,i,r)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new ki(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let n=new _i(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof ki)return e;let t=new ki(0,-1);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let s=this.ensureLine();s.length+=n,s.collapsed+=n,s.widgetHeight=Math.max(s.widgetHeight,e),s.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||t instanceof ki||this.isCovered?(this.writtenTon.clientHeight||n.scrollWidth>n.clientWidth)&&"visible"!=s.overflow){let s=n.getBoundingClientRect();r=Math.max(r,s.left),a=Math.min(a,s.right),o=Math.max(o,s.top),l=Math.min(t==e.parentNode?i.innerHeight:l,s.bottom)}t="absolute"==s.position||"fixed"==s.position?n.offsetParent:n.parentNode}else{if(11!=t.nodeType)break;t=t.host}return{left:r-n.left,right:Math.max(r,a)-n.left,top:o-(n.top+t),bottom:Math.max(o,l)-(n.top+t)}}function Fi(e,t){let n=e.getBoundingClientRect();return{left:0,right:n.right-n.left,top:t,bottom:n.bottom-(n.top+t)}}class Zi{constructor(e,t,n,s){this.from=e,this.to=t,this.size=n,this.displaySize=s}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;n"function"!=typeof e&&"cm-lineWrapping"==e.class);this.heightOracle=new xi(t),this.stateDeco=e.facet(cs).filter(e=>"function"!=typeof e),this.heightMap=vi.empty().applyChanges(this.stateDeco,h.empty,this.heightOracle.setDoc(e.doc),[new Qs(0,0,0,e.doc.length)]);for(let e=0;e<2&&(this.viewport=this.getViewport(0,null),this.updateForViewport());e++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=cn.set(this.lineGaps.map(e=>e.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let s=n?t.head:t.anchor;if(!e.some(({from:e,to:t})=>s>=e&&s<=t)){let{from:t,to:n}=this.lineBlockAt(s);e.push(new Ri(t,n))}}return this.viewports=e.sort((e,t)=>e.from-t.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?zi:new Yi(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Ui(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=this.state.facet(cs).filter(e=>"function"!=typeof e);let s=e.changedRanges,i=Qs.extendWithRanges(s,function(e,t,n){let s=new qi;return qe.compare(e,t,n,s,0),s.changes}(n,this.stateDeco,e?e.changes:k.empty(this.state.doc.length))),r=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);$i(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),i),(this.heightMap.height!=r||Qi)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=r);let o=i.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.heado.to)||!this.viewportIsAppropriate(o))&&(o=this.getViewport(0,t));let l=o.from!=this.viewport.from||o.to!=this.viewport.to;this.viewport=o,e.flags|=this.updateForViewport(),(l||!e.changes.empty||2&e.flags)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(Kn)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,n=window.getComputedStyle(t),s=this.heightOracle,i=n.whiteSpace;this.defaultTextDirection="rtl"==n.direction?bn.RTL:bn.LTR;let r=this.heightOracle.mustRefreshForWrapping(i),a=t.getBoundingClientRect(),o=r||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let l=0,O=0;if(a.width&&a.height){let{scaleX:e,scaleY:n}=Qt(t,a);(e>.005&&Math.abs(this.scaleX-e)>.005||n>.005&&Math.abs(this.scaleY-n)>.005)&&(this.scaleX=e,this.scaleY=n,l|=16,r=o=!0)}let c=(parseInt(n.paddingTop)||0)*this.scaleY,u=(parseInt(n.paddingBottom)||0)*this.scaleY;this.paddingTop==c&&this.paddingBottom==u||(this.paddingTop=c,this.paddingBottom=u,l|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(s.lineWrapping&&(o=!0),this.editorWidth=e.scrollDOM.clientWidth,l|=16);let d=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=d&&(this.scrollAnchorHeight=-1,this.scrollTop=d),this.scrolledToBottom=wt(e.scrollDOM);let f=(this.printing?Fi:Ci)(t,this.paddingTop),p=f.top-this.pixelViewport.top,m=f.bottom-this.pixelViewport.bottom;this.pixelViewport=f;let g=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(g!=this.inView&&(this.inView=g,g&&(o=!0)),!this.inView&&!this.scrollTarget&&!function(e){let t=e.getBoundingClientRect(),n=e.ownerDocument.defaultView||window;return t.left0&&t.top0}(e.dom))return 0;let Q=a.width;if(this.contentDOMWidth==Q&&this.editorHeight==e.scrollDOM.clientHeight||(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,l|=16),o){let t=e.docView.measureVisibleLineHeights(this.viewport);if(s.mustRefreshForHeights(t)&&(r=!0),r||s.lineWrapping&&Math.abs(Q-this.contentDOMWidth)>s.charWidth){let{lineHeight:n,charWidth:a,textHeight:o}=e.docView.measureTextSize();r=n>0&&s.refresh(i,n,a,o,Math.max(5,Q/a),t),r&&(e.docView.minWidth=0,l|=16)}p>0&&m>0?O=Math.max(p,m):p<0&&m<0&&(O=Math.min(p,m)),$i();for(let n of this.viewports){let i=n.from==this.viewport.from?t:e.docView.measureVisibleLineHeights(n);this.heightMap=(r?vi.empty().applyChanges(this.stateDeco,h.empty,this.heightOracle,[new Qs(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(s,0,r,new Xi(n.from,i))}Qi&&(l|=2)}let $=!this.viewportIsAppropriate(this.viewport,O)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return $&&(2&l&&(l|=this.updateScaler()),this.viewport=this.getViewport(O,this.scrollTarget),l|=this.updateForViewport()),(2&l||$)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(r?[]:this.lineGaps,e)),l|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),l}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),s=this.heightMap,i=this.heightOracle,{visibleTop:r,visibleBottom:a}=this,o=new Ri(s.lineAt(r-1e3*n,yi.ByHeight,i,0,0).from,s.lineAt(a+1e3*(1-n),yi.ByHeight,i,0,0).to);if(t){let{head:e}=t.range;if(eo.to){let n,r=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),a=s.lineAt(e,yi.ByPos,i,0,0);n="center"==t.y?(a.top+a.bottom)/2-r/2:"start"==t.y||"nearest"==t.y&&e=a+Math.max(10,Math.min(n,250)))&&s>r-2e3&&i>1,r=s<<1;if(this.defaultTextDirection!=bn.LTR&&!n)return[];let a=[],o=(s,r,l,O)=>{if(r-ss&&ee.from>=l.from&&e.to<=l.to&&Math.abs(e.from-s)e.fromt));if(!u){if(re.from<=r&&e.to>=r)){let e=t.moveToLineBoundary(Z.cursor(r),!1,!0).head;e>s&&(r=e)}let e=this.gapSize(l,s,r,O);u=new Zi(s,r,e,n||e<2e6?e:2e6)}a.push(u)},l=t=>{if(t.lengthi&&(s.push({from:i,to:e}),r+=e-i),i=t}},20),i2e6)for(let n of e)n.from>=t.from&&n.fromt.from&&o(t.from,a,t,i),le.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];qe.spans(t,this.viewport.from,this.viewport.to,{span(e,t){n.push({from:e,to:t})},point(){}},20);let s=0;if(n.length!=this.visibleRanges.length)s=12;else for(let t=0;t=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Ui(this.heightMap.lineAt(e,yi.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Ui(this.heightMap.lineAt(this.scaler.fromDOM(e),yi.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Ui(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class Ri{constructor(e,t){this.from=e,this.to=t}}function Ai({total:e,ranges:t},n){if(n<=0)return t[0].from;if(n>=1)return t[t.length-1].to;let s=Math.floor(e*n);for(let e=0;;e++){let{from:n,to:i}=t[e],r=i-n;if(s<=r)return n+s;s-=r}}function ji(e,t){let n=0;for(let{from:s,to:i}of e.ranges){if(t<=i){n+=t-s;break}n+=i-s}return n/e.total}const zi={toDOM:e=>e,fromDOM:e=>e,scale:1,eq(e){return e==this}};class Yi{constructor(e,t,n){let s=0,i=0,r=0;this.viewports=n.map(({from:n,to:i})=>{let r=t.lineAt(n,yi.ByPos,e,0,0).top,a=t.lineAt(i,yi.ByPos,e,0,0).bottom;return s+=a-r,{from:n,to:i,top:r,bottom:a,domTop:0,domBottom:0}}),this.scale=(7e6-s)/(t.height-s);for(let e of this.viewports)e.domTop=r+(e.top-i)*this.scale,r=e.domBottom=e.domTop+(e.bottom-e.top),i=e.bottom}toDOM(e){for(let t=0,n=0,s=0;;t++){let i=tt.from==e.viewports[n].from&&t.to==e.viewports[n].to))}}function Ui(e,t){if(1==t.scale)return e;let n=t.toDOM(e.top),s=t.toDOM(e.bottom);return new bi(e.from,e.length,n,s-n,Array.isArray(e._content)?e._content.map(e=>Ui(e,t)):e._content)}const Bi=R.define({combine:e=>e.join(" ")}),Mi=R.define({combine:e=>e.indexOf(!0)>-1}),Gi=Ne.newName(),Ii=Ne.newName(),Li=Ne.newName(),Ni={"&light":"."+Ii,"&dark":"."+Li};function Ki(e,t,n){return new Ne(t,{finish:t=>/&/.test(t)?t.replace(/&\w*/,t=>{if("&"==t)return e;if(!n||!n[t])throw new RangeError(`Unsupported selector: ${t}`);return n[t]}):e+" "+t})}const Hi=Ki("."+Gi,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:'url(\'data:image/svg+xml,\')',backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Ni),Ji={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},er=Gt.ie&&Gt.ie_version<=11;class tr{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new $t,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let e of t)this.queue.push(e);(Gt.ie&&Gt.ie_version<=11||Gt.ios&&e.composing)&&t.some(e=>"childList"==e.type&&e.removedNodes.length||"characterData"==e.type&&e.oldValue.length>e.target.nodeValue.length)?this.flushSoon():this.flush()}),!window.EditContext||!Gt.android||!1===e.constructor.EDIT_CONTEXT||Gt.chrome&&Gt.chrome_version<126||(this.editContext=new ir(e),e.state.facet(ss)&&(e.contentDOM.editContext=this.editContext.editContext)),er&&(this.onCharData=e=>{this.queue.push({target:e.target,type:"characterData",oldValue:e.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver(()=>{var e;(null===(e=this.view.docView)||void 0===e?void 0:e.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),e.length>0&&e[e.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(e=>{e.length>0&&e[e.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){("change"!=e.type&&e.type||e.matches)&&(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,s=this.selectionRange;if(n.state.facet(ss)?n.root.activeElement!=this.dom:!Ot(this.dom,s))return;let i=s.anchorNode&&n.docView.nearest(s.anchorNode);i&&i.ignoreEvent(e)?t||(this.selectionChanged=!1):(Gt.ie&&Gt.ie_version<=11||Gt.android&&Gt.chrome)&&!n.state.selection.main.empty&&s.focusNode&&ht(s.focusNode,s.focusOffset,s.anchorNode,s.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=ot(e.root);if(!t)return!1;let n=Gt.safari&&11==e.root.nodeType&&e.root.activeElement==this.dom&&function(e,t){if(t.getComposedRanges){let n=t.getComposedRanges(e.root)[0];if(n)return sr(e,n)}let n=null;function s(e){e.preventDefault(),e.stopImmediatePropagation(),n=e.getTargetRanges()[0]}return e.contentDOM.addEventListener("beforeinput",s,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",s,!0),n?sr(e,n):null}(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let s=Ot(this.dom,n);return s&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let e=this.delayedAndroidKey;if(e){this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=e.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&e.force&&St(this.dom,e.key,e.keyCode)}};this.flushingAndroidKey=this.view.win.requestAnimationFrame(e)}this.delayedAndroidKey&&"Enter"!=e||(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,s=!1;for(let i of e){let e=this.readMutation(i);e&&(e.typeOver&&(s=!0),-1==t?({from:t,to:n}=e):(t=Math.min(e.from,t),n=Math.max(e.to,n)))}return{from:t,to:n,typeOver:s}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),s=this.selectionChanged&&Ot(this.dom,this.selectionRange);if(e<0&&!s)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let i=new As(this.view,e,t,n);return this.view.docView.domChanged={newSel:i.newSel?i.newSel.main:null},i}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,s=js(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!t.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),s}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty("attributes"==e.type),"attributes"==e.type&&(t.flags|=4),"childList"==e.type){let n=nr(t,e.previousSibling||e.target.previousSibling,-1),s=nr(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:s?t.posBefore(s):t.posAtEnd,typeOver:!1}}return"characterData"==e.type?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(ss)!=e.state.facet(ss)&&(e.view.contentDOM.editContext=e.state.facet(ss)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),null===(e=this.intersection)||void 0===e||e.disconnect(),null===(t=this.gapIntersection)||void 0===t||t.disconnect(),null===(n=this.resizeScroll)||void 0===n||n.disconnect();for(let e of this.scrollTargets)e.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function nr(e,t,n){for(;t;){let s=Tt.get(t);if(s&&s.parent==e)return s;let i=t.parentNode;t=i!=e.dom?i:n>0?t.nextSibling:t.previousSibling}return null}function sr(e,t){let n=t.startContainer,s=t.startOffset,i=t.endContainer,r=t.endOffset,a=e.docView.domAtPos(e.state.selection.main.anchor);return ht(a.node,a.offset,i,r)&&([n,s,i,r]=[i,r,n,s]),{anchorNode:n,anchorOffset:s,focusNode:i,focusOffset:r}}class ir{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=t=>{let n=e.state.selection.main,{anchor:s,head:i}=n,r=this.toEditorPos(t.updateRangeStart),a=this.toEditorPos(t.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:t.updateRangeStart,editorBase:r,drifted:!1});let o={from:r,to:a,insert:h.of(t.text.split("\n"))};if(o.from==this.from&&sthis.to&&(o.to=s),o.from==o.to&&!o.insert.length){let s=Z.single(this.toEditorPos(t.selectionStart),this.toEditorPos(t.selectionEnd));return void(s.main.eq(n)||e.dispatch({selection:s,userEvent:"select"}))}if((Gt.mac||Gt.android)&&o.from==i-1&&/^\. ?$/.test(t.text)&&"off"==e.contentDOM.getAttribute("autocorrect")&&(o={from:r,to:a,insert:h.of([t.text.replace("."," ")])}),this.pendingContextChange=o,!e.state.readOnly){let n=this.to-this.from+(o.to-o.from+o.insert.length);zs(e,o,Z.single(this.toEditorPos(t.selectionStart,n),this.toEditorPos(t.selectionEnd,n)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state))},this.handlers.characterboundsupdate=n=>{let s=[],i=null;for(let t=this.toEditorPos(n.rangeStart),r=this.toEditorPos(n.rangeEnd);t{let n=[];for(let e of t.getTextFormats()){let t=e.underlineStyle,s=e.underlineThickness;if("None"!=t&&"None"!=s){let i=this.toEditorPos(e.rangeStart),r=this.toEditorPos(e.rangeEnd);if(i{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:t}=this.composing;this.composing=null,t&&this.reset(e.state)}};for(let e in this.handlers)t.addEventListener(e,this.handlers[e]);this.measureReq={read:e=>{this.editContext.updateControlBounds(e.contentDOM.getBoundingClientRect());let t=ot(e.root);t&&t.rangeCount&&this.editContext.updateSelectionBounds(t.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,s=this.pendingContextChange;return e.changes.iterChanges((i,r,a,o,l)=>{if(n)return;let O=l.length-(r-i);if(s&&r>=s.to){if(s.from==i&&s.to==r&&s.insert.eq(l))return s=this.pendingContextChange=null,t+=O,void(this.to+=O);s=null,this.revertPending(e.state)}if(i+=t,(r+=t)<=this.from)this.from+=O,this.to+=O;else if(ithis.to||this.to-this.from+l.length>3e4)return void(n=!0);this.editContext.updateText(this.toContextPos(i),this.toContextPos(r),l.toString()),this.to+=O}t+=O}),s&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(e=>!e.isUserEvent("input.type")&&e.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):this.applyEdits(e)&&this.rangeIsValid(e.state)?(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state):(this.pendingContextChange=null,this.reset(e.state)),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),s=this.toContextPos(t.head);this.editContext.selectionStart==n&&this.editContext.selectionEnd==s||this.editContext.updateSelection(n,s)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to3e4)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class rr{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(e=>e.forEach(e=>n(e,this)))||(e=>this.update(e)),this.dispatch=this.dispatch.bind(this),this._root=e.root||function(e){for(;e;){if(e&&(9==e.nodeType||11==e.nodeType&&e.host))return e;e=e.assignedSlot||e.parentNode}return null}(e.parent)||document,this.viewState=new Vi(e.state||Pe.create(e)),e.scrollTo&&e.scrollTo.is(es)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(rs).map(e=>new os(e));for(let e of this.plugins)e.update(this);this.observer=new tr(this),this.inputState=new Ys(this),this.inputState.ensureHandlers(this.plugins),this.docView=new xs(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),(null===(t=document.fonts)||void 0===t?void 0:t.ready)&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let t=1==e.length&&e[0]instanceof me?e:1==e.length&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(0!=this.updateState)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t,n=!1,s=!1,i=this.state;for(let t of e){if(t.startState!=i)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");i=t.state}if(this.destroyed)return void(this.viewState.state=i);let r=this.hasFocus,a=0,o=null;e.some(e=>e.annotation(di))?(this.inputState.notifiedFocused=r,a=1):r!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=r,o=fi(i,r),o||(a=1));let l=this.observer.delayedAndroidKey,O=null;if(l?(this.observer.clearDelayedAndroidKey(),O=this.observer.readChange(),(O&&!this.state.doc.eq(i.doc)||!this.state.selection.eq(i.selection))&&(O=null)):this.observer.clear(),i.facet(Pe.phrases)!=this.state.facet(Pe.phrases))return this.setState(i);t=$s.create(this,i,e),t.flags|=a;let c=this.viewState.scrollTarget;try{this.updateState=2;for(let t of e){if(c&&(c=c.map(t.changes)),t.scrollIntoView){let{main:e}=t.state.selection;c=new Jn(e.empty?e:Z.cursor(e.head,e.head>e.anchor?-1:1))}for(let e of t.effects)e.is(es)&&(c=e.value.clip(this.state))}this.viewState.update(t,c),this.bidiCache=lr.update(this.bidiCache,t.changes),t.empty||(this.updatePlugins(t),this.inputState.update(t)),n=this.docView.update(t),this.state.facet(gs)!=this.styleModules&&this.mountStyles(),s=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(n,e.some(e=>e.isUserEvent("select.pointer")))}finally{this.updateState=0}if(t.startState.facet(Bi)!=t.state.facet(Bi)&&(this.viewState.mustMeasureContent=!0),(n||s||c||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),n&&this.docViewUpdate(),!t.empty)for(let e of this.state.facet(Bn))try{e(t)}catch(e){ns(this.state,e,"update listener")}(o||O)&&Promise.resolve().then(()=>{o&&this.state==o.startState&&this.dispatch(o),O&&!js(this,O)&&l.force&&St(this.contentDOM,l.key,l.keyCode)})}setState(e){if(0!=this.updateState)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed)return void(this.viewState.state=e);this.updateState=2;let t=this.hasFocus;try{for(let e of this.plugins)e.destroy(this);this.viewState=new Vi(e),this.plugins=e.facet(rs).map(e=>new os(e)),this.pluginMap.clear();for(let e of this.plugins)e.update(this);this.docView.destroy(),this.docView=new xs(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(rs),n=e.state.facet(rs);if(t!=n){let s=[];for(let i of n){let n=t.indexOf(i);if(n<0)s.push(new os(i));else{let t=this.plugins[n];t.mustUpdate=e,s.push(t)}}for(let t of this.plugins)t.mustUpdate!=e&&t.destroy(this);this.plugins=s,this.pluginMap.clear()}else for(let t of this.plugins)t.mustUpdate=e;for(let e=0;e-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey)return this.measureScheduled=-1,void this.requestMeasure();this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.scrollDOM,s=n.scrollTop*this.scaleY,{scrollAnchorPos:i,scrollAnchorHeight:r}=this.viewState;Math.abs(s-this.viewState.scrollTop)>1&&(r=-1),this.viewState.scrollAnchorHeight=-1;try{for(let e=0;;e++){if(r<0)if(wt(n))i=-1,r=this.viewState.heightMap.height;else{let e=this.viewState.scrollAnchorAt(s);i=e.from,r=e.top}this.updateState=1;let a=this.viewState.measure(this);if(!a&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(e>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let o=[];4&a||([this.measureRequests,o]=[o,this.measureRequests]);let l=o.map(e=>{try{return e.read(this)}catch(e){return ns(this.state,e),or}}),O=$s.create(this,this.state,[]),c=!1;O.flags|=a,t?t.flags|=a:t=O,this.updateState=2,O.empty||(this.updatePlugins(O),this.inputState.update(O),this.updateAttrs(),c=this.docView.update(O),c&&this.docViewUpdate());for(let e=0;e1||e<-1){s+=e,n.scrollTop=s/this.scaleY,r=-1;continue}}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let e of this.state.facet(Bn))e(t)}get themeClasses(){return Gi+" "+(this.state.facet(Mi)?Li:Ii)+" "+this.state.facet(Bi)}updateAttrs(){let e=Or(this,ls,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(ss)?"true":"false",class:"cm-content",style:`${Gt.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Or(this,Os,t);let n=this.observer.ignore(()=>{let n=an(this.contentDOM,this.contentAttrs,t),s=an(this.dom,this.editorAttrs,e);return n||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let e of n.effects)if(e.is(rr.announce)){t&&(this.announceDOM.textContent=""),t=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=e.value}}mountStyles(){this.styleModules=this.state.facet(gs);let e=this.state.facet(rr.cspNonce);Ne.mount(this.root,this.styleModules.concat(Hi).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(2==this.updateState)throw new Error("Reading the editor layout isn't allowed during an update");0==this.updateState&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(null!=e.key)for(let t=0;tt.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return Fs(this,e,qs(this,e,t,n))}moveByGroup(e,t){return Fs(this,e,qs(this,e,t,t=>function(e,t,n){let s=e.state.charCategorizer(t),i=s(n);return e=>{let t=s(e);return i==ye.Space&&(i=t),i==t}}(this,e.head,t)))}visualLineSide(e,t){let n=this.bidiSpans(e),s=this.textDirectionAt(e.from),i=n[t?n.length-1:0];return Z.cursor(i.side(t,s)+e.from,i.forward(!t,s)?1:-1)}moveToLineBoundary(e,t,n=!0){return function(e,t,n,s){let i=Ws(e,t.head,t.assoc||-1),r=s&&i.type==On.Text&&(e.lineWrapping||i.widgetLineBreaks)?e.coordsAtPos(t.assoc<0&&t.head>i.from?t.head-1:t.head):null;if(r){let t=e.dom.getBoundingClientRect(),s=e.textDirectionAt(i.from),a=e.posAtCoords({x:n==(s==bn.LTR)?t.right-1:t.left+1,y:(r.top+r.bottom)/2});if(null!=a)return Z.cursor(a,n?-1:1)}return Z.cursor(n?i.to:i.from,n?-1:1)}(this,e,t,n)}moveVertically(e,t,n){return Fs(this,e,function(e,t,n,s){let i=t.head,r=n?1:-1;if(i==(n?e.state.doc.length:0))return Z.cursor(i,t.assoc);let a,o=t.goalColumn,l=e.contentDOM.getBoundingClientRect(),O=e.coordsAtPos(i,t.assoc||-1),c=e.documentTop;if(O)null==o&&(o=O.left-l.left),a=r<0?O.top:O.bottom;else{let t=e.viewState.lineBlockAt(i);null==o&&(o=Math.min(l.right-l.left,e.defaultCharacterWidth*(i-t.from))),a=(r<0?t.top:t.bottom)+c}let h=l.left+o,u=null!=s?s:e.viewState.heightOracle.textHeight>>1;for(let t=0;;t+=10){let n=a+(u+t)*r,s=Ds(e,{x:h,y:n},!1,r);if(nl.bottom||(r<0?si)){let t=e.docView.coordsForChar(s),i=!t||n0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(Nn)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>ar)return En(e.length);let t,n=this.textDirectionAt(e.from);for(let s of this.bidiCache)if(s.from==e.from&&s.dir==n&&(s.fresh||qn(s.isolates,t=fs(this,e))))return s.order;t||(t=fs(this,e));let s=function(e,t,n){if(!e)return[new Wn(0,0,t==Sn?1:0)];if(t==yn&&!n.length&&!Tn.test(e))return En(e.length);if(n.length)for(;e.length>Cn.length;)Cn[Cn.length]=256;let s=[],i=t==yn?0:1;return Zn(e,i,i,n,0,e.length,s),s}(e.text,n,t);return this.bidiCache.push(new lr(e.from,e.to,n,t,!0,s)),s}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||Gt.safari&&(null===(e=this.inputState)||void 0===e?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{bt(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((9==e.nodeType?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return es.of(new Jn("number"==typeof e?Z.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return es.of(new Jn(Z.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){null==e?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:"boolean"==typeof e?this.inputState.tabFocusMode=e?0:-1:0!=this.inputState.tabFocusMode&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return as.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return as.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=Ne.newName(),s=[Bi.of(n),gs.of(Ki(`.${n}`,e))];return t&&t.dark&&s.push(Mi.of(!0)),s}static baseTheme(e){return H.lowest(gs.of(Ki("."+Gi,e,Ni)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),s=n&&Tt.get(n)||Tt.get(e);return(null===(t=null==s?void 0:s.rootView)||void 0===t?void 0:t.view)||null}}rr.styleModule=gs,rr.inputHandler=Mn,rr.clipboardInputFilter=In,rr.clipboardOutputFilter=Ln,rr.scrollHandler=Hn,rr.focusChangeEffect=Gn,rr.perLineTextDirection=Nn,rr.exceptionSink=Un,rr.updateListener=Bn,rr.editable=ss,rr.mouseSelectionStyle=Yn,rr.dragMovesSelection=zn,rr.clickAddsSelectionRange=jn,rr.decorations=cs,rr.outerDecorations=hs,rr.atomicRanges=us,rr.bidiIsolatedRanges=ds,rr.scrollMargins=ps,rr.darkTheme=Mi,rr.cspNonce=R.define({combine:e=>e.length?e[0]:""}),rr.contentAttributes=Os,rr.editorAttributes=ls,rr.lineWrapping=rr.contentAttributes.of({class:"cm-lineWrapping"}),rr.announce=pe.define();const ar=4096,or={};class lr{constructor(e,t,n,s,i,r){this.from=e,this.to=t,this.dir=n,this.isolates=s,this.fresh=i,this.order=r}static update(e,t){if(t.empty&&!e.some(e=>e.fresh))return e;let n=[],s=e.length?e[e.length-1].dir:bn.LTR;for(let i=Math.max(0,e.length-10);i=0;i--){let t=s[i],r="function"==typeof t?t(e):t;r&&nn(r,n)}return n}const cr=Gt.mac?"mac":Gt.windows?"win":Gt.linux?"linux":"key";function hr(e,t,n){return t.altKey&&(e="Alt-"+e),t.ctrlKey&&(e="Ctrl-"+e),t.metaKey&&(e="Meta-"+e),!1!==n&&t.shiftKey&&(e="Shift-"+e),e}const ur=H.default(rr.domEventHandlers({keydown:(e,t)=>$r(pr(t.state),e,t,"editor")})),dr=R.define({enables:ur}),fr=new WeakMap;function pr(e){let t=e.facet(dr),n=fr.get(t);return n||fr.set(t,n=function(e,t=cr){let n=Object.create(null),s=Object.create(null),i=(e,t)=>{let n=s[e];if(null==n)s[e]=t;else if(n!=t)throw new Error("Key binding "+e+" is used both as a regular binding and as a multi-stroke prefix")},r=(e,s,r,a,o)=>{var l,O;let c=n[e]||(n[e]=Object.create(null)),h=s.split(/ (?!$)/).map(e=>function(e,t){const n=e.split(/-(?!$)/);let s,i,r,a,o=n[n.length-1];"Space"==o&&(o=" ");for(let e=0;e{let s=mr={view:t,prefix:n,scope:e};return setTimeout(()=>{mr==s&&(mr=null)},gr),!0}]})}let u=h.join(" ");i(u,!1);let d=c[u]||(c[u]={preventDefault:!1,stopPropagation:!1,run:(null===(O=null===(l=c._any)||void 0===l?void 0:l.run)||void 0===O?void 0:O.slice())||[]});r&&d.run.push(r),a&&(d.preventDefault=!0),o&&(d.stopPropagation=!0)};for(let s of e){let e=s.scope?s.scope.split(" "):["editor"];if(s.any)for(let t of e){let e=n[t]||(n[t]=Object.create(null));e._any||(e._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:i}=s;for(let t in e)e[t].run.push(e=>i(e,Qr))}let i=s[t]||s.key;if(i)for(let t of e)r(t,i,s.run,s.preventDefault,s.stopPropagation),s.shift&&r(t,"Shift-"+i,s.shift,s.preventDefault,s.stopPropagation)}return n}(t.reduce((e,t)=>e.concat(t),[]))),n}let mr=null;const gr=4e3;let Qr=null;function $r(e,t,n,s){Qr=t;let i=function(e){var t=!(tt&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||nt&&e.shiftKey&&e.key&&1==e.key.length||"Unidentified"==e.key)&&e.key||(e.shiftKey?et:Je)[e.keyCode]||e.key||"Unidentified";return"Esc"==t&&(t="Escape"),"Del"==t&&(t="Delete"),"Left"==t&&(t="ArrowLeft"),"Up"==t&&(t="ArrowUp"),"Right"==t&&(t="ArrowRight"),"Down"==t&&(t="ArrowDown"),t}(t),r=S(b(i,0))==i.length&&" "!=i,a="",o=!1,l=!1,O=!1;mr&&mr.view==n&&mr.scope==s&&(a=mr.prefix+" ",Is.indexOf(t.keyCode)<0&&(l=!0,mr=null));let c,h,u=new Set,d=e=>{if(e){for(let t of e.run)if(!u.has(t)&&(u.add(t),t(n)))return e.stopPropagation&&(O=!0),!0;e.preventDefault&&(e.stopPropagation&&(O=!0),l=!0)}return!1},f=e[s];return f&&(d(f[a+hr(i,t,!r)])?o=!0:!r||!(t.altKey||t.metaKey||t.ctrlKey)||Gt.windows&&t.ctrlKey&&t.altKey||Gt.mac&&t.altKey&&!t.ctrlKey||!(c=Je[t.keyCode])||c==i?r&&t.shiftKey&&d(f[a+hr(i,t,!0)])&&(o=!0):(d(f[a+hr(c,t,!0)])||t.shiftKey&&(h=et[t.keyCode])!=i&&h!=c&&d(f[a+hr(h,t,!1)]))&&(o=!0),!o&&d(f._any)&&(o=!0)),l&&(o=!0),o&&O&&t.stopPropagation(),Qr=null,o}class xr{constructor(e,t,n,s,i){this.className=e,this.left=t,this.top=n,this.width=s,this.height=i}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className==this.className&&(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",null!=this.width&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,n){if(n.empty){let s=e.coordsAtPos(n.head,n.assoc||1);if(!s)return[];let i=Xr(e);return[new xr(t,s.left-i.left,s.top-i.top,null,s.bottom-s.top)]}return function(e,t,n){if(n.to<=e.viewport.from||n.from>=e.viewport.to)return[];let s=Math.max(n.from,e.viewport.from),i=Math.min(n.to,e.viewport.to),r=e.textDirection==bn.LTR,a=e.contentDOM,o=a.getBoundingClientRect(),l=Xr(e),O=a.querySelector(".cm-line"),c=O&&window.getComputedStyle(O),h=o.left+(c?parseInt(c.paddingLeft)+Math.min(0,parseInt(c.textIndent)):0),u=o.right-(c?parseInt(c.paddingRight):0),d=Ws(e,s,1),f=Ws(e,i,-1),p=d.type==On.Text?d:null,m=f.type==On.Text?f:null;p&&(e.lineWrapping||d.widgetLineBreaks)&&(p=br(e,s,1,p));m&&(e.lineWrapping||f.widgetLineBreaks)&&(m=br(e,i,-1,m));if(p&&m&&p.from==m.from&&p.to==m.to)return Q($(n.from,n.to,p));{let t=p?$(n.from,null,p):x(d,!1),s=m?$(null,n.to,m):x(f,!0),i=[];return(p||d).to<(m||f).from-(p&&m?1:0)||d.widgetLineBreaks>1&&t.bottom+e.defaultLineHeight/2O&&s.from=r)break;o>i&&l(Math.max(e,i),null==t&&e<=O,Math.min(o,r),null==n&&o>=c,a.dir)}if(i=s.to+1,i>=r)break}return 0==o.length&&l(O,null==t,c,null==n,e.textDirection),{top:i,bottom:a,horizontal:o}}function x(e,t){let n=o.top+(t?e.top:e.bottom);return{top:n,bottom:n,horizontal:[]}}}(e,t,n)}}function Xr(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==bn.LTR?t.left:t.right-e.scrollDOM.clientWidth*e.scaleX)-e.scrollDOM.scrollLeft*e.scaleX,top:t.top-e.scrollDOM.scrollTop*e.scaleY}}function br(e,t,n,s){let i=e.coordsAtPos(t,2*n);if(!i)return s;let r=e.dom.getBoundingClientRect(),a=(i.top+i.bottom)/2,o=e.posAtCoords({x:r.left+1,y:a}),l=e.posAtCoords({x:r.right-1,y:a});return null==o||null==l?s:{from:Math.max(s.from,Math.min(o,l)),to:Math.min(s.to,Math.max(o,l))}}class yr{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(Sr)!=e.state.facet(Sr)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){!1!==this.layer.updateOnDocViewUpdate&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,n=e.facet(Sr);for(;t{return n=e,s=this.drawn[t],!(n.constructor==s.constructor&&n.eq(s));var n,s})){let t=this.dom.firstChild,n=0;for(let s of e)s.update&&t&&s.constructor&&this.drawn[n].constructor&&s.update(t,this.drawn[n])?(t=t.nextSibling,n++):this.dom.insertBefore(s.draw(),t);for(;t;){let e=t.nextSibling;t.remove(),t=e}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Sr=R.define();function vr(e){return[as.define(t=>new yr(t,e)),Sr.of(e)]}const wr=R.define({combine:e=>ke(e,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})});function Pr(e={}){return[wr.of(e),_r,Tr,Wr,Kn.of(!0)]}function kr(e){return e.startState.facet(wr)!=e.state.facet(wr)}const _r=vr({above:!0,markers(e){let{state:t}=e,n=t.facet(wr),s=[];for(let i of t.selection.ranges){let r=i==t.selection.main;if(i.empty||n.drawRangeCursor){let t=r?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",n=i.empty?i:Z.cursor(i.head,i.head>i.anchor?-1:1);for(let i of xr.forRange(e,t,n))s.push(i)}}return s},update(e,t){e.transactions.some(e=>e.selection)&&(t.style.animationName="cm-blink"==t.style.animationName?"cm-blink2":"cm-blink");let n=kr(e);return n&&Dr(e.state,t),e.docChanged||e.selectionSet||n},mount(e,t){Dr(t.state,e)},class:"cm-cursorLayer"});function Dr(e,t){t.style.animationDuration=e.facet(wr).cursorBlinkRate+"ms"}const Tr=vr({above:!1,markers:e=>e.state.selection.ranges.map(t=>t.empty?[]:xr.forRange(e,"cm-selectionBackground",t)).reduce((e,t)=>e.concat(t)),update:(e,t)=>e.docChanged||e.selectionSet||e.viewportChanged||kr(e),class:"cm-selectionLayer"}),Wr=H.highest(rr.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),qr=pe.define({map:(e,t)=>null==e?null:t.mapPos(e)}),Cr=M.define({create:()=>null,update:(e,t)=>(null!=e&&(e=t.changes.mapPos(e)),t.effects.reduce((e,t)=>t.is(qr)?t.value:e,e))}),Fr=as.fromClass(class{constructor(e){this.view=e,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(e){var t;let n=e.state.field(Cr);null==n?null!=this.cursor&&(null===(t=this.cursor)||void 0===t||t.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(e.startState.field(Cr)!=n||e.docChanged||e.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:e}=this,t=e.state.field(Cr),n=null!=t&&e.coordsAtPos(t);if(!n)return null;let s=e.scrollDOM.getBoundingClientRect();return{left:n.left-s.left+e.scrollDOM.scrollLeft*e.scaleX,top:n.top-s.top+e.scrollDOM.scrollTop*e.scaleY,height:n.bottom-n.top}}drawCursor(e){if(this.cursor){let{scaleX:t,scaleY:n}=this.view;e?(this.cursor.style.left=e.left/t+"px",this.cursor.style.top=e.top/n+"px",this.cursor.style.height=e.height/n+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(e){this.view.state.field(Cr)!=e&&this.view.dispatch({effects:qr.of(e)})}},{eventObservers:{dragover(e){this.setDropPos(this.view.posAtCoords({x:e.clientX,y:e.clientY}))},dragleave(e){e.target!=this.view.contentDOM&&this.view.contentDOM.contains(e.relatedTarget)||this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Zr(e,t,n,s,i){t.lastIndex=0;for(let r,a=e.iterRange(n,s),o=n;!a.next().done;o+=a.value.length)if(!a.lineBreak)for(;r=t.exec(a.value);)i(o+r.index,r)}class Er{constructor(e){const{regexp:t,decoration:n,decorate:s,boundary:i,maxLength:r=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,s)this.addMatch=(e,t,n,i)=>s(i,n,n+e[0].length,e,t);else if("function"==typeof n)this.addMatch=(e,t,s,i)=>{let r=n(e,t,s);r&&i(s,s+e[0].length,r)};else{if(!n)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=(e,t,s,i)=>i(s,s+e[0].length,n)}this.boundary=i,this.maxLength=r}createDeco(e){let t=new Ce,n=t.add.bind(t);for(let{from:t,to:s}of function(e,t){let n=e.visibleRanges;if(1==n.length&&n[0].from==e.viewport.from&&n[0].to==e.viewport.to)return n;let s=[];for(let{from:i,to:r}of n)i=Math.max(e.state.doc.lineAt(i).from,i-t),r=Math.min(e.state.doc.lineAt(r).to,r+t),s.length&&s[s.length-1].to>=i?s[s.length-1].to=r:s.push({from:i,to:r});return s}(e,this.maxLength))Zr(e.state.doc,this.regexp,t,s,(t,s)=>this.addMatch(s,e,t,n));return t.finish()}updateDeco(e,t){let n=1e9,s=-1;return e.docChanged&&e.changes.iterChanges((t,i,r,a)=>{a>=e.view.viewport.from&&r<=e.view.viewport.to&&(n=Math.min(r,n),s=Math.max(a,s))}),e.viewportMoved||s-n>1e3?this.createDeco(e.view):s>-1?this.updateRange(e.view,t.map(e.changes),n,s):t}updateRange(e,t,n,s){for(let i of e.visibleRanges){let r=Math.max(i.from,n),a=Math.min(i.to,s);if(a>=r){let n=e.state.doc.lineAt(r),s=n.ton.from;r--)if(this.boundary.test(n.text[r-1-n.from])){o=r;break}for(;ac.push(n.range(e,t));if(n==s)for(this.regexp.lastIndex=o-n.from;(O=this.regexp.exec(n.text))&&O.indexthis.addMatch(n,e,t,h));t=t.update({filterFrom:o,filterTo:l,filter:(e,t)=>el,add:c})}}return t}}const Vr=null!=/x/.unicode?"gu":"g",Rr=new RegExp("[\0-\b\n--Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\ufeff-]",Vr),Ar={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let jr=null;const zr=R.define({combine(e){let t=ke(e,{render:null,specialChars:Rr,addSpecialChars:null});return(t.replaceTabs=!function(){var e;if(null==jr&&"undefined"!=typeof document&&document.body){let t=document.body.style;jr=null!=(null!==(e=t.tabSize)&&void 0!==e?e:t.MozTabSize)}return jr||!1}())&&(t.specialChars=new RegExp("\t|"+t.specialChars.source,Vr)),t.addSpecialChars&&(t.specialChars=new RegExp(t.specialChars.source+"|"+t.addSpecialChars.source,Vr)),t}});function Yr(e={}){return[zr.of(e),Ur||(Ur=as.fromClass(class{constructor(e){this.view=e,this.decorations=cn.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(e.state.facet(zr)),this.decorations=this.decorator.createDeco(e)}makeDecorator(e){return new Er({regexp:e.specialChars,decoration:(t,n,s)=>{let{doc:i}=n.state,r=b(t[0],0);if(9==r){let e=i.lineAt(s),t=n.state.tabSize,r=Be(e.text,t,s-e.from);return cn.replace({widget:new Mr((t-r%t)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[r]||(this.decorationCache[r]=cn.replace({widget:new Br(e,r)}))},boundary:e.replaceTabs?void 0:/[^]/})}update(e){let t=e.state.facet(zr);e.startState.facet(zr)!=t?(this.decorator=this.makeDecorator(t),this.decorations=this.decorator.createDeco(e.view)):this.decorations=this.decorator.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}))]}let Ur=null;class Br extends ln{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=function(e){return e>=32?"•":10==e?"␤":String.fromCharCode(9216+e)}(this.code),n=e.state.phrase("Control character")+" "+(Ar[this.code]||"0x"+this.code.toString(16)),s=this.options.render&&this.options.render(this.code,n,t);if(s)return s;let i=document.createElement("span");return i.textContent=t,i.title=n,i.setAttribute("aria-label",n),i.className="cm-specialChar",i}ignoreEvent(){return!1}}class Mr extends ln{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent="\t",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}const Gr=cn.line({class:"cm-activeLine"}),Ir=as.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.docChanged||e.selectionSet)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=-1,n=[];for(let s of e.state.selection.ranges){let i=e.lineBlockAt(s.head);i.from>t&&(n.push(Gr.range(i.from)),t=i.from)}return cn.set(n)}},{decorations:e=>e.decorations}),Lr=2e3;function Nr(e,t){let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1),s=e.state.doc.lineAt(n),i=n-s.from,r=i>Lr?-1:i==s.length?function(e,t){let n=e.coordsAtPos(e.viewport.from);return n?Math.round(Math.abs((n.left-t)/e.defaultCharacterWidth)):-1}(e,t.clientX):Be(s.text,e.state.tabSize,n-s.from);return{line:s.number,col:r,off:i}}function Kr(e,t){let n=Nr(e,t),s=e.state.selection;return n?{update(e){if(e.docChanged){let t=e.changes.mapPos(e.startState.doc.line(n.line).from),i=e.state.doc.lineAt(t);n={line:i.number,col:n.col,off:Math.min(n.off,i.length)},s=s.map(e.changes)}},get(t,i,r){let a=Nr(e,t);if(!a)return s;let o=function(e,t,n){let s=Math.min(t.line,n.line),i=Math.max(t.line,n.line),r=[];if(t.off>Lr||n.off>Lr||t.col<0||n.col<0){let a=Math.min(t.off,n.off),o=Math.max(t.off,n.off);for(let t=s;t<=i;t++){let n=e.doc.line(t);n.length<=o&&r.push(Z.range(n.from+a,n.to+o))}}else{let a=Math.min(t.col,n.col),o=Math.max(t.col,n.col);for(let t=s;t<=i;t++){let n=e.doc.line(t),s=Me(n.text,a,e.tabSize,!0);if(s<0)r.push(Z.cursor(n.to));else{let t=Me(n.text,o,e.tabSize);r.push(Z.range(n.from+s,n.from+t))}}}return r}(e.state,n,a);return o.length?r?Z.create(o.concat(s.ranges)):Z.create(o):s}}:null}const Hr={Alt:[18,e=>!!e.altKey],Control:[17,e=>!!e.ctrlKey],Shift:[16,e=>!!e.shiftKey],Meta:[91,e=>!!e.metaKey]},Jr={style:"cursor: crosshair"};function ea(e={}){let[t,n]=Hr[e.key||"Alt"],s=as.fromClass(class{constructor(e){this.view=e,this.isDown=!1}set(e){this.isDown!=e&&(this.isDown=e,this.view.update([]))}},{eventObservers:{keydown(e){this.set(e.keyCode==t||n(e))},keyup(e){e.keyCode!=t&&n(e)||this.set(!1)},mousemove(e){this.set(n(e))}}});return[s,rr.contentAttributes.of(e=>{var t;return(null===(t=e.plugin(s))||void 0===t?void 0:t.isDown)?Jr:null})]}const ta="-10000px";class na{constructor(e,t,n,s){this.facet=t,this.createTooltipView=n,this.removeTooltipView=s,this.input=e.state.facet(t),this.tooltips=this.input.filter(e=>e);let i=null;this.tooltipViews=this.tooltips.map(e=>i=n(e,i))}update(e,t){var n;let s=e.state.facet(this.facet),i=s.filter(e=>e);if(s===this.input){for(let t of this.tooltipViews)t.update&&t.update(e);return!1}let r=[],a=t?[]:null;for(let n=0;nt[n]=e),t.length=a.length),this.input=s,this.tooltips=i,this.tooltipViews=r,!0}}function sa(e){let t=e.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:t.clientHeight,right:t.clientWidth}}const ia=R.define({combine:e=>{var t,n,s;return{position:Gt.ios?"absolute":(null===(t=e.find(e=>e.position))||void 0===t?void 0:t.position)||"fixed",parent:(null===(n=e.find(e=>e.parent))||void 0===n?void 0:n.parent)||null,tooltipSpace:(null===(s=e.find(e=>e.tooltipSpace))||void 0===s?void 0:s.tooltipSpace)||sa}}}),ra=new WeakMap,aa=as.fromClass(class{constructor(e){this.view=e,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let t=e.state.facet(ia);this.position=t.position,this.parent=t.parent,this.classes=e.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver="function"==typeof ResizeObserver?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new na(e,ca,(e,t)=>this.createTooltip(e,t),e=>{this.resizeObserver&&this.resizeObserver.unobserve(e.dom),e.dom.remove()}),this.above=this.manager.tooltips.map(e=>!!e.above),this.intersectionObserver="function"==typeof IntersectionObserver?new IntersectionObserver(e=>{Date.now()>this.lastTransaction-50&&e.length>0&&e[e.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),e.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let e of this.manager.tooltipViews)this.intersectionObserver.observe(e.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(e){e.transactions.length&&(this.lastTransaction=Date.now());let t=this.manager.update(e,this.above);t&&this.observeIntersection();let n=t||e.geometryChanged,s=e.state.facet(ia);if(s.position!=this.position&&!this.madeAbsolute){this.position=s.position;for(let e of this.manager.tooltipViews)e.dom.style.position=this.position;n=!0}if(s.parent!=this.parent){this.parent&&this.container.remove(),this.parent=s.parent,this.createContainer();for(let e of this.manager.tooltipViews)this.container.appendChild(e.dom);n=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);n&&this.maybeMeasure()}createTooltip(e,t){let n=e.create(this.view),s=t?t.dom:null;if(n.dom.classList.add("cm-tooltip"),e.arrow&&!n.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let e=document.createElement("div");e.className="cm-tooltip-arrow",n.dom.appendChild(e)}return n.dom.style.position=this.position,n.dom.style.top=ta,n.dom.style.left="0px",this.container.insertBefore(n.dom,s),n.mount&&n.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(n.dom),n}destroy(){var e,t,n;this.view.win.removeEventListener("resize",this.measureSoon);for(let t of this.manager.tooltipViews)t.dom.remove(),null===(e=t.destroy)||void 0===e||e.call(t);this.parent&&this.container.remove(),null===(t=this.resizeObserver)||void 0===t||t.disconnect(),null===(n=this.intersectionObserver)||void 0===n||n.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let e=1,t=1,n=!1;if("fixed"==this.position&&this.manager.tooltipViews.length){let{dom:e}=this.manager.tooltipViews[0];if(Gt.gecko)n=e.offsetParent!=this.container.ownerDocument.body;else if(e.style.top==ta&&"0px"==e.style.left){let t=e.getBoundingClientRect();n=Math.abs(t.top+1e4)>1||Math.abs(t.left)>1}}if(n||"absolute"==this.position)if(this.parent){let n=this.parent.getBoundingClientRect();n.width&&n.height&&(e=n.width/this.parent.offsetWidth,t=n.height/this.parent.offsetHeight)}else({scaleX:e,scaleY:t}=this.view.viewState);let s=this.view.scrollDOM.getBoundingClientRect(),i=ms(this.view);return{visible:{left:s.left+i.left,top:s.top+i.top,right:s.right-i.right,bottom:s.bottom-i.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((e,t)=>{let n=this.manager.tooltipViews[t];return n.getCoords?n.getCoords(e.pos):this.view.coordsAtPos(e.pos)}),size:this.manager.tooltipViews.map(({dom:e})=>e.getBoundingClientRect()),space:this.view.state.facet(ia).tooltipSpace(this.view),scaleX:e,scaleY:t,makeAbsolute:n}}writeMeasure(e){var t;if(e.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let e of this.manager.tooltipViews)e.dom.style.position="absolute"}let{visible:n,space:s,scaleX:i,scaleY:r}=e,a=[];for(let o=0;o=Math.min(n.bottom,s.bottom)||h.rightMath.min(n.right,s.right)+.1)){c.style.top=ta;continue}let d=l.arrow?O.dom.querySelector(".cm-tooltip-arrow"):null,f=d?7:0,p=u.right-u.left,m=null!==(t=ra.get(O))&&void 0!==t?t:u.bottom-u.top,g=O.offset||Oa,Q=this.view.textDirection==bn.LTR,$=u.width>s.right-s.left?Q?s.left:s.right-u.width:Q?Math.max(s.left,Math.min(h.left-(d?14:0)+g.x,s.right-p)):Math.min(Math.max(s.left,h.left-p+(d?14:0)-g.x),s.right-p),x=this.above[o];!l.strictSide&&(x?h.top-m-f-g.ys.bottom)&&x==s.bottom-h.bottom>h.top-s.top&&(x=this.above[o]=!x);let X=(x?h.top-s.top:s.bottom-h.bottom)-f;if(X$&&e.topb&&(b=x?e.top-m-2-f:e.bottom+f+2);if("absolute"==this.position?(c.style.top=(b-e.parent.top)/r+"px",oa(c,($-e.parent.left)/i)):(c.style.top=b/r+"px",oa(c,$/i)),d){let e=h.left+(Q?g.x:-g.x)-($+14-7);d.style.left=e/i+"px"}!0!==O.overlap&&a.push({left:$,top:b,right:y,bottom:b+m}),c.classList.toggle("cm-tooltip-above",x),c.classList.toggle("cm-tooltip-below",!x),O.positioned&&O.positioned(e.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let e of this.manager.tooltipViews)e.dom.style.top=ta}},{eventObservers:{scroll(){this.maybeMeasure()}}});function oa(e,t){let n=parseInt(e.style.left,10);(isNaN(n)||Math.abs(t-n)>1)&&(e.style.left=t+"px")}const la=rr.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),Oa={x:0,y:0},ca=R.define({enables:[aa,la]}),ha=R.define({combine:e=>e.reduce((e,t)=>e.concat(t),[])});class ua{static create(e){return new ua(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new na(e,ha,(e,t)=>this.createHostedView(e,t),e=>e.dom.remove())}createHostedView(e,t){let n=e.create(this.view);return n.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(n.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&n.mount&&n.mount(this.view),n}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)null===(e=t.destroy)||void 0===e||e.call(t)}passProp(e){let t;for(let n of this.manager.tooltipViews){let s=n[e];if(void 0!==s)if(void 0===t)t=s;else if(t!==s)return}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const da=ca.compute([ha],e=>{let t=e.facet(ha);return 0===t.length?null:{pos:Math.min(...t.map(e=>e.pos)),end:Math.max(...t.map(e=>{var t;return null!==(t=e.end)&&void 0!==t?t:e.pos})),create:ua.create,above:t[0].above,arrow:t.some(e=>e.arrow)}});class fa{constructor(e,t,n,s,i){this.view=e,this.source=t,this.field=n,this.setHover=s,this.hoverTime=i,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;en.bottom||t.xn.right+e.defaultCharacterWidth)return;let r=e.bidiSpans(e.state.doc.lineAt(s)).find(e=>e.from<=s&&e.to>=s),a=r&&r.dir==bn.RTL?-1:1;i=t.x{this.pending==t&&(this.pending=null,!n||Array.isArray(n)&&!n.length||e.dispatch({effects:this.setHover.of(Array.isArray(n)?n:[n])}))},t=>ns(e.state,t,"hover tooltip"))}else!r||Array.isArray(r)&&!r.length||e.dispatch({effects:this.setHover.of(Array.isArray(r)?r:[r])})}get tooltip(){let e=this.view.plugin(aa),t=e?e.manager.tooltips.findIndex(e=>e.create==ua.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,n;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:s,tooltip:i}=this;if(s.length&&i&&!function(e,t){let n,{left:s,right:i,top:r,bottom:a}=e.getBoundingClientRect();if(n=e.querySelector(".cm-tooltip-arrow")){let e=n.getBoundingClientRect();r=Math.min(e.top,r),a=Math.max(e.bottom,a)}return t.clientX>=s-pa&&t.clientX<=i+pa&&t.clientY>=r-pa&&t.clientY<=a+pa}(i.dom,e)||this.pending){let{pos:i}=s[0]||this.pending,r=null!==(n=null===(t=s[0])||void 0===t?void 0:t.end)&&void 0!==n?n:i;(i==r?this.view.posAtCoords(this.lastMove)==i:function(e,t,n,s,i){let r=e.scrollDOM.getBoundingClientRect(),a=e.documentTop+e.documentPadding.top+e.contentHeight;if(r.left>s||r.righti||Math.min(r.bottom,a)=t&&o<=n}(this.view,i,r,e.clientX,e.clientY))||(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length){let{tooltip:t}=this;t&&t.dom.contains(e.relatedTarget)?this.watchTooltipLeave(t.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=n=>{e.removeEventListener("mouseleave",t),this.active.length&&!this.view.dom.contains(n.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const pa=4;function ma(e,t={}){let n=pe.define(),s=M.define({create:()=>[],update(e,s){if(e.length&&(t.hideOnChange&&(s.docChanged||s.selection)?e=[]:t.hideOn&&(e=e.filter(e=>!t.hideOn(s,e))),s.docChanged)){let t=[];for(let n of e){let e=s.changes.mapPos(n.pos,-1,w.TrackDel);if(null!=e){let i=Object.assign(Object.create(null),n);i.pos=e,null!=i.end&&(i.end=s.changes.mapPos(i.end)),t.push(i)}}e=t}for(let t of s.effects)t.is(n)&&(e=t.value),t.is(Qa)&&(e=[]);return e},provide:e=>ha.from(e)});return{active:s,extension:[s,as.define(i=>new fa(i,e,s,n,t.hoverTime||300)),da]}}function ga(e,t){let n=e.plugin(aa);if(!n)return null;let s=n.manager.tooltips.indexOf(t);return s<0?null:n.manager.tooltipViews[s]}const Qa=pe.define(),$a=R.define({combine(e){let t,n;for(let s of e)t=t||s.topContainer,n=n||s.bottomContainer;return{topContainer:t,bottomContainer:n}}});function xa(e,t){let n=e.plugin(Xa),s=n?n.specs.indexOf(t):-1;return s>-1?n.panels[s]:null}const Xa=as.fromClass(class{constructor(e){this.input=e.state.facet(Sa),this.specs=this.input.filter(e=>e),this.panels=this.specs.map(t=>t(e));let t=e.state.facet($a);this.top=new ba(e,!0,t.topContainer),this.bottom=new ba(e,!1,t.bottomContainer),this.top.sync(this.panels.filter(e=>e.top)),this.bottom.sync(this.panels.filter(e=>!e.top));for(let e of this.panels)e.dom.classList.add("cm-panel"),e.mount&&e.mount()}update(e){let t=e.state.facet($a);this.top.container!=t.topContainer&&(this.top.sync([]),this.top=new ba(e.view,!0,t.topContainer)),this.bottom.container!=t.bottomContainer&&(this.bottom.sync([]),this.bottom=new ba(e.view,!1,t.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let n=e.state.facet(Sa);if(n!=this.input){let t=n.filter(e=>e),s=[],i=[],r=[],a=[];for(let n of t){let t,o=this.specs.indexOf(n);o<0?(t=n(e.view),a.push(t)):(t=this.panels[o],t.update&&t.update(e)),s.push(t),(t.top?i:r).push(t)}this.specs=t,this.panels=s,this.top.sync(i),this.bottom.sync(r);for(let e of a)e.dom.classList.add("cm-panel"),e.mount&&e.mount()}else for(let t of this.panels)t.update&&t.update(e)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:e=>rr.scrollMargins.of(t=>{let n=t.plugin(e);return n&&{top:n.top.scrollMargin(),bottom:n.bottom.scrollMargin()}})});class ba{constructor(e,t,n){this.view=e,this.top=t,this.container=n,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(0==this.panels.length)return void(this.dom&&(this.dom.remove(),this.dom=void 0));if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let e=this.container||this.view.dom;e.insertBefore(this.dom,this.top?e.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=ya(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=ya(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(this.container&&this.classes!=this.view.themeClasses){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function ya(e){let t=e.nextSibling;return e.remove(),t}const Sa=R.define({enables:Xa});class va extends _e{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}va.prototype.elementClass="",va.prototype.toDOM=void 0,va.prototype.mapMode=w.TrackBefore,va.prototype.startSide=va.prototype.endSide=-1,va.prototype.point=!0;const wa=R.define(),Pa=R.define(),ka={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>qe.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},_a=R.define();function Da(e){return[Wa(),_a.of({...ka,...e})]}const Ta=R.define({combine:e=>e.some(e=>e)});function Wa(e){return[qa]}const qa=as.fromClass(class{constructor(e){this.view=e,this.domAfter=null,this.prevViewport=e.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=e.state.facet(_a).map(t=>new Ea(e,t)),this.fixed=!e.state.facet(Ta);for(let e of this.gutters)"after"==e.config.side?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),e.scrollDOM.insertBefore(this.dom,e.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(e){if(this.updateGutters(e)){let t=this.prevViewport,n=e.view.viewport,s=Math.min(t.to,n.to)-Math.max(t.from,n.from);this.syncGutters(s<.8*(n.to-n.from))}if(e.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(Ta)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=e.view.viewport}syncGutters(e){let t=this.dom.nextSibling;e&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let n=qe.iter(this.view.state.facet(wa),this.view.viewport.from),s=[],i=this.gutters.map(e=>new Za(e,this.view.viewport,-this.view.documentPadding.top));for(let e of this.view.viewportLineBlocks)if(s.length&&(s=[]),Array.isArray(e.type)){let t=!0;for(let r of e.type)if(r.type==On.Text&&t){Fa(n,s,r.from);for(let e of i)e.line(this.view,r,s);t=!1}else if(r.widget)for(let e of i)e.widget(this.view,r)}else if(e.type==On.Text){Fa(n,s,e.from);for(let t of i)t.line(this.view,e,s)}else if(e.widget)for(let t of i)t.widget(this.view,e);for(let e of i)e.finish();e&&(this.view.scrollDOM.insertBefore(this.dom,t),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(e){let t=e.startState.facet(_a),n=e.state.facet(_a),s=e.docChanged||e.heightChanged||e.viewportChanged||!qe.eq(e.startState.facet(wa),e.state.facet(wa),e.view.viewport.from,e.view.viewport.to);if(t==n)for(let t of this.gutters)t.update(e)&&(s=!0);else{s=!0;let i=[];for(let s of n){let n=t.indexOf(s);n<0?i.push(new Ea(this.view,s)):(this.gutters[n].update(e),i.push(this.gutters[n]))}for(let e of this.gutters)e.dom.remove(),i.indexOf(e)<0&&e.destroy();for(let e of i)"after"==e.config.side?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.gutters=i}return s}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:e=>rr.scrollMargins.of(t=>{let n=t.plugin(e);if(!n||0==n.gutters.length||!n.fixed)return null;let s=n.dom.offsetWidth*t.scaleX,i=n.domAfter?n.domAfter.offsetWidth*t.scaleX:0;return t.textDirection==bn.LTR?{left:s,right:i}:{right:s,left:i}})});function Ca(e){return Array.isArray(e)?e:[e]}function Fa(e,t,n){for(;e.value&&e.from<=n;)e.from==n&&t.push(e.value),e.next()}class Za{constructor(e,t,n){this.gutter=e,this.height=n,this.i=0,this.cursor=qe.iter(e.markers,t.from)}addElement(e,t,n){let{gutter:s}=this,i=(t.top-this.height)/e.scaleY,r=t.height/e.scaleY;if(this.i==s.elements.length){let t=new Va(e,r,i,n);s.elements.push(t),s.dom.appendChild(t.dom)}else s.elements[this.i].update(e,r,i,n);this.height=t.bottom,this.i++}line(e,t,n){let s=[];Fa(this.cursor,s,t.from),n.length&&(s=s.concat(n));let i=this.gutter.config.lineMarker(e,t,s);i&&s.unshift(i);let r=this.gutter;(0!=s.length||r.config.renderEmptyElements)&&this.addElement(e,t,s)}widget(e,t){let n=this.gutter.config.widgetMarker(e,t.widget,t),s=n?[n]:null;for(let n of e.state.facet(Pa)){let i=n(e,t.widget,t);i&&(s||(s=[])).push(i)}s&&this.addElement(e,t,s)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class Ea{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let n in t.domEventHandlers)this.dom.addEventListener(n,s=>{let i,r=s.target;if(r!=this.dom&&this.dom.contains(r)){for(;r.parentNode!=this.dom;)r=r.parentNode;let e=r.getBoundingClientRect();i=(e.top+e.bottom)/2}else i=s.clientY;let a=e.lineBlockAtHeight(i-e.documentTop);t.domEventHandlers[n](e,a,s)&&s.preventDefault()});this.markers=Ca(t.markers(e)),t.initialSpacer&&(this.spacer=new Va(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=Ca(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let t=this.config.updateSpacer(this.spacer.markers[0],e);t!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[t])}let n=e.view.viewport;return!qe.eq(this.markers,t,n.from,n.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(e)}destroy(){for(let e of this.elements)e.destroy()}}class Va{constructor(e,t,n,s){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,n,s)}update(e,t,n,s){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=n&&(this.dom.style.marginTop=(this.above=n)?n+"px":""),function(e,t){if(e.length!=t.length)return!1;for(let n=0;nke(e,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let n=Object.assign({},e);for(let e in t){let s=n[e],i=t[e];n[e]=s?(e,t,n)=>s(e,t,n)||i(e,t,n):i}return n}})});class za extends va{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function Ya(e,t){return e.state.facet(ja).formatNumber(t,e.state)}const Ua=_a.compute([ja],e=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:e=>e.state.facet(Ra),lineMarker:(e,t,n)=>n.some(e=>e.toDOM)?null:new za(Ya(e,e.state.doc.lineAt(t.from).number)),widgetMarker:(e,t,n)=>{for(let s of e.state.facet(Aa)){let i=s(e,t,n);if(i)return i}return null},lineMarkerChange:e=>e.startState.facet(ja)!=e.state.facet(ja),initialSpacer:e=>new za(Ya(e,Ma(e.state.doc.lines))),updateSpacer(e,t){let n=Ya(t.view,Ma(t.view.state.doc.lines));return n==e.number?e:new za(n)},domEventHandlers:e.facet(ja).domEventHandlers,side:"before"}));function Ba(e={}){return[ja.of(e),Wa(),Ua]}function Ma(e){let t=9;for(;t{let t=[],n=-1;for(let s of e.selection.ranges){let i=e.doc.lineAt(s.head).from;i>n&&(n=i,t.push(Ga.range(i)))}return qe.of(t)});const La=1024;let Na=0;class Ka{constructor(e,t){this.from=e,this.to=t}}class Ha{constructor(e={}){this.id=Na++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return"function"!=typeof e&&(e=to.match(e)),t=>{let n=e(t);return void 0===n?null:[this,n]}}}Ha.closedBy=new Ha({deserialize:e=>e.split(" ")}),Ha.openedBy=new Ha({deserialize:e=>e.split(" ")}),Ha.group=new Ha({deserialize:e=>e.split(" ")}),Ha.isolate=new Ha({deserialize:e=>{if(e&&"rtl"!=e&&"ltr"!=e&&"auto"!=e)throw new RangeError("Invalid value for isolate: "+e);return e||"auto"}}),Ha.contextHash=new Ha({perNode:!0}),Ha.lookAhead=new Ha({perNode:!0}),Ha.mounted=new Ha({perNode:!0});class Ja{constructor(e,t,n,s=!1){this.tree=e,this.overlay=t,this.parser=n,this.bracketed=s}static get(e){return e&&e.props&&e.props[Ha.mounted.id]}}const eo=Object.create(null);class to{constructor(e,t,n,s=0){this.name=e,this.props=t,this.id=n,this.flags=s}static define(e){let t=e.props&&e.props.length?Object.create(null):eo,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(null==e.name?8:0),s=new to(e.name||"",t,e.id,n);if(e.props)for(let n of e.props)if(Array.isArray(n)||(n=n(s)),n){if(n[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[n[0].id]=n[1]}return s}prop(e){return this.props[e.id]}get isTop(){return(1&this.flags)>0}get isSkipped(){return(2&this.flags)>0}get isError(){return(4&this.flags)>0}get isAnonymous(){return(8&this.flags)>0}is(e){if("string"==typeof e){if(this.name==e)return!0;let t=this.prop(Ha.group);return!!t&&t.indexOf(e)>-1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let s of n.split(" "))t[s]=e[n];return e=>{for(let n=e.prop(Ha.group),s=-1;s<(n?n.length:0);s++){let i=t[s<0?e.name:n[s]];if(i)return i}}}}to.none=new to("",Object.create(null),0,8);class no{constructor(e){this.types=e;for(let t=0;t=t){let a=new uo(r.tree,r.overlay[0].from+e.from,-1,e);(i||(i=[s])).push(co(a,t,n,!1))}}return i?Qo(i):s}(this,e,t)}iterate(e){let{enter:t,leave:n,from:s=0,to:i=this.length}=e,r=e.mode||0,a=(r&ro.IncludeAnonymous)>0;for(let e=this.cursor(r|ro.IncludeAnonymous);;){let r=!1;if(e.from<=i&&e.to>=s&&(!a&&e.type.isAnonymous||!1!==t(e))){if(e.firstChild())continue;r=!0}for(;r&&n&&(a||!e.type.isAnonymous)&&n(e),!e.nextSibling();){if(!e.parent())return;r=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:So(to.none,this.children,this.positions,0,this.children.length,0,this.length,(e,t,n)=>new ao(this.type,e,t,n,this.propValues),e.makeTree||((e,t,n)=>new ao(to.none,e,t,n)))}static build(e){return function(e){var t;let{buffer:n,nodeSet:s,maxBufferLength:i=La,reused:r=[],minRepeatType:a=s.types.length}=e,o=Array.isArray(n)?new oo(n,n.length):n,l=s.types,O=0,c=0;function h(e,t,n,Q,$,x){let{id:X,start:b,end:y,size:S}=o,v=c,w=O;if(S<0){if(o.next(),-1==S){let t=r[X];return n.push(t),void Q.push(b-e)}if(-3==S)return void(O=X);if(-4==S)return void(c=X);throw new RangeError(`Unrecognized record size: ${S}`)}let P,k,_=l[X],D=b-e;if(y-b<=i&&(k=m(o.pos-t,$))){let t=new Uint16Array(k.size-k.skip),n=o.pos-k.size,i=t.length;for(;o.pos>n;)i=g(k.start,t,i);P=new lo(t,y-k.start,s),D=k.start-e}else{let e=o.pos-S;o.next();let t=[],n=[],s=X>=a?X:-1,r=0,l=y;for(;o.pos>e;)s>=0&&o.id==s&&o.size>=0?(o.end<=l-i&&(f(t,n,b,r,o.end,l,s,v,w),r=t.length,l=o.end),o.next()):x>2500?u(b,e,t,n):h(b,e,t,n,s,x+1);if(s>=0&&r>0&&r-1&&r>0){let e=d(_,w);P=So(_,t,n,0,t.length,0,y-b,e,e)}else P=p(_,t,n,y-b,v-y,w)}n.push(P),Q.push(D)}function u(e,t,n,r){let a=[],l=0,O=-1;for(;o.pos>t;){let{id:e,start:t,end:n,size:s}=o;if(s>4)o.next();else{if(O>-1&&t=0;e-=3)t[n++]=a[e],t[n++]=a[e+1]-i,t[n++]=a[e+2]-i,t[n++]=n;n.push(new lo(t,a[2]-i,s)),r.push(i-e)}}function d(e,t){return(n,s,i)=>{let r,a,o=0,l=n.length-1;if(l>=0&&(r=n[l])instanceof ao){if(!l&&r.type==e&&r.length==i)return r;(a=r.prop(Ha.lookAhead))&&(o=s[l]+r.length+a)}return p(e,n,s,i,o,t)}}function f(e,t,n,i,r,a,o,l,O){let c=[],h=[];for(;e.length>i;)c.push(e.pop()),h.push(t.pop()+n-r);e.push(p(s.types[o],c,h,a-r,l-a,O)),t.push(r-n)}function p(e,t,n,s,i,r,a){if(r){let e=[Ha.contextHash,r];a=a?[e].concat(a):[e]}if(i>25){let e=[Ha.lookAhead,i];a=a?[e].concat(a):[e]}return new ao(e,t,n,s,a)}function m(e,t){let n=o.fork(),s=0,r=0,l=0,O=n.end-i,c={size:0,start:0,skip:0};e:for(let i=n.pos-e;n.pos>i;){let e=n.size;if(n.id==t&&e>=0){c.size=s,c.start=r,c.skip=l,l+=4,s+=4,n.next();continue}let o=n.pos-e;if(e<0||o=a?4:0,u=n.start;for(n.next();n.pos>o;){if(n.size<0){if(-3!=n.size&&-4!=n.size)break e;h+=4}else n.id>=a&&(h+=4);n.next()}r=u,s+=e,l+=h}return(t<0||s==e)&&(c.size=s,c.start=r,c.skip=l),c.size>4?c:void 0}function g(e,t,n){let{id:s,start:i,end:r,size:l}=o;if(o.next(),l>=0&&s4){let s=o.pos-(l-4);for(;o.pos>s;)n=g(e,t,n)}t[--n]=a,t[--n]=r-e,t[--n]=i-e,t[--n]=s}else-3==l?O=s:-4==l&&(c=s);return n}let Q=[],$=[];for(;o.pos>0;)h(e.start||0,e.bufferStart||0,Q,$,-1,0);let x=null!==(t=e.length)&&void 0!==t?t:Q.length?$[0]+Q[0].length:0;return new ao(l[e.topID],Q.reverse(),$.reverse(),x)}(e)}}ao.empty=new ao(to.none,[],[],0);class oo{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new oo(this.buffer,this.index)}}class lo{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return to.none}toString(){let e=[];for(let t=0;t0));o=r[o+3]);return a}slice(e,t,n){let s=this.buffer,i=new Uint16Array(t-e),r=0;for(let a=e,o=0;a=t&&nt;case 1:return n<=t&&s>t;case 2:return s>t;case 4:return!0}}function co(e,t,n,s){for(var i;e.from==e.to||(n<1?e.from>=t:e.from>t)||(n>-1?e.to<=t:e.to0?a.length:-1;e!=l;e+=t){let l,O=a[e],c=o[e]+r.from;if(i&ro.EnterBracketed&&O instanceof ao&&(l=Ja.get(O))&&!l.overlay&&l.bracketed&&n>=c&&n<=c+O.length||Oo(s,n,c,c+O.length))if(O instanceof lo){if(i&ro.ExcludeBuffers)continue;let a=O.findChild(0,O.buffer.length,t,n-c,s);if(a>-1)return new go(new mo(r,O,e,c),null,a)}else if(i&ro.IncludeAnonymous||!O.type.isAnonymous||Xo(O)){let a;if(!(i&ro.IgnoreMounts)&&(a=Ja.get(O))&&!a.overlay)return new uo(a.tree,c,e,r);let o=new uo(O,c,e,r);return i&ro.IncludeAnonymous||!o.type.isAnonymous?o:o.nextChild(t<0?O.children.length-1:0,t,n,s,i)}}if(i&ro.IncludeAnonymous||!r.type.isAnonymous)return null;if(e=r.index>=0?r.index+t:t<0?-1:r._parent._tree.children.length,r=r._parent,!r)return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,n=0){let s;if(!(n&ro.IgnoreOverlays)&&(s=Ja.get(this._tree))&&s.overlay){let i=e-this.from,r=n&ro.EnterBracketed&&s.bracketed;for(let{from:e,to:n}of s.overlay)if((t>0||r?e<=i:e=i:n>i))return new uo(s.tree,s.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function fo(e,t,n,s){let i=e.cursor(),r=[];if(!i.firstChild())return r;if(null!=n)for(let e=!1;!e;)if(e=i.type.is(n),!i.nextSibling())return r;for(;;){if(null!=s&&i.type.is(s))return r;if(i.type.is(t)&&r.push(i.node),!i.nextSibling())return null==s?r:[]}}function po(e,t,n=t.length-1){for(let s=e;n>=0;s=s.parent){if(!s)return!1;if(!s.type.isAnonymous){if(t[n]&&t[n]!=s.name)return!1;n--}}return!0}class mo{constructor(e,t,n,s){this.parent=e,this.buffer=t,this.index=n,this.start=s}}class go extends ho{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:s}=this.context,i=s.findChild(this.index+4,s.buffer[this.index+3],e,t-this.context.start,n);return i<0?null:new go(this.context,this,i)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,n=0){if(n&ro.ExcludeBuffers)return null;let{buffer:s}=this.context,i=s.findChild(this.index+4,s.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return i<0?null:new go(this.context,this,i)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new go(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new go(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,s=this.index+4,i=n.buffer[this.index+3];if(i>s){let r=n.buffer[this.index+1];e.push(n.slice(s,i,r)),t.push(0)}return new ao(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function Qo(e){if(!e.length)return null;let t=0,n=e[0];for(let s=1;sn.from||i.to0){if(this.index-1)for(let s=t+e,i=e<0?-1:n._tree.children.length;s!=i;s+=e){let e=n._tree.children[s];if(this.mode&ro.IncludeAnonymous||e instanceof lo||!e.type.isAnonymous||Xo(e))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let r=e;r;r=r._parent)if(r.index==s){if(s==this.index)return r;t=r,n=i+1;break e}s=this.stack[--i]}for(let e=n;e=0;i--){if(i<0)return po(this._tree,e,s);let r=n[t.buffer[this.stack[i]]];if(!r.isAnonymous){if(e[s]&&e[s]!=r.name)return!1;s--}}return!0}}function Xo(e){return e.children.some(e=>e instanceof lo||!e.type.isAnonymous||Xo(e))}const bo=new WeakMap;function yo(e,t){if(!e.isAnonymous||t instanceof lo||t.type!=e)return 1;let n=bo.get(t);if(null==n){n=1;for(let s of t.children){if(s.type!=e||!(s instanceof ao)){n=1;break}n+=yo(e,s)}bo.set(t,n)}return n}function So(e,t,n,s,i,r,a,o,l){let O=0;for(let n=s;n=c)break;f+=t}if(O==i+1){if(f>c){let e=n[i];t(e.children,e.positions,0,e.children.length,s[i]+o);continue}h.push(n[i])}else{let t=s[O-1]+n[O-1].length-d;h.push(So(e,n,s,i,O,d,t,null,l))}u.push(d+o-r)}}(t,n,s,i,0),(o||l)(h,u,a)}class vo{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let s=this.map.get(e);s||this.map.set(e,s=new Map),s.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof go?this.setBuffer(e.context.buffer,e.index,t):e instanceof uo&&this.map.set(e.tree,t)}get(e){return e instanceof go?this.getBuffer(e.context.buffer,e.index):e instanceof uo?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class wo{constructor(e,t,n,s,i=!1,r=!1){this.from=e,this.to=t,this.tree=n,this.offset=s,this.open=(i?1:0)|(r?2:0)}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(e,t=[],n=!1){let s=[new wo(0,e.length,e,0,!1,n)];for(let n of t)n.to>e.length&&s.push(n);return s}static applyChanges(e,t,n=128){if(!t.length)return e;let s=[],i=1,r=e.length?e[0]:null;for(let a=0,o=0,l=0;;a++){let O=a=n)for(;r&&r.from=t.from||c<=t.to||l){let e=Math.max(t.from,o)-l,n=Math.min(t.to,c)-l;t=e>=n?null:new wo(e,n,t.tree,t.offset+l,a>0,!!O)}if(t&&s.push(t),r.to>c)break;r=inew Ka(e.from,e.to)):[new Ka(0,0)]:[new Ka(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let s=this.startParse(e,t,n);for(;;){let e=s.advance();if(e)return e}}}class ko{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}function _o(e){return(t,n,s,i)=>new Co(t,e,n,s,i)}class Do{constructor(e,t,n,s,i,r){this.parser=e,this.parse=t,this.overlay=n,this.bracketed=s,this.target=i,this.from=r}}function To(e){if(!e.length||e.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(e))}class Wo{constructor(e,t,n,s,i,r,a,o){this.parser=e,this.predicate=t,this.mounts=n,this.index=s,this.start=i,this.bracketed=r,this.target=a,this.prev=o,this.depth=0,this.ranges=[]}}const qo=new Ha({perNode:!0});class Co{constructor(e,t,n,s,i){this.nest=t,this.input=n,this.fragments=s,this.ranges=i,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let e=this.baseParse.advance();if(!e)return null;if(this.baseParse=null,this.baseTree=e,this.startInner(),null!=this.stoppedAt)for(let e of this.inner)e.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let e=this.baseTree;return null!=this.stoppedAt&&(e=new ao(e.type,e.children,e.positions,e.length,e.propValues.concat([[qo,this.stoppedAt]]))),e}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[Ha.mounted.id]=new Ja(t,e.overlay,e.parser,e.bracketed),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)o=!1;else if(e.hasNode(s)){if(t){let e=t.mounts.find(e=>e.frag.from<=s.from&&e.frag.to>=s.to&&e.mount.overlay);if(e)for(let n of e.mount.overlay){let i=n.from+e.pos,r=n.to+e.pos;i>=s.from&&r<=s.to&&!t.ranges.some(e=>e.fromi)&&t.ranges.push({from:i,to:r})}}o=!1}else if(n&&(r=Fo(n.ranges,s.from,s.to)))o=2!=r;else if(!s.type.isAnonymous&&(i=this.nest(s,this.input))&&(s.fromnew Ka(e.from-s.from,e.to-s.from)):null,!!i.bracketed,s.tree,e.length?e[0].from:s.from)),i.overlay?e.length&&(n={ranges:e,depth:0,prev:n}):o=!1}}else if(t&&(a=t.predicate(s))&&(!0===a&&(a=new Ka(s.from,s.to)),a.from=0&&t.ranges[e].to==a.from?t.ranges[e]={from:t.ranges[e].from,to:a.to}:t.ranges.push(a)}if(o&&s.firstChild())t&&t.depth++,n&&n.depth++;else for(;!s.nextSibling();){if(!s.parent())break e;if(t&&! --t.depth){let e=Ao(this.ranges,t.ranges);e.length&&(To(e),this.inner.splice(t.index,0,new Do(t.parser,t.parser.startParse(this.input,zo(t.mounts,e),e),t.ranges.map(e=>new Ka(e.from-t.start,e.to-t.start)),t.bracketed,t.target,e[0].from))),t=t.prev}n&&! --n.depth&&(n=n.prev)}}}}function Fo(e,t,n){for(let s of e){if(s.from>=n)break;if(s.to>t)return s.from<=t&&s.to>=n?2:1}return 0}function Zo(e,t,n,s,i,r){if(t=e&&t.enter(n,1,ro.IgnoreOverlays|ro.ExcludeBuffers));else{if(!(t.to<=e))break;t.next(!1)||(this.done=!0)}}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(!(t.children.length&&0==t.positions[0]&&t.children[0]instanceof ao))break;t=t.children[0]}return!1}}let Ro=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=null!==(t=n.tree.prop(qo))&&void 0!==t?t:n.to,this.inner=new Vo(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=null!==(e=t.tree.prop(qo))&&void 0!==e?e:t.to,this.inner=new Vo(t.tree,-t.offset)}}findMounts(e,t){var n;let s=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let e=this.inner.cursor.node;e;e=e.parent){let i=null===(n=e.tree)||void 0===n?void 0:n.prop(Ha.mounted);if(i&&i.parser==t)for(let t=this.fragI;t=e.to)break;n.tree==this.curFrag.tree&&s.push({frag:n,pos:e.from-n.offset,mount:i})}}}return s}};function Ao(e,t){let n=null,s=t;for(let i=1,r=0;i=o)break;e.to<=a||(n||(s=n=t.slice()),e.fromo&&n.splice(r+1,0,new Ka(o,e.to))):e.to>o?n[r--]=new Ka(o,e.to):n.splice(r--,1))}}return s}function jo(e,t,n,s){let i=0,r=0,a=!1,o=!1,l=-1e9,O=[];for(;;){let c=i==e.length?1e9:a?e[i].to:e[i].from,h=r==t.length?1e9:o?t[r].to:t[r].from;if(a!=o){let e=Math.max(l,n),t=Math.min(c,h,s);enew Ka(e.from+s,e.to+s)),o,l);for(let t=0,s=o;;t++){let o=t==a.length,O=o?l:a[t].from;if(O>s&&n.push(new wo(s,O,i.tree,-e,r.from>=s||r.openStart,r.to<=O||r.openEnd)),o)break;s=a[t].to}}else n.push(new wo(o,l,i.tree,-e,r.from>=e||r.openStart,r.to<=a||r.openEnd))}return n}let Yo=0;class Uo{constructor(e,t,n,s){this.name=e,this.set=t,this.base=n,this.modified=s,this.id=Yo++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n="string"==typeof e?e:"?";if(e instanceof Uo&&(t=e),null==t?void 0:t.base)throw new Error("Can not derive from a modified tag");let s=new Uo(n,[],null,[]);if(s.set.push(s),t)for(let e of t.set)s.set.push(e);return s}static defineModifier(e){let t=new Mo(e);return e=>e.modified.indexOf(t)>-1?e:Mo.get(e.base||e,e.modified.concat(t).sort((e,t)=>e.id-t.id))}}let Bo=0;class Mo{constructor(e){this.name=e,this.instances=[],this.id=Bo++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(n=>{return n.base==e&&(s=t,i=n.modified,s.length==i.length&&s.every((e,t)=>e==i[t]));var s,i});if(n)return n;let s=[],i=new Uo(e.name,s,e,t);for(let e of t)e.instances.push(i);let r=function(e){let t=[[]];for(let n=0;nt.length-e.length)}(t);for(let t of e.set)if(!t.modified.length)for(let e of r)s.push(Mo.get(t,e));return i}}function Go(e){let t=Object.create(null);for(let n in e){let s=e[n];Array.isArray(s)||(s=[s]);for(let e of n.split(" "))if(e){let n=[],i=2,r=e;for(let t=0;;){if("..."==r&&t>0&&t+3==e.length){i=1;break}let s=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(r);if(!s)throw new RangeError("Invalid path: "+e);if(n.push("*"==s[0]?"":'"'==s[0][0]?JSON.parse(s[0]):s[0]),t+=s[0].length,t==e.length)break;let a=e[t++];if(t==e.length&&"!"==a){i=0;break}if("/"!=a)throw new RangeError("Invalid path: "+e);r=e.slice(t)}let a=n.length-1,o=n[a];if(!o)throw new RangeError("Invalid path: "+e);let l=new Lo(s,i,a>0?n.slice(0,a):null);t[o]=l.sort(t[o])}}return Io.add(t)}const Io=new Ha;class Lo{constructor(e,t,n,s){this.tags=e,this.mode=t,this.context=n,this.next=s}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(e){return!e||e.depth{let t=i;for(let s of e)for(let e of s.set){let s=n[e.id];if(s){t=t?t+" "+s:s;break}}return t},scope:s}}function Ko(e,t,n,s=0,i=e.length){let r=new Ho(s,Array.isArray(t)?t:[t],n);r.highlightRange(e.cursor(),s,i,"",r.highlighters),r.flush(i)}Lo.empty=new Lo([],2,null);class Ho{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,s,i){let{type:r,from:a,to:o}=e;if(a>=n||o<=t)return;r.isTop&&(i=this.highlighters.filter(e=>!e.scope||e.scope(r)));let l=s,O=function(e){let t=e.type.prop(Io);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}(e)||Lo.empty,c=function(e,t){let n=null;for(let s of e){let e=s.style(t);e&&(n=n?n+" "+e:e)}return n}(i,O.tags);if(c&&(l&&(l+=" "),l+=c,1==O.mode&&(s+=(s?" ":"")+c)),this.startSpan(Math.max(t,a),l),O.opaque)return;let h=e.tree&&e.tree.prop(Ha.mounted);if(h&&h.overlay){let r=e.node.enter(h.overlay[0].from+a,1),O=this.highlighters.filter(e=>!e.scope||e.scope(h.tree.type)),c=e.firstChild();for(let u=0,d=a;;u++){let f=u=p)&&e.nextSibling()););if(!f||p>n)break;d=f.to+a,d>t&&(this.highlightRange(r.cursor(),Math.max(t,f.from+a),Math.min(n,d),"",O),this.startSpan(Math.min(n,d),l))}c&&e.parent()}else if(e.firstChild()){h&&(s="");do{if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,s,i),this.startSpan(Math.min(n,e.to),l)}}while(e.nextSibling());e.parent()}}}const Jo=Uo.define,el=Jo(),tl=Jo(),nl=Jo(tl),sl=Jo(tl),il=Jo(),rl=Jo(il),al=Jo(il),ol=Jo(),ll=Jo(ol),Ol=Jo(),cl=Jo(),hl=Jo(),ul=Jo(hl),dl=Jo(),fl={comment:el,lineComment:Jo(el),blockComment:Jo(el),docComment:Jo(el),name:tl,variableName:Jo(tl),typeName:nl,tagName:Jo(nl),propertyName:sl,attributeName:Jo(sl),className:Jo(tl),labelName:Jo(tl),namespace:Jo(tl),macroName:Jo(tl),literal:il,string:rl,docString:Jo(rl),character:Jo(rl),attributeValue:Jo(rl),number:al,integer:Jo(al),float:Jo(al),bool:Jo(il),regexp:Jo(il),escape:Jo(il),color:Jo(il),url:Jo(il),keyword:Ol,self:Jo(Ol),null:Jo(Ol),atom:Jo(Ol),unit:Jo(Ol),modifier:Jo(Ol),operatorKeyword:Jo(Ol),controlKeyword:Jo(Ol),definitionKeyword:Jo(Ol),moduleKeyword:Jo(Ol),operator:cl,derefOperator:Jo(cl),arithmeticOperator:Jo(cl),logicOperator:Jo(cl),bitwiseOperator:Jo(cl),compareOperator:Jo(cl),updateOperator:Jo(cl),definitionOperator:Jo(cl),typeOperator:Jo(cl),controlOperator:Jo(cl),punctuation:hl,separator:Jo(hl),bracket:ul,angleBracket:Jo(ul),squareBracket:Jo(ul),paren:Jo(ul),brace:Jo(ul),content:ol,heading:ll,heading1:Jo(ll),heading2:Jo(ll),heading3:Jo(ll),heading4:Jo(ll),heading5:Jo(ll),heading6:Jo(ll),contentSeparator:Jo(ol),list:Jo(ol),quote:Jo(ol),emphasis:Jo(ol),strong:Jo(ol),link:Jo(ol),monospace:Jo(ol),strikethrough:Jo(ol),inserted:Jo(),deleted:Jo(),changed:Jo(),invalid:Jo(),meta:dl,documentMeta:Jo(dl),annotation:Jo(dl),processingInstruction:Jo(dl),definition:Uo.defineModifier("definition"),constant:Uo.defineModifier("constant"),function:Uo.defineModifier("function"),standard:Uo.defineModifier("standard"),local:Uo.defineModifier("local"),special:Uo.defineModifier("special")};for(let e in fl){let t=fl[e];t instanceof Uo&&(t.name=e)}var pl;No([{tag:fl.link,class:"tok-link"},{tag:fl.heading,class:"tok-heading"},{tag:fl.emphasis,class:"tok-emphasis"},{tag:fl.strong,class:"tok-strong"},{tag:fl.keyword,class:"tok-keyword"},{tag:fl.atom,class:"tok-atom"},{tag:fl.bool,class:"tok-bool"},{tag:fl.url,class:"tok-url"},{tag:fl.labelName,class:"tok-labelName"},{tag:fl.inserted,class:"tok-inserted"},{tag:fl.deleted,class:"tok-deleted"},{tag:fl.literal,class:"tok-literal"},{tag:fl.string,class:"tok-string"},{tag:fl.number,class:"tok-number"},{tag:[fl.regexp,fl.escape,fl.special(fl.string)],class:"tok-string2"},{tag:fl.variableName,class:"tok-variableName"},{tag:fl.local(fl.variableName),class:"tok-variableName tok-local"},{tag:fl.definition(fl.variableName),class:"tok-variableName tok-definition"},{tag:fl.special(fl.variableName),class:"tok-variableName2"},{tag:fl.definition(fl.propertyName),class:"tok-propertyName tok-definition"},{tag:fl.typeName,class:"tok-typeName"},{tag:fl.namespace,class:"tok-namespace"},{tag:fl.className,class:"tok-className"},{tag:fl.macroName,class:"tok-macroName"},{tag:fl.propertyName,class:"tok-propertyName"},{tag:fl.operator,class:"tok-operator"},{tag:fl.comment,class:"tok-comment"},{tag:fl.meta,class:"tok-meta"},{tag:fl.invalid,class:"tok-invalid"},{tag:fl.punctuation,class:"tok-punctuation"}]);const ml=new Ha;function gl(e){return R.define({combine:e?t=>t.concat(e):void 0})}const Ql=new Ha;class $l{constructor(e,t,n=[],s=""){this.data=e,this.name=s,Pe.prototype.hasOwnProperty("tree")||Object.defineProperty(Pe.prototype,"tree",{get(){return bl(this)}}),this.parser=t,this.extension=[Wl.of(this),Pe.languageData.of((e,t,n)=>{let s=xl(e,t,n),i=s.type.prop(ml);if(!i)return[];let r=e.facet(i),a=s.type.prop(Ql);if(a){let i=s.resolve(t-s.from,n);for(let t of a)if(t.test(i,e)){let n=e.facet(t.facet);return"replace"==t.type?n:n.concat(r)}}return r})].concat(n)}isActiveAt(e,t,n=-1){return xl(e,t,n).type.prop(ml)==this.data}findRegions(e){let t=e.facet(Wl);if((null==t?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],s=(e,t)=>{if(e.prop(ml)==this.data)return void n.push({from:t,to:t+e.length});let i=e.prop(Ha.mounted);if(i){if(i.tree.prop(ml)==this.data){if(i.overlay)for(let e of i.overlay)n.push({from:e.from+t,to:e.to+t});else n.push({from:t,to:t+e.length});return}if(i.overlay){let e=n.length;if(s(i.tree,i.overlay[0].from+t),n.length>e)return}}for(let n=0;ne.isTop?t:void 0)]}),e.name)}configure(e,t){return new Xl(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function bl(e){let t=e.field($l.state,!1);return t?t.tree:ao.empty}function yl(e,t=e.viewport.to,n=100){let s=function(e,t,n=50){var s;let i=null===(s=e.field($l.state,!1))||void 0===s?void 0:s.context;if(!i)return null;let r=i.viewport;i.updateViewport({from:0,to:t});let a=i.isDone(t)||i.work(n,t)?i.tree:null;return i.updateViewport(r),a}(e.state,t,n);return s!=bl(e.state)&&e.dispatch({}),!!s}class Sl{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}}let vl=null;class wl{constructor(e,t,n=[],s,i,r,a,o){this.parser=e,this.state=t,this.fragments=n,this.tree=s,this.treeLen=i,this.viewport=r,this.skipped=a,this.scheduleOn=o,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new wl(e,t,[],ao.empty,0,n,[],null)}startParse(){return this.parser.startParse(new Sl(this.state.doc),this.fragments)}work(e,t){return null!=t&&t>=this.state.doc.length&&(t=void 0),this.tree!=ao.empty&&this.isDone(null!=t?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if("number"==typeof e){let t=Date.now()+e;e=()=>Date.now()>t}for(this.parse||(this.parse=this.startParse()),null!=t&&(null==this.parse.stoppedAt||this.parse.stoppedAt>t)&&t=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(wo.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=vl;vl=this;try{return e()}finally{vl=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Pl(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:s,treeLen:i,viewport:r,skipped:a}=this;if(this.takeTree(),!e.empty){let t=[];if(e.iterChangedRanges((e,n,s,i)=>t.push({fromA:e,toA:n,fromB:s,toB:i})),n=wo.applyChanges(n,t),s=ao.empty,i=0,r={from:e.mapPos(r.from,-1),to:e.mapPos(r.to,1)},this.skipped.length){a=[];for(let t of this.skipped){let n=e.mapPos(t.from,1),s=e.mapPos(t.to,-1);ne.from&&(this.fragments=Pl(this.fragments,n,s),this.skipped.splice(t--,1))}return!(this.skipped.length>=t)&&(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends Po{createParse(t,n,s){let i=s[0].from,r=s[s.length-1].to;return{parsedPos:i,advance(){let t=vl;if(t){for(let e of s)t.tempSkipped.push(e);e&&(t.scheduleOn=t.scheduleOn?Promise.all([t.scheduleOn,e]):e)}return this.parsedPos=r,new ao(to.none,[],[],r-i)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&0==t[0].from&&t[0].to>=e}static get(){return vl}}function Pl(e,t,n){return wo.applyChanges(e,[{fromA:t,toA:n,fromB:t,toB:n}])}class kl{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new kl(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=wl.create(e.facet(Wl).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new kl(n)}}$l.state=M.define({create:kl.init,update(e,t){for(let e of t.effects)if(e.is($l.setState))return e.value;return t.startState.facet(Wl)!=t.state.facet(Wl)?kl.init(t.state):e.apply(t)}});let _l=e=>{let t=setTimeout(()=>e(),500);return()=>clearTimeout(t)};"undefined"!=typeof requestIdleCallback&&(_l=e=>{let t=-1,n=setTimeout(()=>{t=requestIdleCallback(e,{timeout:400})},100);return()=>t<0?clearTimeout(n):cancelIdleCallback(t)});const Dl="undefined"!=typeof navigator&&(null===(pl=navigator.scheduling)||void 0===pl?void 0:pl.isInputPending)?()=>navigator.scheduling.isInputPending():null,Tl=as.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field($l.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field($l.state);t.tree==t.context.tree&&t.context.isDone(e.doc.length)||(this.working=_l(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnds+1e3,o=i.context.work(()=>Dl&&Dl()||Date.now()>r,s+(a?0:1e5));this.chunkBudget-=Date.now()-t,(o||this.chunkBudget<=0)&&(i.context.takeTree(),this.view.dispatch({effects:$l.setState.of(new kl(i.context))})),this.chunkBudget>0&&(!o||a)&&this.scheduleWork(),this.checkAsyncSchedule(i.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(e=>ns(this.view.state,e)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Wl=R.define({combine:e=>e.length?e[0]:null,enables:e=>[$l.state,Tl,rr.contentAttributes.compute([e],t=>{let n=t.facet(e);return n&&n.name?{"data-language":n.name}:{}})]});class ql{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}class Cl{constructor(e,t,n,s,i,r=void 0){this.name=e,this.alias=t,this.extensions=n,this.filename=s,this.loadFunc=i,this.support=r,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:n}=e;if(!t){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(n)}return new Cl(e.name,(e.alias||[]).concat(e.name).map(e=>e.toLowerCase()),e.extensions||[],e.filename,t,n)}static matchFilename(e,t){for(let n of e)if(n.filename&&n.filename.test(t))return n;let n=/\.([^.]+)$/.exec(t);if(n)for(let t of e)if(t.extensions.indexOf(n[1])>-1)return t;return null}static matchLanguageName(e,t,n=!0){t=t.toLowerCase();for(let n of e)if(n.alias.some(e=>e==t))return n;if(n)for(let n of e)for(let e of n.alias){let s=t.indexOf(e);if(s>-1&&(e.length>2||!/\w/.test(t[s-1])&&!/\w/.test(t[s+e.length])))return n}return null}}const Fl=R.define(),Zl=R.define({combine:e=>{if(!e.length)return" ";let t=e[0];if(!t||/\S/.test(t)||Array.from(t).some(e=>e!=t[0]))throw new Error("Invalid indent unit: "+JSON.stringify(e[0]));return t}});function El(e){let t=e.facet(Zl);return 9==t.charCodeAt(0)?e.tabSize*t.length:t.length}function Vl(e,t){let n="",s=e.tabSize,i=e.facet(Zl)[0];if("\t"==i){for(;t>=s;)n+="\t",t-=s;i=" "}for(let e=0;e=t?function(e,t,n){let s=t.resolveStack(n),i=t.resolveInner(n,-1).resolve(n,0).enterUnfinishedNodesBefore(n);if(i!=s.node){let e=[];for(let t=i;t&&!(t.froms.node.to||t.from==s.node.from&&t.type==s.node.type);t=t.parent)e.push(t);for(let t=e.length-1;t>=0;t--)s={node:e[t],next:s}}return zl(s,e,n)}(e,n,t):null}class Al{constructor(e,t={}){this.state=e,this.options=t,this.unit=El(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:s,simulateDoubleBreak:i}=this.options;return null!=s&&s>=n.from&&s<=n.to?i&&s==e?{text:"",from:e}:(t<0?s-1&&(i+=r-this.countColumn(n,n.search(/\S|$/))),i}countColumn(e,t=e.length){return Be(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:s}=this.lineAt(e,t),i=this.options.overrideIndentation;if(i){let e=i(s);if(e>-1)return e}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const jl=new Ha;function zl(e,t,n){for(let s=e;s;s=s.next){let e=Yl(s.node);if(e)return e(Bl.create(t,n,s))}return 0}function Yl(e){let t=e.type.prop(jl);if(t)return t;let n,s=e.firstChild;if(s&&(n=s.type.prop(Ha.closedBy))){let t=e.lastChild,s=t&&n.indexOf(t.name)>-1;return e=>Il(e,!0,1,void 0,s&&!function(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}(e)?t.from:void 0)}return null==e.parent?Ul:null}function Ul(){return 0}class Bl extends Al{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new Bl(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(Ml(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return zl(this.context.next,this.base,this.pos)}}function Ml(e,t){for(let n=t;n;n=n.parent)if(e==n)return!0;return!1}function Gl({closing:e,align:t=!0,units:n=1}){return s=>Il(s,t,n,e)}function Il(e,t,n,s,i){let r=e.textAfter,a=r.match(/^\s*/)[0].length,o=s&&r.slice(a,a+s.length)==s||i==e.pos+a,l=t?function(e){let t=e.node,n=t.childAfter(t.from),s=t.lastChild;if(!n)return null;let i=e.options.simulateBreak,r=e.state.doc.lineAt(n.from),a=null==i||i<=r.from?r.to:Math.min(r.to,i);for(let e=n.to;;){let i=t.childAfter(e);if(!i||i==s)return null;if(!i.type.isSkipped){if(i.from>=a)return null;let e=/^ */.exec(r.text.slice(n.to-r.from))[0].length;return{from:n.from,to:n.to+e}}e=i.to}}(e):null;return l?o?e.column(l.from):e.column(l.to):e.baseIndent+(o?0:e.unit*n)}function Ll({except:e,units:t=1}={}){return n=>{let s=e&&e.test(n.textAfter);return n.baseIndent+(s?0:t*n.unit)}}const Nl=R.define(),Kl=new Ha;function Hl(e){let t=e.firstChild,n=e.lastChild;return t&&t.ton)continue;if(i&&a.from=t&&s.to>n&&(i=s)}}return i}(e,t,n)}function tO(e,t){let n=t.mapPos(e.from,1),s=t.mapPos(e.to,-1);return n>=s?void 0:{from:n,to:s}}const nO=pe.define({map:tO}),sO=pe.define({map:tO});function iO(e){let t=[];for(let{head:n}of e.state.selection.ranges)t.some(e=>e.from<=n&&e.to>=n)||t.push(e.lineBlockAt(n));return t}const rO=M.define({create:()=>cn.none,update(e,t){t.isUserEvent("delete")&&t.changes.iterChangedRanges((t,n)=>e=aO(e,t,n)),e=e.map(t.changes);for(let n of t.effects)if(n.is(nO)&&!lO(e,n.value.from,n.value.to)){let{preparePlaceholder:s}=t.state.facet(dO),i=s?cn.replace({widget:new gO(s(t.state,n.value))}):mO;e=e.update({add:[i.range(n.value.from,n.value.to)]})}else n.is(sO)&&(e=e.update({filter:(e,t)=>n.value.from!=e||n.value.to!=t,filterFrom:n.value.from,filterTo:n.value.to}));return t.selection&&(e=aO(e,t.selection.main.head)),e},provide:e=>rr.decorations.from(e),toJSON(e,t){let n=[];return e.between(0,t.doc.length,(e,t)=>{n.push(e,t)}),n},fromJSON(e){if(!Array.isArray(e)||e.length%2)throw new RangeError("Invalid JSON for fold state");let t=[];for(let n=0;n{et&&(s=!0)}),s?e.update({filterFrom:t,filterTo:n,filter:(e,s)=>e>=n||s<=t}):e}function oO(e,t,n){var s;let i=null;return null===(s=e.field(rO,!1))||void 0===s||s.between(t,n,(e,t)=>{(!i||i.from>e)&&(i={from:e,to:t})}),i}function lO(e,t,n){let s=!1;return e.between(t,t,(e,i)=>{e==t&&i==n&&(s=!0)}),s}function OO(e,t){return e.field(rO,!1)?t:t.concat(pe.appendConfig.of(fO()))}function cO(e,t,n=!0){let s=e.state.doc.lineAt(t.from).number,i=e.state.doc.lineAt(t.to).number;return rr.announce.of(`${e.state.phrase(n?"Folded lines":"Unfolded lines")} ${s} ${e.state.phrase("to")} ${i}.`)}const hO=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:e=>{for(let t of iO(e)){let n=eO(e.state,t.from,t.to);if(n)return e.dispatch({effects:OO(e.state,[nO.of(n),cO(e,n)])}),!0}return!1}},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:e=>{if(!e.state.field(rO,!1))return!1;let t=[];for(let n of iO(e)){let s=oO(e.state,n.from,n.to);s&&t.push(sO.of(s),cO(e,s,!1))}return t.length&&e.dispatch({effects:t}),t.length>0}},{key:"Ctrl-Alt-[",run:e=>{let{state:t}=e,n=[];for(let s=0;s{let t=e.state.field(rO,!1);if(!t||!t.size)return!1;let n=[];return t.between(0,e.state.doc.length,(e,t)=>{n.push(sO.of({from:e,to:t}))}),e.dispatch({effects:n}),!0}}],uO={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},dO=R.define({combine:e=>ke(e,uO)});function fO(e){return[rO,XO]}function pO(e,t){let{state:n}=e,s=n.facet(dO),i=t=>{let n=e.lineBlockAt(e.posAtDOM(t.target)),s=oO(e.state,n.from,n.to);s&&e.dispatch({effects:sO.of(s)}),t.preventDefault()};if(s.placeholderDOM)return s.placeholderDOM(e,i,t);let r=document.createElement("span");return r.textContent=s.placeholderText,r.setAttribute("aria-label",n.phrase("folded code")),r.title=n.phrase("unfold"),r.className="cm-foldPlaceholder",r.onclick=i,r}const mO=cn.replace({widget:new class extends ln{toDOM(e){return pO(e,null)}}});class gO extends ln{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return pO(e,this.value)}}const QO={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class $O extends va{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}function xO(e={}){let t={...QO,...e},n=new $O(t,!0),s=new $O(t,!1),i=as.fromClass(class{constructor(e){this.from=e.viewport.from,this.markers=this.buildMarkers(e)}update(e){(e.docChanged||e.viewportChanged||e.startState.facet(Wl)!=e.state.facet(Wl)||e.startState.field(rO,!1)!=e.state.field(rO,!1)||bl(e.startState)!=bl(e.state)||t.foldingChanged(e))&&(this.markers=this.buildMarkers(e.view))}buildMarkers(e){let t=new Ce;for(let i of e.viewportLineBlocks){let r=oO(e.state,i.from,i.to)?s:eO(e.state,i.from,i.to)?n:null;r&&t.add(i.from,i.from,r)}return t.finish()}}),{domEventHandlers:r}=t;return[i,Da({class:"cm-foldGutter",markers(e){var t;return(null===(t=e.plugin(i))||void 0===t?void 0:t.markers)||qe.empty},initialSpacer:()=>new $O(t,!1),domEventHandlers:{...r,click:(e,t,n)=>{if(r.click&&r.click(e,t,n))return!0;let s=oO(e.state,t.from,t.to);if(s)return e.dispatch({effects:sO.of(s)}),!0;let i=eO(e.state,t.from,t.to);return!!i&&(e.dispatch({effects:nO.of(i)}),!0)}}}),fO()]}const XO=rr.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class bO{constructor(e,t){let n;function s(e){let t=Ne.newName();return(n||(n=Object.create(null)))["."+t]=e,t}this.specs=e;const i="string"==typeof t.all?t.all:t.all?s(t.all):void 0,r=t.scope;this.scope=r instanceof $l?e=>e.prop(ml)==r.data:r?e=>e==r:void 0,this.style=No(e.map(e=>({tag:e.tag,class:e.class||s(Object.assign({},e,{tag:null}))})),{all:i}).style,this.module=n?new Ne(n):null,this.themeType=t.themeType}static define(e,t){return new bO(e,t||{})}}const yO=R.define(),SO=R.define({combine:e=>e.length?[e[0]]:null});function vO(e){let t=e.facet(yO);return t.length?t:e.facet(SO)}function wO(e,t){let n,s=[kO];return e instanceof bO&&(e.module&&s.push(rr.styleModule.of(e.module)),n=e.themeType),(null==t?void 0:t.fallback)?s.push(SO.of(e)):n?s.push(yO.computeN([rr.darkTheme],t=>t.facet(rr.darkTheme)==("dark"==n)?[e]:[])):s.push(yO.of(e)),s}class PO{constructor(e){this.markCache=Object.create(null),this.tree=bl(e.state),this.decorations=this.buildDeco(e,vO(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=bl(e.state),n=vO(e.state),s=n!=vO(e.startState),{viewport:i}=e.view,r=e.changes.mapPos(this.decoratedTo,1);t.length=i.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=r):(t!=this.tree||e.viewportChanged||s)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=i.to)}buildDeco(e,t){if(!t||!this.tree.length)return cn.none;let n=new Ce;for(let{from:s,to:i}of e.visibleRanges)Ko(this.tree,t,(e,t,s)=>{n.add(e,t,this.markCache[s]||(this.markCache[s]=cn.mark({class:s})))},s,i);return n.finish()}}const kO=H.high(as.fromClass(PO,{decorations:e=>e.decorations})),_O=bO.define([{tag:fl.meta,color:"#404740"},{tag:fl.link,textDecoration:"underline"},{tag:fl.heading,textDecoration:"underline",fontWeight:"bold"},{tag:fl.emphasis,fontStyle:"italic"},{tag:fl.strong,fontWeight:"bold"},{tag:fl.strikethrough,textDecoration:"line-through"},{tag:fl.keyword,color:"#708"},{tag:[fl.atom,fl.bool,fl.url,fl.contentSeparator,fl.labelName],color:"#219"},{tag:[fl.literal,fl.inserted],color:"#164"},{tag:[fl.string,fl.deleted],color:"#a11"},{tag:[fl.regexp,fl.escape,fl.special(fl.string)],color:"#e40"},{tag:fl.definition(fl.variableName),color:"#00f"},{tag:fl.local(fl.variableName),color:"#30a"},{tag:[fl.typeName,fl.namespace],color:"#085"},{tag:fl.className,color:"#167"},{tag:[fl.special(fl.variableName),fl.macroName],color:"#256"},{tag:fl.definition(fl.propertyName),color:"#00c"},{tag:fl.comment,color:"#940"},{tag:fl.invalid,color:"#f00"}]),DO=rr.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),TO="()[]{}",WO=R.define({combine:e=>ke(e,{afterCursor:!0,brackets:TO,maxScanDistance:1e4,renderMatch:FO})}),qO=cn.mark({class:"cm-matchingBracket"}),CO=cn.mark({class:"cm-nonmatchingBracket"});function FO(e){let t=[],n=e.matched?qO:CO;return t.push(n.range(e.start.from,e.start.to)),e.end&&t.push(n.range(e.end.from,e.end.to)),t}const ZO=M.define({create:()=>cn.none,update(e,t){if(!t.docChanged&&!t.selection)return e;let n=[],s=t.state.facet(WO);for(let e of t.state.selection.ranges){if(!e.empty)continue;let i=zO(t.state,e.head,-1,s)||e.head>0&&zO(t.state,e.head-1,1,s)||s.afterCursor&&(zO(t.state,e.head,1,s)||e.headrr.decorations.from(e)}),EO=[ZO,DO];function VO(e={}){return[WO.of(e),EO]}const RO=new Ha;function AO(e,t,n){let s=e.prop(t<0?Ha.openedBy:Ha.closedBy);if(s)return s;if(1==e.name.length){let s=n.indexOf(e.name);if(s>-1&&s%2==(t<0?1:0))return[n[s+t]]}return null}function jO(e){let t=e.type.prop(RO);return t?t(e.node):e}function zO(e,t,n,s={}){let i=s.maxScanDistance||1e4,r=s.brackets||TO,a=bl(e),o=a.resolveInner(t,n);for(let s=o;s;s=s.parent){let i=AO(s.type,n,r);if(i&&s.from0?t>=a.from&&ta.from&&t<=a.to))return YO(e,t,n,s,a,i,r)}}return function(e,t,n,s,i,r,a){let o=n<0?e.sliceDoc(t-1,t):e.sliceDoc(t,t+1),l=a.indexOf(o);if(l<0||l%2==0!=n>0)return null;let O={from:n<0?t-1:t,to:n>0?t+1:t},c=e.doc.iterRange(t,n>0?e.doc.length:0),h=0;for(let e=0;!c.next().done&&e<=r;){let r=c.value;n<0&&(e+=r.length);let o=t+e*n;for(let e=n>0?0:r.length-1,t=n>0?r.length:-1;e!=t;e+=n){let t=a.indexOf(r[e]);if(!(t<0||s.resolveInner(o+e,1).type!=i))if(t%2==0==n>0)h++;else{if(1==h)return{start:O,end:{from:o+e,to:o+e+1},matched:t>>1==l>>1};h--}}n>0&&(e+=r.length)}return c.done?{start:O,matched:!1}:null}(e,t,n,a,o.type,i,r)}function YO(e,t,n,s,i,r,a){let o=s.parent,l={from:i.from,to:i.to},O=0,c=null==o?void 0:o.cursor();if(c&&(n<0?c.childBefore(s.from):c.childAfter(s.to)))do{if(n<0?c.to<=s.from:c.from>=s.to){if(0==O&&r.indexOf(c.type.name)>-1&&c.from-1||(MO.push(e),console.warn(t))}function NO(e,t){let n=[];for(let s of t.split(" ")){let t=[];for(let n of s.split(".")){let s=e[n]||fl[n];s?"function"==typeof s?t.length?t=t.map(s):LO(n,`Modifier ${n} used at start of tag`):t.length?LO(n,`Tag ${n} used as modifier`):t=Array.isArray(s)?s:[s]:LO(n,`Unknown highlighting tag ${n}`)}for(let e of t)n.push(e)}if(!n.length)return 0;let s=t.replace(/ /g,"_"),i=s+" "+n.map(e=>e.id),r=GO[i];if(r)return r.id;let a=GO[i]=to.define({id:BO.length,name:s,props:[Go({[s]:n})]});return BO.push(a),a.id}bn.RTL,bn.LTR;function KO(e,t){return({state:n,dispatch:s})=>{if(n.readOnly)return!1;let i=e(t,n);return!!i&&(s(n.update(i)),!0)}}const HO=KO(ic,0),JO=KO(sc,0),ec=KO((e,t)=>sc(e,t,function(e){let t=[];for(let n of e.selection.ranges){let s=e.doc.lineAt(n.from),i=n.to<=s.to?s:e.doc.lineAt(n.to);i.from>s.from&&i.from==n.to&&(i=n.to==s.to+1?s:e.doc.lineAt(n.to-1));let r=t.length-1;r>=0&&t[r].to>s.from?t[r].to=i.to:t.push({from:s.from+/^\s*/.exec(s.text)[0].length,to:i.to})}return t}(t)),0);function tc(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}const nc=50;function sc(e,t,n=t.selection.ranges){let s=n.map(e=>tc(t,e.from).block);if(!s.every(e=>e))return null;let i=n.map((e,n)=>function(e,{open:t,close:n},s,i){let r,a,o=e.sliceDoc(s-nc,s),l=e.sliceDoc(i,i+nc),O=/\s*$/.exec(o)[0].length,c=/^\s*/.exec(l)[0].length,h=o.length-O;if(o.slice(h-t.length,h)==t&&l.slice(c,c+n.length)==n)return{open:{pos:s-O,margin:O&&1},close:{pos:i+c,margin:c&&1}};i-s<=2*nc?r=a=e.sliceDoc(s,i):(r=e.sliceDoc(s,s+nc),a=e.sliceDoc(i-nc,i));let u=/^\s*/.exec(r)[0].length,d=/\s*$/.exec(a)[0].length,f=a.length-d-n.length;return r.slice(u,u+t.length)==t&&a.slice(f,f+n.length)==n?{open:{pos:s+u+t.length,margin:/\s/.test(r.charAt(u+t.length))?1:0},close:{pos:i-d-n.length,margin:/\s/.test(a.charAt(f-1))?1:0}}:null}(t,s[n],e.from,e.to));if(2!=e&&!i.every(e=>e))return{changes:t.changes(n.map((e,t)=>i[t]?[]:[{from:e.from,insert:s[t].open+" "},{from:e.to,insert:" "+s[t].close}]))};if(1!=e&&i.some(e=>e)){let e=[];for(let t,n=0;ni&&(e==r||r>l.from)){i=l.from;let e=/^\s*/.exec(l.text)[0].length,t=e==l.length,n=l.text.slice(e,e+o.length)==o?e:-1;ee.comment<0&&(!e.empty||e.single))){let e=[];for(let{line:t,token:n,indent:i,empty:r,single:a}of s)!a&&r||e.push({from:t.from+i,insert:n+" "});let n=t.changes(e);return{changes:n,selection:t.selection.map(n,1)}}if(1!=e&&s.some(e=>e.comment>=0)){let e=[];for(let{line:t,comment:n,token:i}of s)if(n>=0){let s=t.from+n,r=s+i.length;" "==t.text[r-t.from]&&r++,e.push({from:s,to:r})}return{changes:e}}return null}const rc=ue.define(),ac=ue.define(),oc=R.define(),lc=R.define({combine:e=>ke(e,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,s)=>e(n,s)||t(n,s)})}),Oc=M.define({create:()=>kc.empty,update(e,t){let n=t.state.facet(lc),s=t.annotation(rc);if(s){let i=Qc.fromTransaction(t,s.selection),r=s.side,a=0==r?e.undone:e.done;return a=i?$c(a,a.length,n.minDepth,i):yc(a,t.startState.selection),new kc(0==r?s.rest:a,0==r?a:s.rest)}let i=t.annotation(ac);if("full"!=i&&"before"!=i||(e=e.isolate()),!1===t.annotation(me.addToHistory))return t.changes.empty?e:e.addMapping(t.changes.desc);let r=Qc.fromTransaction(t),a=t.annotation(me.time),o=t.annotation(me.userEvent);return r?e=e.addChanges(r,a,o,n,t):t.selection&&(e=e.addSelection(t.startState.selection,a,o,n.newGroupDelay)),"full"!=i&&"after"!=i||(e=e.isolate()),e},toJSON:e=>({done:e.done.map(e=>e.toJSON()),undone:e.undone.map(e=>e.toJSON())}),fromJSON:e=>new kc(e.done.map(Qc.fromJSON),e.undone.map(Qc.fromJSON))});function cc(e={}){return[Oc,lc.of(e),rr.domEventHandlers({beforeinput(e,t){let n="historyUndo"==e.inputType?uc:"historyRedo"==e.inputType?dc:null;return!!n&&(e.preventDefault(),n(t))}})]}function hc(e,t){return function({state:n,dispatch:s}){if(!t&&n.readOnly)return!1;let i=n.field(Oc,!1);if(!i)return!1;let r=i.pop(e,n,t);return!!r&&(s(r),!0)}}const uc=hc(0,!1),dc=hc(1,!1),fc=hc(0,!0),pc=hc(1,!0);function mc(e){return function(t){let n=t.field(Oc,!1);if(!n)return 0;let s=0==e?n.done:n.undone;return s.length-(s.length&&!s[0].changes?1:0)}}const gc=mc(0);class Qc{constructor(e,t,n,s,i){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=s,this.selectionsAfter=i}setSelAfter(e){return new Qc(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:null===(e=this.changes)||void 0===e?void 0:e.toJSON(),mapped:null===(t=this.mapped)||void 0===t?void 0:t.toJSON(),startSelection:null===(n=this.startSelection)||void 0===n?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(e=>e.toJSON())}}static fromJSON(e){return new Qc(e.changes&&k.fromJSON(e.changes),[],e.mapped&&P.fromJSON(e.mapped),e.startSelection&&Z.fromJSON(e.startSelection),e.selectionsAfter.map(Z.fromJSON))}static fromTransaction(e,t){let n=Xc;for(let t of e.startState.facet(oc)){let s=t(e);s.length&&(n=n.concat(s))}return!n.length&&e.changes.empty?null:new Qc(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,Xc)}static selection(e){return new Qc(void 0,Xc,void 0,void 0,e)}}function $c(e,t,n,s){let i=t+1>n+20?t-n-1:0,r=e.slice(i,t);return r.push(s),r}function xc(e,t){return e.length?t.length?e.concat(t):e:t}const Xc=[],bc=200;function yc(e,t){if(e.length){let n=e[e.length-1],s=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-bc));return s.length&&s[s.length-1].eq(t)?e:(s.push(t),$c(e,e.length-1,1e9,n.setSelAfter(s)))}return[Qc.selection([t])]}function Sc(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function vc(e,t){if(!e.length)return e;let n=e.length,s=Xc;for(;n;){let i=wc(e[n-1],t,s);if(i.changes&&!i.changes.empty||i.effects.length){let t=e.slice(0,n);return t[n-1]=i,t}t=i.mapped,n--,s=i.selectionsAfter}return s.length?[Qc.selection(s)]:Xc}function wc(e,t,n){let s=xc(e.selectionsAfter.length?e.selectionsAfter.map(e=>e.map(t)):Xc,n);if(!e.changes)return Qc.selection(s);let i=e.changes.map(t),r=t.mapDesc(e.changes,!0),a=e.mapped?e.mapped.composeDesc(r):r;return new Qc(i,pe.mapEffects(e.effects,t),a,e.startSelection.map(r),s)}const Pc=/^(input\.type|delete)($|\.)/;class kc{constructor(e,t,n=0,s=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=s}isolate(){return this.prevTime?new kc(this.done,this.undone):this}addChanges(e,t,n,s,i){let r=this.done,a=r[r.length-1];return r=a&&a.changes&&!a.changes.empty&&e.changes&&(!n||Pc.test(n))&&(!a.selectionsAfter.length&&t-this.prevTimen.push(e,t)),t.iterChangedRanges((e,t,i,r)=>{for(let e=0;e=t&&i<=a&&(s=!0)}}),s}(a.changes,e.changes))||"input.type.compose"==n)?$c(r,r.length-1,s.minDepth,new Qc(e.changes.compose(a.changes),xc(pe.mapEffects(e.effects,a.changes),a.effects),a.mapped,a.startSelection,Xc)):$c(r,r.length,s.minDepth,e),new kc(r,Xc,t,n)}addSelection(e,t,n,s){let i=this.done.length?this.done[this.done.length-1].selectionsAfter:Xc;return i.length>0&&t-this.prevTimee.empty!=a.ranges[t].empty).length)?this:new kc(yc(this.done,e),this.undone,t,n);var r,a}addMapping(e){return new kc(vc(this.done,e),vc(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,n){let s=0==e?this.done:this.undone;if(0==s.length)return null;let i=s[s.length-1],r=i.selectionsAfter[0]||t.selection;if(n&&i.selectionsAfter.length)return t.update({selection:i.selectionsAfter[i.selectionsAfter.length-1],annotations:rc.of({side:e,rest:Sc(s),selection:r}),userEvent:0==e?"select.undo":"select.redo",scrollIntoView:!0});if(i.changes){let n=1==s.length?Xc:s.slice(0,s.length-1);return i.mapped&&(n=vc(n,i.mapped)),t.update({changes:i.changes,selection:i.startSelection,effects:i.effects,annotations:rc.of({side:e,rest:n,selection:r}),filter:!1,userEvent:0==e?"undo":"redo",scrollIntoView:!0})}return null}}kc.empty=new kc(Xc,Xc);const _c=[{key:"Mod-z",run:uc,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:dc,preventDefault:!0},{linux:"Ctrl-Shift-z",run:dc,preventDefault:!0},{key:"Mod-u",run:fc,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:pc,preventDefault:!0}];function Dc(e,t){return Z.create(e.ranges.map(t),e.mainIndex)}function Tc(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function Wc({state:e,dispatch:t},n){let s=Dc(e.selection,n);return!s.eq(e.selection,!0)&&(t(Tc(e,s)),!0)}function qc(e,t){return Z.cursor(t?e.to:e.from)}function Cc(e,t){return Wc(e,n=>n.empty?e.moveByChar(n,t):qc(n,t))}function Fc(e){return e.textDirectionAt(e.state.selection.main.head)==bn.LTR}const Zc=e=>Cc(e,!Fc(e)),Ec=e=>Cc(e,Fc(e));function Vc(e,t){return Wc(e,n=>n.empty?e.moveByGroup(n,t):qc(n,t))}function Rc(e,t,n){if(t.type.prop(n))return!0;let s=t.to-t.from;return s&&(s>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function Ac(e,t,n){let s,i,r=bl(e).resolveInner(t.head),a=n?Ha.closedBy:Ha.openedBy;for(let s=t.head;;){let t=n?r.childAfter(s):r.childBefore(s);if(!t)break;Rc(e,t,a)?r=t:s=n?t.to:t.from}return i=r.type.prop(a)&&(s=n?zO(e,r.from,1):zO(e,r.to,-1))&&s.matched?n?s.end.to:s.end.from:n?r.to:r.from,Z.cursor(i,n?-1:1)}function jc(e,t){return Wc(e,n=>{if(!n.empty)return qc(n,t);let s=e.moveVertically(n,t);return s.head!=n.head?s:e.moveToLineBoundary(n,t)})}const zc=e=>jc(e,!1),Yc=e=>jc(e,!0);function Uc(e){let t,n=e.scrollDOM.clientHeightn.empty?e.moveVertically(n,t,s.height):qc(n,t));if(r.eq(i.selection))return!1;if(s.selfScroll){let t=e.coordsAtPos(i.selection.main.head),a=e.scrollDOM.getBoundingClientRect(),o=a.top+s.marginTop,l=a.bottom-s.marginBottom;t&&t.top>o&&t.bottomBc(e,!1),Gc=e=>Bc(e,!0);function Ic(e,t,n){let s=e.lineBlockAt(t.head),i=e.moveToLineBoundary(t,n);if(i.head==t.head&&i.head!=(n?s.to:s.from)&&(i=e.moveToLineBoundary(t,n,!1)),!n&&i.head==s.from&&s.length){let n=/^\s*/.exec(e.state.sliceDoc(s.from,Math.min(s.from+100,s.to)))[0].length;n&&t.head!=s.from+n&&(i=Z.cursor(s.from+n))}return i}function Lc(e,t){let n=Dc(e.state.selection,e=>{let n=t(e);return Z.range(e.anchor,n.head,n.goalColumn,n.bidiLevel||void 0)});return!n.eq(e.state.selection)&&(e.dispatch(Tc(e.state,n)),!0)}function Nc(e,t){return Lc(e,n=>e.moveByChar(n,t))}const Kc=e=>Nc(e,!Fc(e)),Hc=e=>Nc(e,Fc(e));function Jc(e,t){return Lc(e,n=>e.moveByGroup(n,t))}function eh(e,t){return Lc(e,n=>e.moveVertically(n,t))}const th=e=>eh(e,!1),nh=e=>eh(e,!0);function sh(e,t){return Lc(e,n=>e.moveVertically(n,t,Uc(e).height))}const ih=e=>sh(e,!1),rh=e=>sh(e,!0),ah=({state:e,dispatch:t})=>(t(Tc(e,{anchor:0})),!0),oh=({state:e,dispatch:t})=>(t(Tc(e,{anchor:e.doc.length})),!0),lh=({state:e,dispatch:t})=>(t(Tc(e,{anchor:e.selection.main.anchor,head:0})),!0),Oh=({state:e,dispatch:t})=>(t(Tc(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0);function ch(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:s}=e,i=s.changeByRange(s=>{let{from:i,to:r}=s;if(i==r){let a=t(s);ai&&(n="delete.forward",a=hh(e,a,!0)),i=Math.min(i,a),r=Math.max(r,a)}else i=hh(e,i,!1),r=hh(e,r,!0);return i==r?{range:s}:{changes:{from:i,to:r},range:Z.cursor(i,it(e)))s.between(t,t,(e,s)=>{et&&(t=n?s:e)});return t}const uh=(e,t,n)=>ch(e,s=>{let i,r,a=s.from,{state:o}=e,l=o.doc.lineAt(a);if(n&&!t&&a>l.from&&auh(e,!1,!0),fh=e=>uh(e,!0,!1),ph=(e,t)=>ch(e,n=>{let s=n.head,{state:i}=e,r=i.doc.lineAt(s),a=i.charCategorizer(s);for(let e=null;;){if(s==(t?r.to:r.from)){s==n.head&&r.number!=(t?i.doc.lines:1)&&(s+=t?1:-1);break}let o=X(r.text,s-r.from,t)+r.from,l=r.text.slice(Math.min(s,o)-r.from,Math.max(s,o)-r.from),O=a(l);if(null!=e&&O!=e)break;" "==l&&s==n.head||(e=O),s=o}return s}),mh=e=>ph(e,!1);function gh(e){let t=[],n=-1;for(let s of e.selection.ranges){let i=e.doc.lineAt(s.from),r=e.doc.lineAt(s.to);if(s.empty||s.to!=r.from||(r=e.doc.lineAt(s.to-1)),n>=i.number){let e=t[t.length-1];e.to=r.to,e.ranges.push(s)}else t.push({from:i.from,to:r.to,ranges:[s]});n=r.number+1}return t}function Qh(e,t,n){if(e.readOnly)return!1;let s=[],i=[];for(let t of gh(e)){if(n?t.to==e.doc.length:0==t.from)continue;let r=e.doc.lineAt(n?t.to+1:t.from-1),a=r.length+1;if(n){s.push({from:t.to,to:r.to},{from:t.from,insert:r.text+e.lineBreak});for(let n of t.ranges)i.push(Z.range(Math.min(e.doc.length,n.anchor+a),Math.min(e.doc.length,n.head+a)))}else{s.push({from:r.from,to:t.from},{from:t.to,insert:e.lineBreak+r.text});for(let e of t.ranges)i.push(Z.range(e.anchor-a,e.head-a))}}return!!s.length&&(t(e.update({changes:s,scrollIntoView:!0,selection:Z.create(i,e.selection.mainIndex),userEvent:"move.line"})),!0)}function $h(e,t,n){if(e.readOnly)return!1;let s=[];for(let t of gh(e))n?s.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):s.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});return t(e.update({changes:s,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const xh=Xh(!1);function Xh(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let s=t.changeByRange(n=>{let{from:s,to:i}=n,r=t.doc.lineAt(s),a=!e&&s==i&&function(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n,s=bl(e).resolveInner(t),i=s.childBefore(t),r=s.childAfter(t);return i&&r&&i.to<=t&&r.from>=t&&(n=i.type.prop(Ha.closedBy))&&n.indexOf(r.name)>-1&&e.doc.lineAt(i.to).from==e.doc.lineAt(r.from).from&&!/\S/.test(e.sliceDoc(i.to,r.from))?{from:i.to,to:r.from}:null}(t,s);e&&(s=i=(i<=r.to?r:t.doc.lineAt(i)).to);let o=new Al(t,{simulateBreak:s,simulateDoubleBreak:!!a}),l=Rl(o,s);for(null==l&&(l=Be(/^\s*/.exec(t.doc.lineAt(s).text)[0],t.tabSize));ir.from&&s{let i=[];for(let r=s.from;r<=s.to;){let a=e.doc.lineAt(r);a.number>n&&(s.empty||s.to>a.from)&&(t(a,i,s),n=a.number),r=a.to+1}let r=e.changes(i);return{changes:i,range:Z.range(r.mapPos(s.anchor,1),r.mapPos(s.head,1))}})}const yh=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(bh(e,(t,n)=>{n.push({from:t.from,insert:e.facet(Zl)})}),{userEvent:"input.indent"})),!0),Sh=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(bh(e,(t,n)=>{let s=/^\s*/.exec(t.text)[0];if(!s)return;let i=Be(s,e.tabSize),r=0,a=Vl(e,Math.max(0,i-El(e)));for(;rWc(e,t=>Z.cursor(e.lineBlockAt(t.head).from,1)),shift:e=>Lc(e,t=>Z.cursor(e.lineBlockAt(t.head).from))},{key:"Ctrl-e",run:e=>Wc(e,t=>Z.cursor(e.lineBlockAt(t.head).to,-1)),shift:e=>Lc(e,t=>Z.cursor(e.lineBlockAt(t.head).to))},{key:"Ctrl-d",run:fh},{key:"Ctrl-h",run:dh},{key:"Ctrl-k",run:e=>ch(e,t=>{let n=e.lineBlockAt(t.head).to;return t.head{if(e.readOnly)return!1;let n=e.changeByRange(e=>({changes:{from:e.from,to:e.to,insert:h.of(["",""])},range:Z.cursor(e.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(t=>{if(!t.empty||0==t.from||t.from==e.doc.length)return{range:t};let n=t.from,s=e.doc.lineAt(n),i=n==s.from?n-1:X(s.text,n-s.from,!1)+s.from,r=n==s.to?n+1:X(s.text,n-s.from,!0)+s.from;return{changes:{from:i,to:r,insert:e.doc.slice(n,r).append(e.doc.slice(i,n))},range:Z.cursor(r)}});return!n.changes.empty&&(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:Gc}],wh=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:e=>Wc(e,t=>Ac(e.state,t,!Fc(e))),shift:e=>Lc(e,t=>Ac(e.state,t,!Fc(e)))},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:e=>Wc(e,t=>Ac(e.state,t,Fc(e))),shift:e=>Lc(e,t=>Ac(e.state,t,Fc(e)))},{key:"Alt-ArrowUp",run:({state:e,dispatch:t})=>Qh(e,t,!1)},{key:"Shift-Alt-ArrowUp",run:({state:e,dispatch:t})=>$h(e,t,!1)},{key:"Alt-ArrowDown",run:({state:e,dispatch:t})=>Qh(e,t,!0)},{key:"Shift-Alt-ArrowDown",run:({state:e,dispatch:t})=>$h(e,t,!0)},{key:"Escape",run:({state:e,dispatch:t})=>{let n=e.selection,s=null;return n.ranges.length>1?s=Z.create([n.main]):n.main.empty||(s=Z.create([Z.cursor(n.main.head)])),!!s&&(t(Tc(e,s)),!0)}},{key:"Mod-Enter",run:Xh(!0)},{key:"Alt-l",mac:"Ctrl-l",run:({state:e,dispatch:t})=>{let n=gh(e).map(({from:t,to:n})=>Z.range(t,Math.min(n+1,e.doc.length)));return t(e.update({selection:Z.create(n),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:e,dispatch:t})=>{let n=Dc(e.selection,t=>{let n=bl(e),s=n.resolveStack(t.from,1);if(t.empty){let e=n.resolveStack(t.from,-1);e.node.from>=s.node.from&&e.node.to<=s.node.to&&(s=e)}for(let e=s;e;e=e.next){let{node:n}=e;if((n.from=t.to||n.to>t.to&&n.from<=t.from)&&e.next)return Z.range(n.to,n.from)}return t});return!n.eq(e.selection)&&(t(Tc(e,n)),!0)},preventDefault:!0},{key:"Mod-[",run:Sh},{key:"Mod-]",run:yh},{key:"Mod-Alt-\\",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),s=new Al(e,{overrideIndentation:e=>{let t=n[e];return null==t?-1:t}}),i=bh(e,(t,i,r)=>{let a=Rl(s,t.from);if(null==a)return;/\S/.test(t.text)||(a=0);let o=/^\s*/.exec(t.text)[0],l=Vl(e,a);(o!=l||r.from{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(gh(t).map(({from:e,to:n})=>(e>0?e--:n{let n;if(e.lineWrapping){let s=e.lineBlockAt(t.head),i=e.coordsAtPos(t.head,t.assoc||1);i&&(n=s.bottom+e.documentTop-i.bottom+e.defaultLineHeight/2)}return e.moveVertically(t,!0,n)}).map(n);return e.dispatch({changes:n,selection:s,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:e,dispatch:t})=>function(e,t){let n=!1,s=Dc(e.selection,t=>{let s=zO(e,t.head,-1)||zO(e,t.head,1)||t.head>0&&zO(e,t.head-1,1)||t.head{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),s=tc(e.state,n.from);return s.line?HO(e):!!s.block&&ec(e)}},{key:"Alt-A",run:JO},{key:"Ctrl-m",mac:"Shift-Alt-m",run:e=>(e.setTabFocusMode(),!0)}].concat([{key:"ArrowLeft",run:Zc,shift:Kc,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:e=>Vc(e,!Fc(e)),shift:e=>Jc(e,!Fc(e)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:e=>Wc(e,t=>Ic(e,t,!Fc(e))),shift:e=>Lc(e,t=>Ic(e,t,!Fc(e))),preventDefault:!0},{key:"ArrowRight",run:Ec,shift:Hc,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:e=>Vc(e,Fc(e)),shift:e=>Jc(e,Fc(e)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:e=>Wc(e,t=>Ic(e,t,Fc(e))),shift:e=>Lc(e,t=>Ic(e,t,Fc(e))),preventDefault:!0},{key:"ArrowUp",run:zc,shift:th,preventDefault:!0},{mac:"Cmd-ArrowUp",run:ah,shift:lh},{mac:"Ctrl-ArrowUp",run:Mc,shift:ih},{key:"ArrowDown",run:Yc,shift:nh,preventDefault:!0},{mac:"Cmd-ArrowDown",run:oh,shift:Oh},{mac:"Ctrl-ArrowDown",run:Gc,shift:rh},{key:"PageUp",run:Mc,shift:ih},{key:"PageDown",run:Gc,shift:rh},{key:"Home",run:e=>Wc(e,t=>Ic(e,t,!1)),shift:e=>Lc(e,t=>Ic(e,t,!1)),preventDefault:!0},{key:"Mod-Home",run:ah,shift:lh},{key:"End",run:e=>Wc(e,t=>Ic(e,t,!0)),shift:e=>Lc(e,t=>Ic(e,t,!0)),preventDefault:!0},{key:"Mod-End",run:oh,shift:Oh},{key:"Enter",run:xh,shift:xh},{key:"Mod-a",run:({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:dh,shift:dh},{key:"Delete",run:fh},{key:"Mod-Backspace",mac:"Alt-Backspace",run:mh},{key:"Mod-Delete",mac:"Alt-Delete",run:e=>ph(e,!0)},{mac:"Mod-Backspace",run:e=>ch(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)})},{mac:"Mod-Delete",run:e=>ch(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head({mac:e.key,run:e.run,shift:e.shift})))),Ph={key:"Tab",run:yh,shift:Sh};class kh{constructor(e,t,n,s){this.state=e,this.pos=t,this.explicit=n,this.view=s,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=bl(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),s=t.text.slice(n-t.from,this.pos-t.from),i=s.search(qh(e,!1));return i<0?null:{from:n+i,to:this.pos,text:s.slice(i)}}get aborted(){return null==this.abortListeners}addEventListener(e,t,n){"abort"==e&&this.abortListeners&&(this.abortListeners.push(t),n&&n.onDocChange&&(this.abortOnDocChange=!0))}}function _h(e){let t=Object.keys(e).join(""),n=/\w/.test(t);return n&&(t=t.replace(/\w/g,"")),`[${n?"\\w":""}${t.replace(/[^\w\s]/g,"\\$&")}]`}function Dh(e){let t=e.map(e=>"string"==typeof e?{label:e}:e),[n,s]=t.every(e=>/^\w+$/.test(e.label))?[/\w*$/,/\w+$/]:function(e){let t=Object.create(null),n=Object.create(null);for(let{label:s}of e){t[s[0]]=!0;for(let e=1;e{let i=e.matchBefore(s);return i||e.explicit?{from:i?i.from:e.pos,options:t,validFor:n}:null}}class Th{constructor(e,t,n,s){this.completion=e,this.source=t,this.match=n,this.score=s}}function Wh(e){return e.selection.main.from}function qh(e,t){var n;let{source:s}=e,i=t&&"^"!=s[0],r="$"!=s[s.length-1];return i||r?new RegExp(`${i?"^":""}(?:${s})${r?"$":""}`,null!==(n=e.flags)&&void 0!==n?n:e.ignoreCase?"i":""):e}const Ch=ue.define();const Fh=new WeakMap;function Zh(e){if(!Array.isArray(e))return e;let t=Fh.get(e);return t||Fh.set(e,t=Dh(e)),t}const Eh=pe.define(),Vh=pe.define();class Rh{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t=48&&l<=57||l>=97&&l<=122?2:l>=65&&l<=90?1:0:(Q=y(l))!=Q.toLowerCase()?1:Q!=Q.toUpperCase()?2:0;(!s||1==$&&p||0==g&&0!=$)&&(t[c]==l||n[c]==l&&(h=!0)?r[c++]=s:r.length&&(m=!1)),g=$,s+=S(l)}return c==o&&0==r[0]&&m?this.result((h?-200:0)-100,r,e):u==o&&0==d?this.ret(-200-e.length+(f==e.length?0:-100),[0,f]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):u==o?this.ret(-900-e.length,[d,f]):c==o?this.result((h?-200:0)-100-700+(m?0:-1100),r,e):2==t.length?null:this.result((s[0]?-700:0)-200-1100,s,e)}result(e,t,n){let s=[],i=0;for(let e of t){let t=e+(this.astral?S(b(n,e)):1);i&&s[i-1]==e?s[i-1]=t:(s[i++]=e,s[i++]=t)}return this.ret(e-n.length,s)}}class Ah{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.lengthke(e,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:Yh,filterStrict:!1,compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>n=>zh(e(n),t(n)),optionClass:(e,t)=>n=>zh(e(n),t(n)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})});function zh(e,t){return e?t?e+" "+t:e:t}function Yh(e,t,n,s,i,r){let a,o,l=e.textDirection==bn.RTL,O=l,c=!1,h="top",u=t.left-i.left,d=i.right-t.right,f=s.right-s.left,p=s.bottom-s.top;if(O&&u=p||e>t.top?a=n.bottom-t.top:(h="bottom",a=t.bottom-n.top)}return{style:`${h}: ${a/((t.bottom-t.top)/r.offsetHeight)}px; max-width: ${o/((t.right-t.left)/r.offsetWidth)}px`,class:"cm-completionInfo-"+(c?l?"left-narrow":"right-narrow":O?"left":"right")}}function Uh(e,t,n){if(e<=n)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let e=Math.floor(t/n);return{from:e*n,to:(e+1)*n}}let s=Math.floor((e-t)/n);return{from:e-(s+1)*n,to:e-s*n}}class Bh{constructor(e,t,n){this.view=e,this.stateField=t,this.applyCompletion=n,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:e=>this.placeInfo(e),key:this},this.space=null,this.currentClass="";let s=e.state.field(t),{options:i,selected:r}=s.open,a=e.state.facet(jh);this.optionContent=function(e){let t=e.addToOptions.slice();return e.icons&&t.push({render(e){let t=document.createElement("div");return t.classList.add("cm-completionIcon"),e.type&&t.classList.add(...e.type.split(/\s+/g).map(e=>"cm-completionIcon-"+e)),t.setAttribute("aria-hidden","true"),t},position:20}),t.push({render(e,t,n,s){let i=document.createElement("span");i.className="cm-completionLabel";let r=e.displayLabel||e.label,a=0;for(let e=0;ea&&i.appendChild(document.createTextNode(r.slice(a,t)));let o=i.appendChild(document.createElement("span"));o.appendChild(document.createTextNode(r.slice(t,n))),o.className="cm-completionMatchedText",a=n}return ae.position-t.position).map(e=>e.render)}(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=Uh(i.length,r,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",n=>{let{options:s}=e.state.field(t).open;for(let t,i=n.target;i&&i!=this.dom;i=i.parentNode)if("LI"==i.nodeName&&(t=/-(\d+)$/.exec(i.id))&&+t[1]{let n=e.state.field(this.stateField,!1);n&&n.tooltip&&e.state.facet(jh).closeOnBlur&&t.relatedTarget!=e.contentDOM&&e.dispatch({effects:Vh.of(null)})}),this.showOptions(i,s.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let n=e.state.field(this.stateField),s=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),n!=s){let{options:i,selected:r,disabled:a}=n.open;s.open&&s.open.options==i||(this.range=Uh(i.length,r,e.state.facet(jh).maxRenderedOptions),this.showOptions(i,n.id)),this.updateSel(),a!=(null===(t=s.open)||void 0===t?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let e of this.currentClass.split(" "))e&&this.dom.classList.remove(e);for(let e of t.split(" "))e&&this.dom.classList.add(e);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;if((t.selected>-1&&t.selected=this.range.to)&&(this.range=Uh(t.options.length,t.selected,this.view.state.facet(jh).maxRenderedOptions),this.showOptions(t.options,e.id)),this.updateSelectedOption(t.selected)){this.destroyInfo();let{completion:n}=t.options[t.selected],{info:s}=n;if(!s)return;let i="string"==typeof s?document.createTextNode(s):s(n);if(!i)return;"then"in i?i.then(t=>{t&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(t,n)}).catch(e=>ns(this.view.state,e,"completion info")):this.addInfoPane(i,n)}}addInfoPane(e,t){this.destroyInfo();let n=this.info=document.createElement("div");if(n.className="cm-tooltip cm-completionInfo",null!=e.nodeType)n.appendChild(e),this.infoDestroy=null;else{let{dom:t,destroy:s}=e;n.appendChild(t),this.infoDestroy=s||null}this.dom.appendChild(n),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let n=this.list.firstChild,s=this.range.from;n;n=n.nextSibling,s++)"LI"==n.nodeName&&n.id?s==e?n.hasAttribute("aria-selected")||(n.setAttribute("aria-selected","true"),t=n):n.hasAttribute("aria-selected")&&n.removeAttribute("aria-selected"):s--;return t&&function(e,t){let n=e.getBoundingClientRect(),s=t.getBoundingClientRect(),i=n.height/e.offsetHeight;s.topn.bottom&&(e.scrollTop+=(s.bottom-n.bottom)/i)}(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),n=this.info.getBoundingClientRect(),s=e.getBoundingClientRect(),i=this.space;if(!i){let e=this.dom.ownerDocument.documentElement;i={left:0,top:0,right:e.clientWidth,bottom:e.clientHeight}}return s.top>Math.min(i.bottom,t.bottom)-10||s.bottom{e.target==s&&e.preventDefault()});let i=null;for(let r=n.from;rn.from||0==n.from))if(i=e,"string"!=typeof l&&l.header)s.appendChild(l.header(l));else{s.appendChild(document.createElement("completion-section")).textContent=e}}const O=s.appendChild(document.createElement("li"));O.id=t+"-"+r,O.setAttribute("role","option");let c=this.optionClass(a);c&&(O.className=c);for(let e of this.optionContent){let t=e(a,this.view.state,this.view,o);t&&O.appendChild(t)}}return n.from&&s.classList.add("cm-completionListIncompleteTop"),n.tonew Bh(n,e,t)}function Gh(e){return 100*(e.boost||0)+(e.apply?10:0)+(e.info?5:0)+(e.type?1:0)}class Ih{constructor(e,t,n,s,i,r){this.options=e,this.attrs=t,this.tooltip=n,this.timestamp=s,this.selected=i,this.disabled=r}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new Ih(this.options,Hh(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,n,s,i,r){if(s&&!r&&e.some(e=>e.isPending))return s.setDisabled();let a=function(e,t){let n=[],s=null,i=e=>{n.push(e);let{section:t}=e.completion;if(t){s||(s=[]);let e="string"==typeof t?t:t.name;s.some(t=>t.name==e)||s.push("string"==typeof t?{name:e}:t)}},r=t.facet(jh);for(let s of e)if(s.hasResult()){let e=s.result.getMatch;if(!1===s.result.filter)for(let t of s.result.options)i(new Th(t,s.source,e?e(t):[],1e9-n.length));else{let n,a=t.sliceDoc(s.from,s.to),o=r.filterStrict?new Ah(a):new Rh(a);for(let t of s.result.options)if(n=o.match(t.label)){let r=t.displayLabel?e?e(t,n.matched):[]:n.matched;i(new Th(t,s.source,r,n.score+(t.boost||0)))}}}if(s){let e=Object.create(null),t=0,i=(e,t)=>{var n,s;return(null!==(n=e.rank)&&void 0!==n?n:1e9)-(null!==(s=t.rank)&&void 0!==s?s:1e9)||(e.namet.score-e.score||l(e.completion,t.completion))){let t=e.completion;!o||o.label!=t.label||o.detail!=t.detail||null!=o.type&&null!=t.type&&o.type!=t.type||o.apply!=t.apply||o.boost!=t.boost?a.push(e):Gh(e.completion)>Gh(o)&&(a[a.length-1]=e),o=e.completion}return a}(e,t);if(!a.length)return s&&e.some(e=>e.isPending)?s.setDisabled():null;let o=t.facet(jh).selectOnOpen?0:-1;if(s&&s.selected!=o&&-1!=s.selected){let e=s.options[s.selected].completion;for(let t=0;tt.hasResult()?Math.min(e,t.from):e,1e8),create:ou,above:i.aboveCursor},s?s.timestamp:Date.now(),o,!1)}map(e){return new Ih(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}setDisabled(){return new Ih(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class Lh{constructor(e,t,n){this.active=e,this.id=t,this.open=n}static start(){return new Lh(Jh,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(e){let{state:t}=e,n=t.facet(jh),s=(n.override||t.languageDataAt("autocomplete",Wh(t)).map(Zh)).map(t=>(this.active.find(e=>e.source==t)||new tu(t,this.active.some(e=>0!=e.state)?1:0)).update(e,n));s.length==this.active.length&&s.every((e,t)=>e==this.active[t])&&(s=this.active);let i=this.open,r=e.effects.some(e=>e.is(su));i&&e.docChanged&&(i=i.map(e.changes)),e.selection||s.some(t=>t.hasResult()&&e.changes.touchesRange(t.from,t.to))||!function(e,t){if(e==t)return!0;for(let n=0,s=0;;){for(;ne.isPending)&&(i=null),!i&&s.every(e=>!e.isPending)&&s.some(e=>e.hasResult())&&(s=s.map(e=>e.hasResult()?new tu(e.source,0):e));for(let t of e.effects)t.is(iu)&&(i=i&&i.setSelected(t.value,this.id));return s==this.active&&i==this.open?this:new Lh(s,this.id,i)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?Nh:Kh}}const Nh={"aria-autocomplete":"list"},Kh={};function Hh(e,t){let n={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":e};return t>-1&&(n["aria-activedescendant"]=e+"-"+t),n}const Jh=[];function eu(e,t){if(e.isUserEvent("input.complete")){let n=e.annotation(Ch);if(n&&t.activateOnCompletion(n))return 12}let n=e.isUserEvent("input.type");return n&&t.activateOnTyping?5:n?1:e.isUserEvent("delete.backward")?2:e.selection?8:e.docChanged?16:0}class tu{constructor(e,t,n=!1){this.source=e,this.state=t,this.explicit=n}hasResult(){return!1}get isPending(){return 1==this.state}update(e,t){let n=eu(e,t),s=this;(8&n||16&n&&this.touches(e))&&(s=new tu(s.source,0)),4&n&&0==s.state&&(s=new tu(this.source,1)),s=s.updateFor(e,n);for(let t of e.effects)if(t.is(Eh))s=new tu(s.source,1,t.value);else if(t.is(Vh))s=new tu(s.source,0);else if(t.is(su))for(let e of t.value)e.source==s.source&&(s=e);return s}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(Wh(e.state))}}class nu extends tu{constructor(e,t,n,s,i,r){super(e,3,t),this.limit=n,this.result=s,this.from=i,this.to=r}hasResult(){return!0}updateFor(e,t){var n;if(!(3&t))return this.map(e.changes);let s=this.result;s.map&&!e.changes.empty&&(s=s.map(s,e.changes));let i=e.changes.mapPos(this.from),r=e.changes.mapPos(this.to,1),a=Wh(e.state);if(a>r||!s||2&t&&(Wh(e.startState)==this.from||ae.map(e=>e.map(t))}),iu=pe.define(),ru=M.define({create:()=>Lh.start(),update:(e,t)=>e.update(t),provide:e=>[ca.from(e,e=>e.tooltip),rr.contentAttributes.from(e,e=>e.attrs)]});function au(e,t){const n=t.completion.apply||t.completion.label;let s=e.state.field(ru).active.find(e=>e.source==t.source);return s instanceof nu&&("string"==typeof n?e.dispatch(Object.assign(Object.assign({},function(e,t,n,s){let{main:i}=e.selection,r=n-i.from,a=s-i.from;return Object.assign(Object.assign({},e.changeByRange(o=>{if(o!=i&&n!=s&&e.sliceDoc(o.from+r,o.from+a)!=e.sliceDoc(n,s))return{range:o};let l=e.toText(t);return{changes:{from:o.from+r,to:s==i.from?o.to:o.from+a,insert:l},range:Z.cursor(o.from+r+l.length)}})),{scrollIntoView:!0,userEvent:"input.complete"})}(e.state,n,s.from,s.to)),{annotations:Ch.of(t.completion)})):n(e,t.completion,s.from,s.to),!0)}const ou=Mh(ru,au);function lu(e,t="option"){return n=>{let s=n.state.field(ru,!1);if(!s||!s.open||s.open.disabled||Date.now()-s.open.timestamp-1?s.open.selected+r*(e?1:-1):e?0:a-1;return o<0?o="page"==t?0:a-1:o>=a&&(o="page"==t?a-1:0),n.dispatch({effects:iu.of(o)}),!0}}const Ou=e=>!!e.state.field(ru,!1)&&(e.dispatch({effects:Eh.of(!0)}),!0);class cu{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const hu=as.fromClass(class{constructor(e){this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let t of e.state.field(ru).active)t.isPending&&this.startQuery(t)}update(e){let t=e.state.field(ru),n=e.state.facet(jh);if(!e.selectionSet&&!e.docChanged&&e.startState.field(ru)==t)return;let s=e.transactions.some(e=>{let t=eu(e,n);return 8&t||(e.selection||e.docChanged)&&!(3&t)});for(let t=0;t50&&Date.now()-n.time>1e3){for(let e of n.context.abortListeners)try{e()}catch(e){ns(this.view.state,e)}n.context.abortListeners=null,this.running.splice(t--,1)}else n.updates.push(...e.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),e.transactions.some(e=>e.effects.some(e=>e.is(Eh)))&&(this.pendingStart=!0);let i=this.pendingStart?50:n.activateOnTypingDelay;if(this.debounceUpdate=t.active.some(e=>e.isPending&&!this.running.some(t=>t.active.source==e.source))?setTimeout(()=>this.startUpdate(),i):-1,0!=this.composing)for(let t of e.transactions)t.isUserEvent("input.type")?this.composing=2:2==this.composing&&t.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:e}=this.view,t=e.field(ru);for(let e of t.active)e.isPending&&!this.running.some(t=>t.active.source==e.source)&&this.startQuery(e);this.running.length&&t.open&&t.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(jh).updateSyncTime))}startQuery(e){let{state:t}=this.view,n=Wh(t),s=new kh(t,n,e.explicit,this.view),i=new cu(e,s);this.running.push(i),Promise.resolve(e.source(s)).then(e=>{i.context.aborted||(i.done=e||null,this.scheduleAccept())},e=>{this.view.dispatch({effects:Vh.of(null)}),ns(this.view.state,e)})}scheduleAccept(){this.running.every(e=>void 0!==e.done)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(jh).updateSyncTime))}accept(){var e;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let t=[],n=this.view.state.facet(jh),s=this.view.state.field(ru);for(let i=0;ie.source==r.active.source);if(a&&a.isPending)if(null==r.done){let e=new tu(r.active.source,0);for(let t of r.updates)e=e.update(t,n);e.isPending||t.push(e)}else this.startQuery(a)}(t.length||s.open&&s.open.disabled)&&this.view.dispatch({effects:su.of(t)})}},{eventHandlers:{blur(e){let t=this.view.state.field(ru,!1);if(t&&t.tooltip&&this.view.state.facet(jh).closeOnBlur){let n=t.open&&ga(this.view,t.open.tooltip);n&&n.dom.contains(e.relatedTarget)||setTimeout(()=>this.view.dispatch({effects:Vh.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout(()=>this.view.dispatch({effects:Eh.of(!1)}),20),this.composing=0}}}),uu="object"==typeof navigator&&/Win/.test(navigator.platform),du=H.highest(rr.domEventHandlers({keydown(e,t){let n=t.state.field(ru,!1);if(!n||!n.open||n.open.disabled||n.open.selected<0||e.key.length>1||e.ctrlKey&&(!uu||!e.altKey)||e.metaKey)return!1;let s=n.open.options[n.open.selected],i=n.active.find(e=>e.source==s.source),r=s.completion.commitCharacters||i.result.commitCharacters;return r&&r.indexOf(e.key)>-1&&au(t,s),!1}})),fu=rr.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class pu{constructor(e,t,n,s){this.field=e,this.line=t,this.from=n,this.to=s}}class mu{constructor(e,t,n){this.field=e,this.from=t,this.to=n}map(e){let t=e.mapPos(this.from,-1,w.TrackDel),n=e.mapPos(this.to,1,w.TrackDel);return null==t||null==n?null:new mu(this.field,t,n)}}class gu{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let n=[],s=[t],i=e.doc.lineAt(t),r=/^\s*/.exec(i.text)[0];for(let i of this.lines){if(n.length){let n=r,a=/^\t*/.exec(i)[0].length;for(let t=0;tnew mu(e.field,s[e.line]+e.from,s[e.line]+e.to));return{text:n,ranges:a}}static parse(e){let t,n=[],s=[],i=[];for(let r of e.split(/\r\n?|\n/)){for(;t=/[#$]\{(?:(\d+)(?::([^}]*))?|((?:\\[{}]|[^}])*))\}/.exec(r);){let e=t[1]?+t[1]:null,a=t[2]||t[3]||"",o=-1,l=a.replace(/\\[{}]/g,e=>e[1]);for(let t=0;t=o&&e.field++}i.push(new pu(o,s.length,t.index,t.index+l.length)),r=r.slice(0,t.index)+a+r.slice(t.index+t[0].length)}r=r.replace(/\\([{}])/g,(e,t,n)=>{for(let e of i)e.line==s.length&&e.from>n&&(e.from--,e.to--);return t}),s.push(r)}return new gu(s,i)}}let Qu=cn.widget({widget:new class extends ln{toDOM(){let e=document.createElement("span");return e.className="cm-snippetFieldPosition",e}ignoreEvent(){return!1}}}),$u=cn.mark({class:"cm-snippetField"});class xu{constructor(e,t){this.ranges=e,this.active=t,this.deco=cn.set(e.map(e=>(e.from==e.to?Qu:$u).range(e.from,e.to)))}map(e){let t=[];for(let n of this.ranges){let s=n.map(e);if(!s)return null;t.push(s)}return new xu(t,this.active)}selectionInsideField(e){return e.ranges.every(e=>this.ranges.some(t=>t.field==this.active&&t.from<=e.from&&t.to>=e.to))}}const Xu=pe.define({map:(e,t)=>e&&e.map(t)}),bu=pe.define(),yu=M.define({create:()=>null,update(e,t){for(let n of t.effects){if(n.is(Xu))return n.value;if(n.is(bu)&&e)return new xu(e.ranges,n.value)}return e&&t.docChanged&&(e=e.map(t.changes)),e&&t.selection&&!e.selectionInsideField(t.selection)&&(e=null),e},provide:e=>rr.decorations.from(e,e=>e?e.deco:cn.none)});function Su(e,t){return Z.create(e.filter(e=>e.field==t).map(e=>Z.range(e.from,e.to)))}function vu(e){let t=gu.parse(e);return(e,n,s,i)=>{let{text:r,ranges:a}=t.instantiate(e.state,s),{main:o}=e.state.selection,l={changes:{from:s,to:i==o.from?o.to:i,insert:h.of(r)},scrollIntoView:!0,annotations:n?[Ch.of(n),me.userEvent.of("input.complete")]:void 0};if(a.length&&(l.selection=Su(a,0)),a.some(e=>e.field>0)){let t=new xu(a,0),n=l.effects=[Xu.of(t)];void 0===e.state.field(yu,!1)&&n.push(pe.appendConfig.of([yu,_u,Tu,fu]))}e.dispatch(e.state.update(l))}}function wu(e){return({state:t,dispatch:n})=>{let s=t.field(yu,!1);if(!s||e<0&&0==s.active)return!1;let i=s.active+e,r=e>0&&!s.ranges.some(t=>t.field==i+e);return n(t.update({selection:Su(s.ranges,i),effects:Xu.of(r?null:new xu(s.ranges,i)),scrollIntoView:!0})),!0}}const Pu=[{key:"Tab",run:wu(1),shift:wu(-1)},{key:"Escape",run:({state:e,dispatch:t})=>!!e.field(yu,!1)&&(t(e.update({effects:Xu.of(null)})),!0)}],ku=R.define({combine:e=>e.length?e[0]:Pu}),_u=H.highest(dr.compute([ku],e=>e.facet(ku)));function Du(e,t){return Object.assign(Object.assign({},t),{apply:vu(e)})}const Tu=rr.domEventHandlers({mousedown(e,t){let n,s=t.state.field(yu,!1);if(!s||null==(n=t.posAtCoords({x:e.clientX,y:e.clientY})))return!1;let i=s.ranges.find(e=>e.from<=n&&e.to>=n);return!(!i||i.field==s.active)&&(t.dispatch({selection:Su(s.ranges,i.field),effects:Xu.of(s.ranges.some(e=>e.field>i.field)?new xu(s.ranges,i.field):null),scrollIntoView:!0}),!0)}}),Wu={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},qu=pe.define({map(e,t){let n=t.mapPos(e,-1,w.TrackAfter);return null==n?void 0:n}}),Cu=new class extends _e{};Cu.startSide=1,Cu.endSide=-1;const Fu=M.define({create:()=>qe.empty,update(e,t){if(e=e.map(t.changes),t.selection){let n=t.state.doc.lineAt(t.selection.main.head);e=e.update({filter:e=>e>=n.from&&e<=n.to})}for(let n of t.effects)n.is(qu)&&(e=e.update({add:[Cu.range(n.value,n.value+1)]}));return e}});const Zu="()[]{}<>«»»«[]{}";function Eu(e){for(let t=0;t<16;t+=2)if(Zu.charCodeAt(t)==e)return Zu.charAt(t+1);return y(e<128?e:e+1)}function Vu(e,t){return e.languageDataAt("closeBrackets",t)[0]||Wu}const Ru="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),Au=rr.inputHandler.of((e,t,n,s)=>{if((Ru?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let i=e.state.selection.main;if(s.length>2||2==s.length&&1==S(b(s,0))||t!=i.from||n!=i.to)return!1;let r=function(e,t){let n=Vu(e,e.selection.main.head),s=n.brackets||Wu.brackets;for(let i of s){let r=Eu(b(i,0));if(t==i)return r==i?Mu(e,i,s.indexOf(i+i+i)>-1,n):Uu(e,i,r,n.before||Wu.before);if(t==r&&zu(e,e.selection.main.from))return Bu(e,i,r)}return null}(e.state,s);return!!r&&(e.dispatch(r),!0)}),ju=[{key:"Backspace",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Vu(e,e.selection.main.head).brackets||Wu.brackets,s=null,i=e.changeByRange(t=>{if(t.empty){let s=function(e,t){let n=e.sliceString(t-2,t);return S(b(n,0))==n.length?n:n.slice(1)}(e.doc,t.head);for(let i of n)if(i==s&&Yu(e.doc,t.head)==Eu(b(i,0)))return{changes:{from:t.head-i.length,to:t.head+i.length},range:Z.cursor(t.head-i.length)}}return{range:s=t}});return s||t(e.update(i,{scrollIntoView:!0,userEvent:"delete.backward"})),!s}}];function zu(e,t){let n=!1;return e.field(Fu).between(0,e.doc.length,e=>{e==t&&(n=!0)}),n}function Yu(e,t){let n=e.sliceString(t,t+2);return n.slice(0,S(b(n,0)))}function Uu(e,t,n,s){let i=null,r=e.changeByRange(r=>{if(!r.empty)return{changes:[{insert:t,from:r.from},{insert:n,from:r.to}],effects:qu.of(r.to+t.length),range:Z.range(r.anchor+t.length,r.head+t.length)};let a=Yu(e.doc,r.head);return!a||/\s/.test(a)||s.indexOf(a)>-1?{changes:{insert:t+n,from:r.head},effects:qu.of(r.head+t.length),range:Z.cursor(r.head+t.length)}:{range:i=r}});return i?null:e.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function Bu(e,t,n){let s=null,i=e.changeByRange(t=>t.empty&&Yu(e.doc,t.head)==n?{changes:{from:t.head,to:t.head+n.length,insert:n},range:Z.cursor(t.head+n.length)}:s={range:t});return s?null:e.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function Mu(e,t,n,s){let i=s.stringPrefixes||Wu.stringPrefixes,r=null,a=e.changeByRange(s=>{if(!s.empty)return{changes:[{insert:t,from:s.from},{insert:t,from:s.to}],effects:qu.of(s.to+t.length),range:Z.range(s.anchor+t.length,s.head+t.length)};let a,o=s.head,l=Yu(e.doc,o);if(l==t){if(Gu(e,o))return{changes:{insert:t+t,from:o},effects:qu.of(o+t.length),range:Z.cursor(o+t.length)};if(zu(e,o)){let s=n&&e.sliceDoc(o,o+3*t.length)==t+t+t?t+t+t:t;return{changes:{from:o,to:o+s.length,insert:s},range:Z.cursor(o+s.length)}}}else{if(n&&e.sliceDoc(o-2*t.length,o)==t+t&&(a=Iu(e,o-2*t.length,i))>-1&&Gu(e,a))return{changes:{insert:t+t+t+t,from:o},effects:qu.of(o+t.length),range:Z.cursor(o+t.length)};if(e.charCategorizer(o)(l)!=ye.Word&&Iu(e,o,i)>-1&&!function(e,t,n,s){let i=bl(e).resolveInner(t,-1),r=s.reduce((e,t)=>Math.max(e,t.length),0);for(let a=0;a<5;a++){let a=e.sliceDoc(i.from,Math.min(i.to,i.from+n.length+r)),o=a.indexOf(n);if(!o||o>-1&&s.indexOf(a.slice(0,o))>-1){let t=i.firstChild;for(;t&&t.from==i.from&&t.to-t.from>n.length+o;){if(e.sliceDoc(t.to-n.length,t.to)==n)return!1;t=t.firstChild}return!0}let l=i.to==t&&i.parent;if(!l)break;i=l}return!1}(e,o,t,i))return{changes:{insert:t+t,from:o},effects:qu.of(o+t.length),range:Z.cursor(o+t.length)}}return{range:r=s}});return r?null:e.update(a,{scrollIntoView:!0,userEvent:"input.type"})}function Gu(e,t){let n=bl(e).resolveInner(t+1);return n.parent&&n.from==t}function Iu(e,t,n){let s=e.charCategorizer(t);if(s(e.sliceDoc(t-1,t))!=ye.Word)return t;for(let i of n){let n=t-i.length;if(e.sliceDoc(n,t)==i&&s(e.sliceDoc(n-1,n))!=ye.Word)return n}return-1}function Lu(e={}){return[du,ru,jh.of(e),hu,Ku,fu]}const Nu=[{key:"Ctrl-Space",run:Ou},{mac:"Alt-`",run:Ou},{key:"Escape",run:e=>{let t=e.state.field(ru,!1);return!(!t||!t.active.some(e=>0!=e.state))&&(e.dispatch({effects:Vh.of(null)}),!0)}},{key:"ArrowDown",run:lu(!0)},{key:"ArrowUp",run:lu(!1)},{key:"PageDown",run:lu(!0,"page")},{key:"PageUp",run:lu(!1,"page")},{key:"Enter",run:e=>{let t=e.state.field(ru,!1);return!(e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestampe.facet(jh).defaultKeymap?[Nu]:[])),Hu="function"==typeof String.prototype.normalize?e=>e.normalize("NFKD"):e=>e;class Ju{constructor(e,t,n=0,s=e.length,i,r){this.test=r,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(n,s),this.bufferStart=n,this.normalize=i?e=>i(Hu(e)):Hu,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return b(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=y(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=S(e);let s=this.normalize(t);if(s.length)for(let e=0,i=n;;e++){let r=s.charCodeAt(e),a=this.match(r,i,this.bufferPos+this.bufferStart);if(e==s.length-1){if(a)return this.value=a,this;break}i==n&&ethis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let n=this.curLineStart+t.index,s=n+t[0].length;if(this.matchPos=ad(this.text,s+(n==s?1:0)),n==this.curLineStart+this.curLine.length&&this.nextLine(),(nthis.value.to)&&(!this.test||this.test(n,s,t)))return this.value={from:n,to:s,match:t},this;e=this.matchPos-this.curLineStart}else{if(!(this.curLineStart+this.curLine.length=n||s.to<=t){let s=new id(t,e.sliceString(t,n));return sd.set(e,s),s}if(s.from==t&&s.to==n)return s;let{text:i,from:r}=s;return r>t&&(i=e.sliceString(t,r)+i,r=t),s.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let e=this.flat.from+t.index,n=e+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(e,n,t)))return this.value={from:e,to:n,match:t},this.matchPos=ad(this.text,n+(e==n?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=id.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}}function ad(e,t){if(t>=e.length)return t;let n,s=e.lineAt(t);for(;t=56320&&n<57344;)t++;return t}function od(e){let t=rt("input",{class:"cm-textfield",name:"line",value:String(e.state.doc.lineAt(e.state.selection.main.head).number)});function n(){let n=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!n)return;let{state:s}=e,i=s.doc.lineAt(s.selection.main.head),[,r,a,o,l]=n,O=o?+o.slice(1):0,c=a?+a:i.number;if(a&&l){let e=c/100;r&&(e=e*("-"==r?-1:1)+i.number/s.doc.lines),c=Math.round(s.doc.lines*e)}else a&&r&&(c=c*("-"==r?-1:1)+i.number);let h=s.doc.line(Math.max(1,Math.min(s.doc.lines,c))),u=Z.cursor(h.from+Math.max(0,Math.min(O,h.length)));e.dispatch({effects:[ld.of(!1),rr.scrollIntoView(u.from,{y:"center"})],selection:u}),e.focus()}return{dom:rt("form",{class:"cm-gotoLine",onkeydown:t=>{27==t.keyCode?(t.preventDefault(),e.dispatch({effects:ld.of(!1)}),e.focus()):13==t.keyCode&&(t.preventDefault(),n())},onsubmit:e=>{e.preventDefault(),n()}},rt("label",e.state.phrase("Go to line"),": ",t)," ",rt("button",{class:"cm-button",type:"submit"},e.state.phrase("go")),rt("button",{name:"close",onclick:()=>{e.dispatch({effects:ld.of(!1)}),e.focus()},"aria-label":e.state.phrase("close"),type:"button"},["×"]))}}"undefined"!=typeof Symbol&&(nd.prototype[Symbol.iterator]=rd.prototype[Symbol.iterator]=function(){return this});const ld=pe.define(),Od=M.define({create:()=>!0,update(e,t){for(let n of t.effects)n.is(ld)&&(e=n.value);return e},provide:e=>Sa.from(e,e=>e?od:null)}),cd=rr.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px",position:"relative","& label":{fontSize:"80%"},"& [name=close]":{position:"absolute",top:"0",bottom:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:"0"}}}),hd={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},ud=R.define({combine:e=>ke(e,hd,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})});const dd=cn.mark({class:"cm-selectionMatch"}),fd=cn.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function pd(e,t,n,s){return!(0!=n&&e(t.sliceDoc(n-1,n))==ye.Word||s!=t.doc.length&&e(t.sliceDoc(s,s+1))==ye.Word)}const md=as.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(ud),{state:n}=e,s=n.selection;if(s.ranges.length>1)return cn.none;let i,r=s.main,a=null;if(r.empty){if(!t.highlightWordAroundCursor)return cn.none;let e=n.wordAt(r.head);if(!e)return cn.none;a=n.charCategorizer(r.head),i=n.sliceDoc(e.from,e.to)}else{let e=r.to-r.from;if(e200)return cn.none;if(t.wholeWords){if(i=n.sliceDoc(r.from,r.to),a=n.charCategorizer(r.head),!pd(a,n,r.from,r.to)||!function(e,t,n,s){return e(t.sliceDoc(n,n+1))==ye.Word&&e(t.sliceDoc(s-1,s))==ye.Word}(a,n,r.from,r.to))return cn.none}else if(i=n.sliceDoc(r.from,r.to),!i)return cn.none}let o=[];for(let s of e.visibleRanges){let e=new Ju(n.doc,i,s.from,s.to);for(;!e.next().done;){let{from:s,to:i}=e.value;if((!a||pd(a,n,s,i))&&(r.empty&&s<=r.from&&i>=r.to?o.push(fd.range(s,i)):(s>=r.to||i<=r.from)&&o.push(dd.range(s,i)),o.length>t.maxMatches))return cn.none}}return cn.set(o)}},{decorations:e=>e.decorations}),gd=rr.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}});const Qd=R.define({combine:e=>ke(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new Gd(e),scrollToMatch:e=>rr.scrollIntoView(e)})});class $d{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||function(e){try{return new RegExp(e,td),!0}catch(e){return!1}}(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(e,t)=>"n"==t?"\n":"r"==t?"\r":"t"==t?"\t":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new wd(this):new bd(this)}getCursor(e,t=0,n){let s=e.doc?e:Pe.create({doc:e});return null==n&&(n=s.doc.length),this.regexp?yd(this,s,t,n):Xd(this,s,t,n)}}class xd{constructor(e){this.spec=e}}function Xd(e,t,n,s){return new Ju(t.doc,e.unquoted,n,s,e.caseSensitive?void 0:e=>e.toLowerCase(),e.wholeWord?function(e,t){return(n,s,i,r)=>((r>n||r+i.length=t)return null;s.push(n.value)}return s}highlight(e,t,n,s){let i=Xd(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));for(;!i.next().done;)s(i.value.from,i.value.to)}}function yd(e,t,n,s){return new nd(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:e.wholeWord?(i=t.charCategorizer(t.selection.main.head),(e,t,n)=>!n[0].length||(i(Sd(n.input,n.index))!=ye.Word||i(vd(n.input,n.index))!=ye.Word)&&(i(vd(n.input,n.index+n[0].length))!=ye.Word||i(Sd(n.input,n.index+n[0].length))!=ye.Word)):void 0},n,s);var i}function Sd(e,t){return e.slice(X(e,t,!1),t)}function vd(e,t){return e.slice(t,X(e,t))}class wd extends xd{nextMatch(e,t,n){let s=yd(this.spec,e,n,e.doc.length).next();return s.done&&(s=yd(this.spec,e,0,t).next()),s.done?null:s.value}prevMatchInRange(e,t,n){for(let s=1;;s++){let i=Math.max(t,n-1e4*s),r=yd(this.spec,e,i,n),a=null;for(;!r.next().done;)a=r.value;if(a&&(i==t||a.from>i+10))return a;if(i==t)return null}}prevMatch(e,t,n){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,n,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,n)=>{if("&"==n)return e.match[0];if("$"==n)return"$";for(let t=n.length;t>0;t--){let s=+n.slice(0,t);if(s>0&&s=t)return null;s.push(n.value)}return s}highlight(e,t,n,s){let i=yd(this.spec,e,Math.max(0,t-250),Math.min(n+250,e.doc.length));for(;!i.next().done;)s(i.value.from,i.value.to)}}const Pd=pe.define(),kd=pe.define(),_d=M.define({create:e=>new Dd(jd(e).create(),null),update(e,t){for(let n of t.effects)n.is(Pd)?e=new Dd(n.value.create(),e.panel):n.is(kd)&&(e=new Dd(e.query,n.value?Ad:null));return e},provide:e=>Sa.from(e,e=>e.panel)});class Dd{constructor(e,t){this.query=e,this.panel=t}}const Td=cn.mark({class:"cm-searchMatch"}),Wd=cn.mark({class:"cm-searchMatch cm-searchMatch-selected"}),qd=as.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(_d))}update(e){let t=e.state.field(_d);(t!=e.startState.field(_d)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return cn.none;let{view:n}=this,s=new Ce;for(let t=0,i=n.visibleRanges,r=i.length;ti[t+1].from-500;)o=i[++t].to;e.highlight(n.state,a,o,(e,t)=>{let i=n.state.selection.ranges.some(n=>n.from==e&&n.to==t);s.add(e,t,i?Wd:Td)})}return s.finish()}},{decorations:e=>e.decorations});function Cd(e){return t=>{let n=t.state.field(_d,!1);return n&&n.query.spec.valid?e(t,n):Ud(t)}}const Fd=Cd((e,{query:t})=>{let{to:n}=e.state.selection.main,s=t.nextMatch(e.state,n,n);if(!s)return!1;let i=Z.single(s.from,s.to),r=e.state.facet(Qd);return e.dispatch({selection:i,effects:[Kd(e,s),r.scrollToMatch(i.main,e)],userEvent:"select.search"}),Yd(e),!0}),Zd=Cd((e,{query:t})=>{let{state:n}=e,{from:s}=n.selection.main,i=t.prevMatch(n,s,s);if(!i)return!1;let r=Z.single(i.from,i.to),a=e.state.facet(Qd);return e.dispatch({selection:r,effects:[Kd(e,i),a.scrollToMatch(r.main,e)],userEvent:"select.search"}),Yd(e),!0}),Ed=Cd((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!(!n||!n.length)&&(e.dispatch({selection:Z.create(n.map(e=>Z.range(e.from,e.to))),userEvent:"select.search.matches"}),!0)}),Vd=Cd((e,{query:t})=>{let{state:n}=e,{from:s,to:i}=n.selection.main;if(n.readOnly)return!1;let r=t.nextMatch(n,s,s);if(!r)return!1;let a,o,l=r,O=[],c=[];l.from==s&&l.to==i&&(o=n.toText(t.getReplacement(l)),O.push({from:l.from,to:l.to,insert:o}),l=t.nextMatch(n,l.from,l.to),c.push(rr.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(s).number)+".")));let h=e.state.changes(O);return l&&(a=Z.single(l.from,l.to).map(h),c.push(Kd(e,l)),c.push(n.facet(Qd).scrollToMatch(a.main,e))),e.dispatch({changes:h,selection:a,effects:c,userEvent:"input.replace"}),!0}),Rd=Cd((e,{query:t})=>{if(e.state.readOnly)return!1;let n=t.matchAll(e.state,1e9).map(e=>{let{from:n,to:s}=e;return{from:n,to:s,insert:t.getReplacement(e)}});if(!n.length)return!1;let s=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:rr.announce.of(s),userEvent:"input.replace.all"}),!0});function Ad(e){return e.state.facet(Qd).createPanel(e)}function jd(e,t){var n,s,i,r,a;let o=e.selection.main,l=o.empty||o.to>o.from+100?"":e.sliceDoc(o.from,o.to);if(t&&!l)return t;let O=e.facet(Qd);return new $d({search:(null!==(n=null==t?void 0:t.literal)&&void 0!==n?n:O.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:null!==(s=null==t?void 0:t.caseSensitive)&&void 0!==s?s:O.caseSensitive,literal:null!==(i=null==t?void 0:t.literal)&&void 0!==i?i:O.literal,regexp:null!==(r=null==t?void 0:t.regexp)&&void 0!==r?r:O.regexp,wholeWord:null!==(a=null==t?void 0:t.wholeWord)&&void 0!==a?a:O.wholeWord})}function zd(e){let t=xa(e,Ad);return t&&t.dom.querySelector("[main-field]")}function Yd(e){let t=zd(e);t&&t==e.root.activeElement&&t.select()}const Ud=e=>{let t=e.state.field(_d,!1);if(t&&t.panel){let n=zd(e);if(n&&n!=e.root.activeElement){let s=jd(e.state,t.query.spec);s.valid&&e.dispatch({effects:Pd.of(s)}),n.focus(),n.select()}}else e.dispatch({effects:[kd.of(!0),t?Pd.of(jd(e.state,t.query.spec)):pe.appendConfig.of(Jd)]});return!0},Bd=e=>{let t=e.state.field(_d,!1);if(!t||!t.panel)return!1;let n=xa(e,Ad);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:kd.of(!1)}),!0},Md=[{key:"Mod-f",run:Ud,scope:"editor search-panel"},{key:"F3",run:Fd,shift:Zd,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Fd,shift:Zd,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Bd,scope:"editor search-panel"},{key:"Mod-Shift-l",run:({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:s,to:i}=n.main,r=[],a=0;for(let t=new Ju(e.doc,e.sliceDoc(s,i));!t.next().done;){if(r.length>1e3)return!1;t.value.from==s&&(a=r.length),r.push(Z.range(t.value.from,t.value.to))}return t(e.update({selection:Z.create(r,a),userEvent:"select.search.matches"})),!0}},{key:"Mod-Alt-g",run:e=>{let t=xa(e,od);if(!t){let n=[ld.of(!0)];null==e.state.field(Od,!1)&&n.push(pe.appendConfig.of([Od,cd])),e.dispatch({effects:n}),t=xa(e,od)}return t&&t.dom.querySelector("input").select(),!0}},{key:"Mod-d",run:({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(e=>e.from===e.to))return(({state:e,dispatch:t})=>{let{selection:n}=e,s=Z.create(n.ranges.map(t=>e.wordAt(t.head)||Z.cursor(t.head)),n.mainIndex);return!s.eq(n)&&(t(e.update({selection:s})),!0)})({state:e,dispatch:t});let s=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(t=>e.sliceDoc(t.from,t.to)!=s))return!1;let i=function(e,t){let{main:n,ranges:s}=e.selection,i=e.wordAt(n.head),r=i&&i.from==n.from&&i.to==n.to;for(let n=!1,i=new Ju(e.doc,t,s[s.length-1].to);;){if(i.next(),!i.done){if(n&&s.some(e=>e.from==i.value.from))continue;if(r){let t=e.wordAt(i.value.from);if(!t||t.from!=i.value.from||t.to!=i.value.to)continue}return i.value}if(n)return null;i=new Ju(e.doc,t,0,Math.max(0,s[s.length-1].from-1)),n=!0}}(e,s);return!!i&&(t(e.update({selection:e.selection.addRange(Z.range(i.from,i.to),!1),effects:rr.scrollIntoView(i.to)})),!0)},preventDefault:!0}];class Gd{constructor(e){this.view=e;let t=this.query=e.state.field(_d).query.spec;function n(e,t,n){return rt("button",{class:"cm-button",name:e,onclick:t,type:"button"},n)}this.commit=this.commit.bind(this),this.searchField=rt("input",{value:t.search,placeholder:Id(e,"Find"),"aria-label":Id(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=rt("input",{value:t.replace,placeholder:Id(e,"Replace"),"aria-label":Id(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=rt("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=rt("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=rt("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit}),this.dom=rt("div",{onkeydown:e=>this.keydown(e),class:"cm-search"},[this.searchField,n("next",()=>Fd(e),[Id(e,"next")]),n("prev",()=>Zd(e),[Id(e,"previous")]),n("select",()=>Ed(e),[Id(e,"all")]),rt("label",null,[this.caseField,Id(e,"match case")]),rt("label",null,[this.reField,Id(e,"regexp")]),rt("label",null,[this.wordField,Id(e,"by word")]),...e.state.readOnly?[]:[rt("br"),this.replaceField,n("replace",()=>Vd(e),[Id(e,"replace")]),n("replaceAll",()=>Rd(e),[Id(e,"replace all")])],rt("button",{name:"close",onclick:()=>Bd(e),"aria-label":Id(e,"close"),type:"button"},["×"])])}commit(){let e=new $d({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:Pd.of(e)}))}keydown(e){var t,n,s;t=this.view,n=e,s="search-panel",$r(pr(t.state),n,t,s)?e.preventDefault():13==e.keyCode&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?Zd:Fd)(this.view)):13==e.keyCode&&e.target==this.replaceField&&(e.preventDefault(),Vd(this.view))}update(e){for(let t of e.transactions)for(let e of t.effects)e.is(Pd)&&!e.value.eq(this.query)&&this.setQuery(e.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Qd).top}}function Id(e,t){return e.state.phrase(t)}const Ld=30,Nd=/[\s\.,:;?!]/;function Kd(e,{from:t,to:n}){let s=e.state.doc.lineAt(t),i=e.state.doc.lineAt(n).to,r=Math.max(s.from,t-Ld),a=Math.min(i,n+Ld),o=e.state.sliceDoc(r,a);if(r!=s.from)for(let e=0;eo.length-Ld;e--)if(!Nd.test(o[e-1])&&Nd.test(o[e])){o=o.slice(0,e);break}return rr.announce.of(`${e.state.phrase("current match")}. ${o} ${e.state.phrase("on line")} ${s.number}.`)}const Hd=rr.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),Jd=[_d,H.low(qd),Hd];class ef{constructor(e,t,n){this.from=e,this.to=t,this.diagnostic=n}}class tf{constructor(e,t,n){this.diagnostics=e,this.panel=t,this.selected=n}static init(e,t,n){let s=n.facet(mf).markerFilter;s&&(e=s(e,n));let i=e.slice().sort((e,t)=>e.from-t.from||e.to-t.to),r=new Ce,a=[],o=0,l=n.doc.iter(),O=0,c=n.doc.length;for(let e=0;;){let t,n,s=e==i.length?null:i[e];if(!s&&!a.length)break;if(a.length)t=o,n=a.reduce((e,t)=>Math.min(e,t.to),s&&s.from>t?s.from:1e8);else{if(t=s.from,t>c)break;n=s.to,a.push(s),e++}for(;es.from||s.to==t)){n=Math.min(s.from,n);break}a.push(s),e++,n=Math.min(s.to,n)}n=Math.min(n,c);let h=!1;if(a.some(e=>e.from==t&&(e.to==n||n==c))&&(h=t==n,!h&&n-t<10)){let e=t-(O+l.value.length);e>0&&(l.next(e),O=t);for(let e=t;;){if(e>=n){h=!0;break}if(!l.lineBreak&&O+l.value.length>e)break;e=O+l.value.length,O+=l.value.length,l.next()}}let u=Pf(a);if(h)r.add(t,t,cn.widget({widget:new xf(u),diagnostics:a.slice()}));else{let e=a.reduce((e,t)=>t.markClass?e+" "+t.markClass:e,"");r.add(t,n,cn.mark({class:"cm-lintRange cm-lintRange-"+u+e,diagnostics:a.slice(),inclusiveEnd:a.some(e=>e.to>n)}))}if(o=n,o==c)break;for(let e=0;e{if(!(t&&i.diagnostics.indexOf(t)<0))if(s){if(i.diagnostics.indexOf(s.diagnostic)<0)return!1;s=new ef(s.from,n,s.diagnostic)}else s=new ef(e,n,t||i.diagnostics[0])}),s}function sf(e,t){let n=t.pos,s=t.end||n,i=e.state.facet(mf).hideOn(e,n,s);if(null!=i)return i;let r=e.startState.doc.lineAt(t.pos);return!(!e.effects.some(e=>e.is(af))&&!e.changes.touchesRange(r.from,Math.max(r.to,s)))}function rf(e,t){return e.field(Of,!1)?t:t.concat(pe.appendConfig.of(Ff))}const af=pe.define(),of=pe.define(),lf=pe.define(),Of=M.define({create:()=>new tf(cn.none,null,null),update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),s=null,i=e.panel;if(e.selected){let i=t.changes.mapPos(e.selected.from,1);s=nf(n,e.selected.diagnostic,i)||nf(n,null,i)}!n.size&&i&&t.state.facet(mf).autoPanel&&(i=null),e=new tf(n,i,s)}for(let n of t.effects)if(n.is(af)){let s=t.state.facet(mf).autoPanel?n.value.length?bf.open:null:e.panel;e=tf.init(n.value,s,t.state)}else n.is(of)?e=new tf(e.diagnostics,n.value?bf.open:null,e.selected):n.is(lf)&&(e=new tf(e.diagnostics,e.panel,n.value));return e},provide:e=>[Sa.from(e,e=>e.panel),rr.decorations.from(e,e=>e.diagnostics)]}),cf=cn.mark({class:"cm-lintRange cm-lintRange-active"});function hf(e,t,n){let s,{diagnostics:i}=e.state.field(Of),r=-1,a=-1;i.between(t-(n<0?1:0),t+(n>0?1:0),(e,i,{spec:o})=>{if(t>=e&&t<=i&&(e==i||(t>e||n>0)&&(t({dom:uf(e,s)})}:null}function uf(e,t){return rt("ul",{class:"cm-tooltip-lint"},t.map(t=>$f(e,t,!1)))}const df=e=>{let t=e.state.field(Of,!1);return!(!t||!t.panel)&&(e.dispatch({effects:of.of(!1)}),!0)},ff=[{key:"Mod-Shift-m",run:e=>{let t=e.state.field(Of,!1);t&&t.panel||e.dispatch({effects:rf(e.state,[of.of(!0)])});let n=xa(e,bf.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},preventDefault:!0},{key:"F8",run:e=>{let t=e.state.field(Of,!1);if(!t)return!1;let n=e.state.selection.main,s=t.diagnostics.iter(n.to+1);return!(!s.value&&(s=t.diagnostics.iter(0),!s.value||s.from==n.from&&s.to==n.to))&&(e.dispatch({selection:{anchor:s.from,head:s.to},scrollIntoView:!0}),!0)}}],pf=as.fromClass(class{constructor(e){this.view=e,this.timeout=-1,this.set=!0;let{delay:t}=e.state.facet(mf);this.lintTime=Date.now()+t,this.run=this.run.bind(this),this.timeout=setTimeout(this.run,t)}run(){clearTimeout(this.timeout);let e=Date.now();if(e{s.push(n),clearTimeout(i),s.length==e.length?t(s):i=setTimeout(()=>t(s),200)},n)}(t.map(e=>Promise.resolve(e(this.view))),t=>{this.view.state.doc==e.doc&&this.view.dispatch(function(e,t){return{effects:rf(e,[af.of(t)])}}(this.view.state,t.reduce((e,t)=>e.concat(t))))},e=>{ns(this.view.state,e)})}}update(e){let t=e.state.facet(mf);(e.docChanged||t!=e.startState.facet(mf)||t.needsRefresh&&t.needsRefresh(e))&&(this.lintTime=Date.now()+t.delay,this.set||(this.set=!0,this.timeout=setTimeout(this.run,t.delay)))}force(){this.set&&(this.lintTime=Date.now(),this.run())}destroy(){clearTimeout(this.timeout)}});const mf=R.define({combine:e=>({sources:e.map(e=>e.source).filter(e=>null!=e),...ke(e.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:gf,tooltipFilter:gf,needsRefresh:(e,t)=>e?t?n=>e(n)||t(n):e:t,hideOn:(e,t)=>e?t?(n,s,i)=>e(n,s,i)||t(n,s,i):e:t,autoPanel:(e,t)=>e||t})})});function gf(e,t){return e?t?(n,s)=>t(e(n,s),s):e:t}function Qf(e){let t=[];if(e)e:for(let{name:n}of e){for(let e=0;ee.toLowerCase()==s.toLowerCase())){t.push(s);continue e}}t.push("")}return t}function $f(e,t,n){var s;let i=n?Qf(t.actions):[];return rt("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},rt("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage(e):t.message),null===(s=t.actions)||void 0===s?void 0:s.map((n,s)=>{let r=!1,a=s=>{if(s.preventDefault(),r)return;r=!0;let i=nf(e.state.field(Of).diagnostics,t);i&&n.apply(e,i.from,i.to)},{name:o}=n,l=i[s]?o.indexOf(i[s]):-1,O=l<0?o:[o.slice(0,l),rt("u",o.slice(l,l+1)),o.slice(l+1)];return rt("button",{type:"button",class:"cm-diagnosticAction"+(n.markClass?" "+n.markClass:""),onclick:a,onmousedown:a,"aria-label":` Action: ${o}${l<0?"":` (access key "${i[s]})"`}.`},O)}),t.source&&rt("div",{class:"cm-diagnosticSource"},t.source))}class xf extends ln{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return rt("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class Xf{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(4294967295*Math.random()).toString(16),this.dom=$f(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class bf{constructor(e){this.view=e,this.items=[];this.list=rt("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t=>{if(27==t.keyCode)df(this.view),this.view.focus();else if(38==t.keyCode||33==t.keyCode)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(40==t.keyCode||34==t.keyCode)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(36==t.keyCode)this.moveSelection(0);else if(35==t.keyCode)this.moveSelection(this.items.length-1);else if(13==t.keyCode)this.view.focus();else{if(!(t.keyCode>=65&&t.keyCode<=90&&this.selectedIndex>=0))return;{let{diagnostic:n}=this.items[this.selectedIndex],s=Qf(n.actions);for(let i=0;i{for(let t=0;tdf(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(Of).selected;if(!e)return-1;for(let t=0;t{for(let e of o.diagnostics){if(r.has(e))continue;r.add(e);let a,o=-1;for(let t=n;tn&&(this.items.splice(n,o-n),s=!0)),t&&a.diagnostic==t.diagnostic?a.dom.hasAttribute("aria-selected")||(a.dom.setAttribute("aria-selected","true"),i=a):a.dom.hasAttribute("aria-selected")&&a.dom.removeAttribute("aria-selected"),n++}});n({sel:i.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:e,panel:t})=>{let n=t.height/this.list.offsetHeight;e.topt.bottom&&(this.list.scrollTop+=(e.bottom-t.bottom)/n)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),s&&this.sync()}sync(){let e=this.list.firstChild;function t(){let t=e;e=t.nextSibling,t.remove()}for(let n of this.items)if(n.dom.parentNode==this.list){for(;e!=n.dom;)t();e=n.dom.nextSibling}else this.list.insertBefore(n.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=nf(this.view.state.field(Of).diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:lf.of(t)})}static open(e){return new bf(e)}}function yf(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(e)}')`}function Sf(e){return yf(``,'width="6" height="3"')}const vf=rr.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:Sf("#d11")},".cm-lintRange-warning":{backgroundImage:Sf("orange")},".cm-lintRange-info":{backgroundImage:Sf("#999")},".cm-lintRange-hint":{backgroundImage:Sf("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function wf(e){return"error"==e?4:"warning"==e?3:"info"==e?2:1}function Pf(e){let t="hint",n=1;for(let s of e){let e=wf(s.severity);e>n&&(n=e,t=s.severity)}return t}class kf extends va{constructor(e){super(),this.diagnostics=e,this.severity=Pf(e)}toDOM(e){let t=document.createElement("div");t.className="cm-lint-marker cm-lint-marker-"+this.severity;let n=this.diagnostics,s=e.state.facet(Zf).tooltipFilter;return s&&(n=s(n,e.state)),n.length&&(t.onmouseover=()=>function(e,t,n){function s(){let s=e.elementAtHeight(t.getBoundingClientRect().top+5-e.documentTop);e.coordsAtPos(s.from)&&e.dispatch({effects:Wf.of({pos:s.from,above:!1,clip:!1,create:()=>({dom:uf(e,n),getCoords:()=>t.getBoundingClientRect()})})}),t.onmouseout=t.onmousemove=null,function(e,t){let n=s=>{let i=t.getBoundingClientRect();if(!(s.clientX>i.left-10&&s.clientXi.top-10&&s.clientY{clearTimeout(r),t.onmouseout=t.onmousemove=null},t.onmousemove=()=>{clearTimeout(r),r=setTimeout(s,i)}}(e,t,n)),t}}function _f(e,t){let n=Object.create(null);for(let s of t){let t=e.lineAt(s.from);(n[t.from]||(n[t.from]=[])).push(s)}let s=[];for(let e in n)s.push(new kf(n[e]).range(+e));return qe.of(s,!0)}const Df=Da({class:"cm-gutter-lint",markers:e=>e.state.field(Tf),widgetMarker:(e,t,n)=>{let s=[];return e.state.field(Tf).between(n.from,n.to,(e,t,i)=>{e>n.from&&eqe.empty,update(e,t){e=e.map(t.changes);let n=t.state.facet(Zf).markerFilter;for(let s of t.effects)if(s.is(af)){let i=s.value;n&&(i=n(i||[],t.state)),e=_f(t.state.doc,i.slice(0))}return e}}),Wf=pe.define(),qf=M.define({create:()=>null,update:(e,t)=>(e&&t.docChanged&&(e=sf(t,e)?null:{...e,pos:t.changes.mapPos(e.pos)}),t.effects.reduce((e,t)=>t.is(Wf)?t.value:e,e)),provide:e=>ca.from(e)}),Cf=rr.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:yf('')},".cm-lint-marker-warning":{content:yf('')},".cm-lint-marker-error":{content:yf('')}}),Ff=[Of,rr.decorations.compute([Of],e=>{let{selected:t,panel:n}=e.field(Of);return t&&n&&t.from!=t.to?cn.set([cf.range(t.from,t.to)]):cn.none}),ma(hf,{hideOn:sf}),vf],Zf=R.define({combine:e=>ke(e,{hoverTime:300,markerFilter:null,tooltipFilter:null})});function Ef(e={}){return[Zf.of(e),Tf,Df,Cf,qf]}class Vf{constructor(e,t,n,s,i,r,a,o,l,O=0,c){this.p=e,this.stack=t,this.state=n,this.reducePos=s,this.pos=i,this.score=r,this.buffer=a,this.bufferBase=o,this.curContext=l,this.lookAhead=O,this.parent=c}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let s=e.parser.context;return new Vf(e,[],t,n,n,0,[],0,s?new Rf(s,s.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,s=65535&e,{parser:i}=this.p,r=this.reducePos=2e3&&!(null===(t=this.p.parser.nodeSet.types[s])||void 0===t?void 0:t.isAnonymous)&&(l==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=O):this.p.lastBigReductionSizeo;)this.stack.pop();this.reduceContext(s,l)}storeNode(e,t,n,s=4,i=!1){if(0==e&&(!this.stack.length||this.stack[this.stack.length-1]0&&0==e.buffer[s-4]&&e.buffer[s-1]>-1){if(t==n)return;if(e.buffer[s-2]>=t)return void(e.buffer[s-2]=n)}}if(i&&this.pos!=n){let i=this.buffer.length;if(i>0&&0!=this.buffer[i-4]){let e=!1;for(let t=i;t>0&&this.buffer[t-2]>n;t-=4)if(this.buffer[t-1]>=0){e=!0;break}if(e)for(;i>0&&this.buffer[i-2]>n;)this.buffer[i]=this.buffer[i-4],this.buffer[i+1]=this.buffer[i-3],this.buffer[i+2]=this.buffer[i-2],this.buffer[i+3]=this.buffer[i-1],i-=4,s>4&&(s-=4)}this.buffer[i]=e,this.buffer[i+1]=t,this.buffer[i+2]=n,this.buffer[i+3]=s}else this.buffer.push(e,t,n,s)}shift(e,t,n,s){if(131072&e)this.pushState(65535&e,this.pos);else if(262144&e)this.pos=s,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,s,4);else{let i=e,{parser:r}=this.p;(s>this.pos||t<=r.maxNode)&&(this.pos=s,r.stateFlag(i,1)||(this.reducePos=s)),this.pushState(i,n),this.shiftContext(t,n),t<=r.maxNode&&this.buffer.push(t,n,s,4)}}apply(e,t,n,s){65536&e?this.reduce(e):this.shift(e,t,n,s)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let s=this.pos;this.reducePos=this.pos=s+e.length,this.pushState(t,s),this.buffer.push(n,s,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),s=e.bufferBase+t;for(;e&&s==e.bufferBase;)e=e.parent;return new Vf(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,s,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new Af(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(0==n)return!1;if(!(65536&n))return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let n=[];for(let s,i=0;i1&t&&e==s)||n.push(t[e],s)}t=n}let n=[];for(let e=0;e>19,s=65535&t,i=this.stack.length-3*n;if(i<0||e.getGoto(this.stack[i],s,!1)<0){let e=this.findForcedReduction();if(null==e)return!1;t=e}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(s,i)=>{if(!t.includes(s))return t.push(s),e.allActions(s,t=>{if(393216&t);else if(65536&t){let n=(t>>19)-i;if(n>1){let s=65535&t,i=this.stack.length-3*n;if(i>=0&&e.getGoto(this.stack[i],s,!1)>=0)return n<<19|65536|s}}else{let e=n(t,i+1);if(null!=e)return e}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(3!=this.stack.length)return!1;let{parser:e}=this.p;return 65535==e.data[e.stateSlot(this.state,1)]&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;tthis.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class Rf{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class Af{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=65535&e,n=e>>19;0==n?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(n-1);let s=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=s}}class jf{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,0==this.index&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new jf(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;null!=e&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,0==this.index&&this.maybeNext()}fork(){return new jf(this.stack,this.pos,this.index)}}function zf(e,t=Uint16Array){if("string"!=typeof e)return e;let n=null;for(let s=0,i=0;s=92&&t--,t>=34&&t--;let i=t-32;if(i>=46&&(i-=46,n=!0),r+=i,n)break;r*=46}n?n[i++]=r:n=new t(r)}return n}class Yf{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const Uf=new Yf;class Bf{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Uf,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,s=this.rangeIndex,i=this.pos+e;for(;in.to:i>=n.to;){if(s==this.ranges.length-1)return null;let e=this.ranges[++s];i+=e.from-n.to,n=e}return i}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t,n,s=this.chunkOff+e;if(s>=0&&s=this.chunk2Pos&&ts.to&&(this.chunk2=this.chunk2.slice(0,s.to-t)),n=this.chunk2.charCodeAt(0)}}return t>=this.token.lookAhead&&(this.token.lookAhead=t+1),n}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(null==n||n=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Uf,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let s of this.ranges){if(s.from>=t)break;s.to>e&&(n+=this.input.read(Math.max(s.from,e),Math.min(s.to,t)))}return n}}class Mf{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;Lf(this.data,e,t,this.id,n.data,n.tokenPrecTable)}}Mf.prototype.contextual=Mf.prototype.fallback=Mf.prototype.extend=!1;class Gf{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data="string"==typeof e?zf(e):e}token(e,t){let n=e.pos,s=0;for(;;){let n=e.next<0,i=e.resolveOffset(1,1);if(Lf(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(null==this.elseToken)return;if(n||s++,null==i)break;e.reset(i,e.token)}s&&(e.reset(n,e.token),e.acceptToken(this.elseToken,s))}}Gf.prototype.contextual=Mf.prototype.fallback=Mf.prototype.extend=!1;class If{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function Lf(e,t,n,s,i,r){let a=0,o=1<0){let n=e[s];if(l.allows(n)&&(-1==t.token.value||t.token.value==n||Kf(n,t.token.value,i,r))){t.acceptToken(n);break}}let s=t.next,O=0,c=e[a+2];if(!(t.next<0&&c>O&&65535==e[n+3*c-3])){for(;O>1,r=n+i+(i<<1),o=e[r],l=e[r+1]||65536;if(s=l)){a=e[r+2],t.advance();continue e}O=i+1}}break}a=e[n+3*c-1]}}function Nf(e,t,n){for(let s,i=t;65535!=(s=e[i]);i++)if(s==n)return i-t;return-1}function Kf(e,t,n,s){let i=Nf(n,s,t);return i<0||Nf(n,s,e)t)&&!s.type.isError)return n<0?Math.max(0,Math.min(s.to-1,t-25)):Math.min(e.length,Math.max(s.from+1,t+25));if(n<0?s.prevSibling():s.nextSibling())break;if(!s.parent())return n<0?0:e.length}}let tp=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?ep(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?ep(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=r,null;if(i instanceof ao){if(r==e){if(r=Math.max(this.safeFrom,e)&&(this.trees.push(i),this.start.push(r),this.index.push(0))}else this.index[t]++,this.nextStart=r+i.length}}};class np{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(e=>new Yf)}getActions(e){let t=0,n=null,{parser:s}=e.p,{tokenizers:i}=s,r=s.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,o=0;for(let s=0;sO.end+25&&(o=Math.max(O.lookAhead,o)),0!=O.value)){let s=t;if(O.extended>-1&&(t=this.addActions(e,O.extended,O.end,t)),t=this.addActions(e,O.value,O.end,t),!l.extend&&(n=O,t>s))break}}for(;this.actions.length>t;)this.actions.pop();return o&&e.setLookAhead(o),n||e.pos!=this.stream.end||(n=new Yf,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Yf,{pos:n,p:s}=e;return t.start=n,t.end=Math.min(n+1,s.stream.end),t.value=n==s.stream.end?s.parser.eofTerm:0,t}updateCachedToken(e,t,n){let s=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(s,e),n),e.value>-1){let{parser:t}=n.p;for(let s=0;s=0&&n.p.parser.dialect.allows(i>>1)){1&i?e.extended=i>>1:e.value=i>>1;break}}}else e.value=0,e.end=this.stream.clipPos(s+1)}putAction(e,t,n,s){for(let t=0;t4*e.bufferLength?new tp(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e,t,n=this.stacks,s=this.minStackPos,i=this.stacks=[];if(this.bigReductionCount>300&&1==n.length){let[e]=n;for(;e.forceReduce()&&e.stack.length&&e.stack[e.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let r=0;rs)i.push(a);else{if(this.advanceStack(a,i,n))continue;{e||(e=[],t=[]),e.push(a);let n=this.tokens.getMainToken(a);t.push(n.value,n.end)}}break}}if(!i.length){let t=e&&function(e){let t=null;for(let n of e){let e=n.p.stoppedAt;(n.pos==n.p.stream.end||null!=e&&n.pos>e)&&n.p.parser.stateFlag(n.state,2)&&(!t||t.scorethis.stoppedAt?e[0]:this.runRecovery(e,t,i);if(n)return Hf&&console.log("Force-finish "+this.stackID(n)),this.stackToTree(n.forceAll())}if(this.recovering){let e=1==this.recovering?1:3*this.recovering;if(i.length>e)for(i.sort((e,t)=>t.score-e.score);i.length>e;)i.pop();i.some(e=>e.reducePos>s)&&this.recovering--}else if(i.length>1){e:for(let e=0;e500&&s.buffer.length>500){if(!((t.score-s.score||t.buffer.length-s.buffer.length)>0)){i.splice(e--,1);continue e}i.splice(n--,1)}}}i.length>12&&i.splice(12,i.length-12)}this.minStackPos=i[0].pos;for(let e=1;e ":"";if(null!=this.stoppedAt&&s>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let t=e.curContext&&e.curContext.tracker.strict,n=t?e.curContext.hash:0;for(let a=this.fragments.nodeAt(s);a;){let s=this.parser.nodeSet.types[a.type.id]==a.type?i.getGoto(e.state,a.type.id):-1;if(s>-1&&a.length&&(!t||(a.prop(Ha.contextHash)||0)==n))return e.useNode(a,s),Hf&&console.log(r+this.stackID(e)+` (via reuse of ${i.getName(a.type.id)})`),!0;if(!(a instanceof ao)||0==a.children.length||a.positions[0]>0)break;let o=a.children[0];if(!(o instanceof ao&&0==a.positions[0]))break;a=o}}let a=i.stateSlot(e.state,4);if(a>0)return e.reduce(a),Hf&&console.log(r+this.stackID(e)+` (via always-reduce ${i.getName(65535&a)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let o=this.tokens.getActions(e);for(let a=0;as?t.push(u):n.push(u)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return ip(e,t),!0}}runRecovery(e,t,n){let s=null,i=!1;for(let r=0;r ":"";if(a.deadEnd){if(i)continue;if(i=!0,a.restart(),Hf&&console.log(O+this.stackID(a)+" (restarted)"),this.advanceFully(a,n))continue}let c=a.split(),h=O;for(let e=0;c.forceReduce()&&e<10;e++){if(Hf&&console.log(h+this.stackID(c)+" (via force-reduce)"),this.advanceFully(c,n))break;Hf&&(h=this.stackID(c)+" -> ")}for(let e of a.recoverByInsert(o))Hf&&console.log(O+this.stackID(e)+" (via recover-insert)"),this.advanceFully(e,n);this.stream.end>a.pos?(l==a.pos&&(l++,o=0),a.recoverByDelete(o,l),Hf&&console.log(O+this.stackID(a)+` (via recover-delete ${this.parser.getName(o)})`),ip(a,n)):(!s||s.scoree;class op{constructor(e){this.start=e.start,this.shift=e.shift||ap,this.reduce=e.reduce||ap,this.reuse=e.reuse||ap,this.hash=e.hash||(()=>0),this.strict=!1!==e.strict}}class lp extends Po{constructor(e){if(super(),this.wrappers=[],14!=e.version)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let n=0;ne.topRules[t][1]),s=[];for(let e=0;e=0)i(s,e,t[n++]);else{let r=t[n+-s];for(let a=-s;a>0;a--)i(t[n++],e,r);n++}}}this.nodeSet=new no(t.map((t,i)=>to.define({name:i>=this.minRepeatTerm?void 0:t,id:i,props:s[i],top:n.indexOf(i)>-1,error:0==i,skipped:e.skippedNodes&&e.skippedNodes.indexOf(i)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=La;let r=zf(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let e=0;e"number"==typeof e?new Mf(r,e):e),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let s=new sp(this,e,t,n);for(let i of this.wrappers)s=i(s,e,t,n);return s}getGoto(e,t,n=!1){let s=this.goto;if(t>=s[0])return-1;for(let i=s[t+1];;){let t=s[i++],r=1&t,a=s[i++];if(r&&n)return a;for(let n=i+(t>>1);i0}validAction(e,t){return!!this.allActions(e,e=>e==t||null)}allActions(e,t){let n=this.stateSlot(e,4),s=n?t(n):void 0;for(let n=this.stateSlot(e,1);null==s;n+=3){if(65535==this.data[n]){if(1!=this.data[n+1])break;n=Op(this.data,n+2)}s=t(Op(this.data,n+1))}return s}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(65535==this.data[n]){if(1!=this.data[n+1])break;n=Op(this.data,n+2)}if(!(1&this.data[n+2])){let e=this.data[n+1];t.some((t,n)=>1&n&&t==e)||t.push(this.data[n],e)}}return t}configure(e){let t=Object.assign(Object.create(lp.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(t=>{let n=e.tokenizers.find(e=>e.from==t);return n?n.to:t})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,s)=>{let i=e.specializers.find(e=>e.from==n.external);if(!i)return n;let r=Object.assign(Object.assign({},n),{external:i.to});return t.specializers[s]=cp(r),r})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),null!=e.strict&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),null!=e.bufferLength&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return null==t?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let e=t.indexOf(s);e>=0&&(n[e]=!0)}let s=null;for(let e=0;ee.external(n,s)<<1|t}return e.get}const hp=">".charCodeAt(0),up="?".charCodeAt(0),dp="]".charCodeAt(0),fp="`".charCodeAt(0),pp="-".charCodeAt(0),mp="{".charCodeAt(0),gp="(".charCodeAt(0),Qp=")".charCodeAt(0),$p=":".charCodeAt(0),xp="#".charCodeAt(0),Xp=new If((e,t)=>{if(e.peek(0)!==gp||e.peek(1)!==$p)return;let n=2;for(let t=1;t>0;){const s=e.peek(n);if(-1===s)return;const i=e.peek(n+1);s===gp&&i===$p?(++t,n+=2):s===$p&&i===Qp?(--t,n+=2):++n}e.acceptToken(2,n)}),bp=new If((e,t)=>{for(let t=0;;++t){const n=e.peek(t);if(n<0||n===xp&&e.peek(t+1)===Qp)return void e.acceptToken(7,t)}}),yp=new If((e,t)=>{for(let t=0;;++t){const n=e.peek(t);if(n<0||n===up&&e.peek(t+1)===hp)return void e.acceptToken(4,t)}}),Sp=new If((e,t)=>{for(let t=0;;++t){const n=e.peek(t);if(n<0||n===dp&&e.peek(t+1)===dp&&e.peek(t+2)===hp)return void e.acceptToken(1,t)}}),vp=new If((e,t)=>{for(let t=0;;t++){const n=e.peek(t);if(n<0||n===pp&&e.peek(t+1)===pp)return void e.acceptToken(3,t)}}),wp=new If((e,t)=>{for(let t=0;;t++){const n=e.peek(t);if(n<0||n===fp&&e.peek(t+1)===mp||n===dp&&e.peek(t+1)===fp)return void e.acceptToken(9,t)}}),Pp=new If((e,t)=>{const n=new Set(["attribute","comment","document-node","element","namespace-node","node","schema-attribute","schema-element","processing-instruction","text","array","enum","fn","function","gnode","get","if","item","jnode","map","record","switch","type","typeswitch"]),s=e=>e>=65&&e<=90||e>=97&&e<=122||95===e||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=767||e>=880&&e<=893||e>=895&&e<=8191||e>=8204&&e<=8205||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533,i=e=>s(e)||45===e||46===e||e>=48&&e<=57||183===e||e>=768&&e<=879||e>=8255&&e<=8256;let r=0,a="",o=!1;const l=e.peek(r);if(s(l)){for(;;++r){const t=e.peek(r);if(!i(t))break;a+=String.fromCharCode(t)}if(58===e.peek(r)){if(o=!0,a+=":",r++,!s(e.peek(r)))return;for(;;++r){const t=e.peek(r);if(!i(t))break;a+=String.fromCharCode(t)}}(e=>9===e||10===e||13===e||32===e||e===gp||e===xp)(e.peek(r))&&(!o&&n.has(a)||e.acceptToken(5,r))}},{extend:!0}),kp=new If((e,t)=>{60===e.peek(0)&&e.acceptToken(6,1)},{extend:!0}),_p=new If((e,t)=>{e.peek(0)===gp&&e.peek(1)===xp&&(e=>32===e||10===e||9===e||13===e)(e.peek(2))&&e.acceptToken(8,2)}),Dp={__proto__:null,xquery:1267,encoding:1269,version:1271,module:1275,namespace:1277,declare:1281,fixed:1283,default:1285,element:1287,function:1289,"boundary-space":1291,preserve:1293,strip:1295,collation:1297,"base-uri":1299,construction:1301,ordering:1303,ordered:1305,unordered:1307,order:1309,empty:1311,greatest:1313,least:1315,revalidation:1317,strict:1319,lax:1321,skip:1323,"copy-namespaces":1325,"no-preserve":1327,inherit:1331,"no-inherit":1333,"decimal-format":1335,"decimal-separator":1337,"grouping-separator":1339,infinity:1341,"minus-sign":1343,NaN:1345,percent:1347,"per-mille":1349,"zero-digit":1351,digit:1353,"pattern-separator":1355,"exponent-separator":1357,import:1359,schema:1361,at:1363,"ft-option":1365,using:1367,language:1369,wildcards:1371,no:1373,thesaurus:1375,relationship:1377,exactly:1379,most:1381,from:1383,to:1385,levels:1387,stemming:1393,case:1395,insensitive:1397,sensitive:1399,lowercase:1401,uppercase:1403,diacritics:1405,stop:1407,words:1409,union:1411,except:1413,option:1415,fuzzy:1417,errors:1419,context:1421,value:1423,as:1425,"empty-sequence":1427,item:1429,"document-node":1431,"schema-element":1439,attribute:1441,"schema-attribute":1443,"processing-instruction":1445,comment:1447,text:1449,"namespace-node":1451,xnode:1453,node:1455,jnode:1457,true:1463,false:1465,map:1467,array:1469,record:1471,enum:1473,updating:1475,fn:1479,for:1485,allowing:1487,score:1489,in:1491,member:1493,key:1495,let:1497,tumbling:1507,window:1509,start:1511,previous:1513,next:1515,when:1517,only:1519,end:1521,sliding:1523,where:1525,while:1527,group:1529,by:1531,stable:1533,ascending:1535,descending:1537,count:1539,trace:1541,return:1543,some:1545,every:1547,satisfies:1549,switch:1551,typeswitch:1553,if:1555,then:1557,else:1559,try:1561,catch:1563,finally:1565,validate:1567,type:1569,document:1603,ancestor:1617,"ancestor-or-self":1619,child:1621,descendant:1623,"descendant-or-self":1625,following:1627,"following-or-self":1629,"following-sibling":1631,"following-sibling-or-self":1633,parent:1635,preceding:1637,"preceding-or-self":1639,"preceding-sibling":1641,"preceding-sibling-or-self":1643,self:1645,transform:1657,with:1659,update:1661,cast:1663,castable:1665,coerce:1667,treat:1669,instance:1671,of:1673,but:1675,intersect:1677,div:1681,idiv:1685,mod:1687,otherwise:1691,contains:1693,ftnot:1695,any:1697,word:1699,all:1701,phrase:1703,occurs:1705,times:1707,weight:1709,not:1711,ftand:1713,ftor:1715,sentences:1717,paragraphs:1719,distance:1721,same:1723,different:1725,sentence:1727,paragraph:1729,entire:1731,content:1733,without:1735,eq:1737,ne:1739,lt:1741,le:1743,gt:1745,ge:1747,is:1757,"is-not":1759,precedes:1763,follows:1767,"precedes-or-is":1769,"follows-or-is":1771,and:1773,or:1775,insert:1777,nodes:1779,first:1781,last:1783,into:1785,after:1787,before:1789,delete:1791,rename:1793,replace:1795,invoke:1797,copy:1799,modify:1801,external:1803,variable:1805},Tp=lp.deserialize({version:14,states:"%KvO&xQ0OOOO'PQ7^OOOOQQ'#Ch'#ChO'UQ,WO'#CgOOQQ'#Cp'#CpO'^Q,WO'#CoOOQQ'#Cv'#CvO(WQ,WO'#C|OOQQ'#C{'#C{OOQQ'#EQ'#EQO(tQ,WO'#EPOOQQ'#EO'#EOO(|Q,WO'$ mO.nQ0OO'#CtO(|Q,WO'$ tO)RQ0OO'#CtO.uQ,WO'#CnO/QQ0OO'$ jQOQ,WOOOYQ0OOOOOQQ'#Cj'#CjOOQQ'#Cl'#ClO4gQ,WO,59RO4lQ,WO,59ROOQQ'#Cq'#CqO4qQ7^O,59ZOOQQ'#Cw'#CwOOQQ'#Cx'#CxOOQb'#Cz'#CzO4vQ,WO,5:XO5XQ,WO,59aOOQQ'#C}'#C}O5^Q,WO,59hOOQQ'#DT'#DTO5fQ,WO,59nOOQQ'#DV'#DVO5^Q,WO,59pOOQQ'#DX'#DXO5kQ,WO,59rOOQQ'#Db'#DbO5sQ,WO,59{OOQQ'#Dg'#DgO6OQ,WO,5:QOOQQ'#Dn'#DnO6WQ,WO,5:XO6`Q7^O,5:iOOQQ'#EW'#EWOOQQ'#FO'#FOO6eQ,WO,5:qOOQQ'#FT'#FTOOQQ'#Gc'#GcOOQ!S'#Gl'#GlOOQQ'#Gk'#GkOOQQ'#Gj'#GjO6WQ,WO'#GjOOQQ'$ w'$ wO6jQ,WO,5D{OOQQ'#Jj'#JjO7OQ,WO,5;nOOQQ'$ b'$ bO7WQ,WO,5D{O7]Q,hO,5D}O6WQ,WO,5EQO6WQ,WO,5ERO6WQ,WO,5ETOOQQ'#ER'#ERO7eQ,WO,5:kO7sQ,WO,5:pOOQ$x'#Cm'#CmOOQ$x,5EX,5EXOOQ$x-EBk-EBkO7{Q0OO,59`OOQ$x,5E`,5E`O=hQ,WO'#FSOOQ$x-EBr-EBrOOQQ,59Y,59YOOQQ'#Cy'#CyOOQQ'#DY'#DYOOQQ'#DZ'#DZOOQQ'#Do'#DoOAjQ,WO'#DoOOQQ'#F]'#F]OOQQ'#F`'#F`OOQQ'#Fd'#FdOC{Q,WO'#FaOOQQ'#Fh'#FhOD^Q,WO'#FgODcQ,WO'#F_OOQQ'#Fk'#FkODhQ,WO'#LnOOQQ'#Fm'#FmOD|Q,WO'#FlOOQQ'#Fp'#FpOERQ7^O'#FoOOQQ'#Fr'#FrOEaQ,WO'#KrOOQ#v'#Ft'#FtOEiQ,WO'#KqOOQQ'#Fv'#FvOEqQ,WO'#FuOOQQ'#Fx'#FxOEvQ,WO'#FwOOQQ'#F^'#F^OOQ$x'#Fz'#FzOE{Q,WO'#FyOOQQ'#F|'#F|OOQQ'#GP'#GPO6WQ,WO'#GUOFQQ,WO'#F{OOQQ'#GZ'#GZOOQQ'#G_'#G_OHfQ-YO'#GkOHvQ,WO'#KvOOQQ'#Gn'#GnOOQQ'#Gy'#GyOIUQ,WO'#GxOOQQ'#H^'#H^OIjQ,WO'#H]OOQQ'#Gw'#GwOIrQ,WO'#GvOOQQ'#I^'#I^OOQQ'#I_'#I_O7WQ,WO'#I]OOQQ'#Ic'#IcOJdQ,WO'#IeOJ{Q,WO'#IbOOQQ'#Ik'#IkOKQQ,WO'#IjOOQQ'#Iq'#IqOKVQ,WO'#IpOOQQ'#Iz'#IzOEdQ,WO'#IyOK[Q,WO'#IxOOQ$x'$!Y'$!YOKdQ0OO'#JeOOQQ'#Jh'#JhO! }Q,WO'#JgO!!]OMhO'#JlOOQ#v'$!Z'$!ZO!!bQ.|O'#JkOOQQ'#Ju'#JuO6WQ,WO'#JvO!!jQ0OO'#JwOOQQ'#Jx'#JxOOQQ'#Jz'#JzO!!qQ,WO'#JyOEdQ,WO'#KPOEdQ,WO'#KQO!!yO,UO'#KTO!#OOSO'#KdO!#TOMhO'#KeOOQQ'#KS'#KSOOQQ'#Ki'#KiOEdQ,WO'#KhO!#YQ7^O'#KnOOQQ'#Kg'#KgOOQQ'#KR'#KRO!#eQ,WO'#KvOOQQ'#Kt'#KtO!)SQ0OO'#KzO!)ZQ,WO'#KzO!)`Q0OO'#K}OEdQ,WO'#LOOOQQ'#K|'#K|O!)gO!LQO'#LQO!)rO&jO'#LVO!)wQ7^O'#LZOOQQ'#LY'#LYOOQQ'#Jt'#JtO!.jQ,WO'#JrOOQQ'#Js'#JsOOQQ'#Lj'#LjOOQQ'#Lk'#LkOOQQ'#Li'#LiOOQQ'#Lf'#LfO!0xQ,WO'#LfOOQQ'#Lo'#LoOOQQ'#Lp'#LpOOQQ'#Lq'#LqOOQQ'#Lr'#LrOOQQ'#Ls'#LsOOQQ'#Lt'#LtOOQQ'#Lu'#LuOOQQ'#Lv'#LvOOQQ'#Lw'#LwOOQQ'#Lx'#LxOOQQ'#Ly'#LyOOQQ'#Lz'#LzOOQQ'#L{'#L{OOQQ'#L|'#L|OOQQ'#L}'#L}ODwQ,WO'#LnO!0xQ,WO'#LmO!5tQ,WO'#LeOOQQ'#Jr'#JrO!;kQ,WO'#JqO!EgQ-YO'#JpO!GxQ-YO'#JpOOQQ'#Jo'#JoO# eQ,WO'#JnOOQQ'#Jf'#JfOOQQ'#Je'#JeO#'[Q,WO'#JdO#,uQ,WO'#JcO#2cQ,WO'#JbO#7vQ,WO'#JaO#=WQ,WO'#J`O#BeQ,WO'#J_O#GoQ,WO'#J^O#LvQ,WO'#J]O$#zQ,WO'#J[O$({Q,WO'#JZO$-sQ,WO'#JYO$2bQ,WO'#JXO$6vQ,WO'#JWO$;XQ,WO'#JVO$?QQ,WO'#JUO$B|Q,WO'#JTO$FrQ,WO'#JSO$JeQ,WO'#JRO$LxQ,WO'#JQO$NzQ,WO'#JPOOQQ'#Nw'#NwO%#WQ,WO'#NvOOQQ'$ S'$ SO%#WQ,WO'$ ROOQQ'$ U'$ UO%#WQ,WO'$ TOOQQ'$ X'$ XO%#`Q,WO'$ WOOQQ'$ Z'$ ZO%#kQ,WO'$ YOOQQ'$ ]'$ ]O%#pQ,WO'$ [OOQQ'#Gu'#GuOOQQ'$ k'$ kOOQQ,5EU,5EUO(|Q,WO1G.mO%#uQ,WO1G.mO%#}Q,WO1G.uO'^Q,WO1G.{OOQQ'#DR'#DRO5fQ,WO1G/WOOQQ'#D]'#D]O%$SQ,WO1G/bO%$|Q,WO1G/sO%%TQ,WO1G.{OOQQ'#DO'#DOOOQQ'#DP'#DPOOQQ1G/S1G/SOOQQ'#Cs'#CsOOQQ1G/Y1G/YOOQQ1G/[1G/[OOQQ1G/^1G/^OOQQ'#Dc'#DcOOQQ'#Dd'#DdOOQQ'#De'#DeOOQQ1G/g1G/gOOQQ'#Di'#DiOOQQ'#Dh'#DhO%%]Q,WO1G/lO%%bQ,WO1G0TOOQQ'#EY'#EYO%%gQ,WO'$ pO%&_Q,WO'#EXOOQQ1G0]1G0]O%&gQ,WO,5=UOOQQ-EBu-EBuO7WQ,WO1G:gO7]Q,hO1G:iO6WQ,WO1G:lO6WQ,WO1G:mOOQQ'#FU'#FUO%'RQ,WO1G1YO%'RQ,WO1G1YO6WQ,WO'#G|O%'^Q,WO1G:gO%'fQ,WO1G:iO%'kQ,WO1G:lO%'pQ,WO1G:mO%'uQ,WO1G:oO%'zQ7^O'#ESO%(PQ,WO'#ESO5XQ,WO'#ESO%(UQ,WO1G0VO5fQ,WO1G0VO%(^Q,WO1G0[O%(fQ7^O1G0[P'cQ,WO'#C|O%(kQ,WO,5;{OOQQ'#Kk'#KkO/QQ0OO'#KkOEdQ,WO,5AUO6WQ,WO,5O,5>OO%.OQ,WO'#G|OOQQ'#HT'#HTO%#pQ,WO'#HSO%.aQ,WO'#H`OOQQ'#H_'#H_O%.fQ,WO,5=wOOQ$x'#Hx'#HxO/QQ0OO'#HwOOQ$x'#Hz'#HzO/QQ0OO'#HyOOQQ'#H|'#H|O%/ZQ,WO'#H{OOQQ'#IQ'#IQO%/ZQ,WO'#IPO%/`Q,WO'#IPOOQQ'#IW'#IWO%#pQ,WO'#IVOOQ$x'#IY'#IYO/QQ0OO'#IXOOQQ'#Hv'#HvOOQQ'$!O'$!OOIrQ,WO,5=bOOQ$x'#I['#I[O/QQ0OO'#IZOOQQ,5=b,5=bO%,lQ,WO'#I`O%/eQ,WO,5>wO/QQ0OO'$!SO%/mQ,WO,5?PO%0UQ0OO'#IdO%0]Q,WO,5>|O/QQ0OO,5?UO/QQ0OO,5?[OOQQ,5?e,5?eOOQQ'#I|'#I|O%0eQ,WO'#I{OOQQ'$!X'$!XO%1UQ,WO,5?dOOQQ'#JO'#JOOEdQ,WO'#I}OOQQ,5?d,5?dOOQ$x-ECW-ECWOOQQ,5@P,5@POOQQ'#Ji'#JiO/QQ0OO,5@RO%3WQ,WO,5@RO6WQ,WO,5@RO6WO,UO,5@WOOQ#v-ECX-ECXO%3]Q0OO,5@VOOQQ,5@b,5@bOOQQ,5@c,5@cO%3dQ,WO,5@cO%9OQ0OO'#J{OOQQ,5@e,5@eO%9VQ,WO,5AaOOQQ,5@k,5@kOOQQ,5@l,5@lO%9[OMhO,5@oO%9gO7[O,5AOO%9lOMhO,5APOOQQ,5AS,5ASOEdQ,WO,5AYO%9tQ,WO'#KwOOQQ'#Ky'#KyOOQQ,5Ab,5AbOEdQ,WO,5AbO%9|Q$IUO'#DoO%:TQ7^O'#K{OOQQ,5Af,5AfO%:`Q,WO,5AfO%:hQ$IUO'#JrO%:oQ$IUO'#LeO%:vQ$IUO'#JqO%;TQ$JWO'#JpO%;_Q$IUO'#JnO%;iQ$IUO'#JdO%;pQ$IUO'#JcO%;zQ$IUO'#JbO%UQ$IUO'#JUO%>`Q$IUO'#JTO%>gQ$IUO'#JSO%>nQ$IUO'#JRO%>uQ$IUO'#JQO%>|Q$IUO'#JPO%?_Q0OO,5AfOOQQ,5Ai,5AiO%?fQ,WO,5AiOOQQ,5Aj,5AjOOOO'#LS'#LSOOOO'$!b'$!bO%?nO!LQO,5AlOOQQ,5Al,5AlO%?yO7[O'#LWO%@RO7[O,5AqOOQQ'#L]'#L]OOQQ'#L['#L[OOQQ,5Au,5AuO/QQ0OO'#L_OOQQ,5Ax,5AxO%@WQ0OO'#LaOOQQ,5Az,5AzOOQQ,5A},5A}O%@_Q7^O,5BOO%@dQ,WO'#FaO%@iQ,WO'#FjO%@nQ,WO'#FoO%@sQ,WO'#FqO%@xQ,WO'#FsO%@}Q,WO'#LhOOQQ'#Ll'#LlOOQQ'#Lg'#LgOOQQ,5BQ,5BQOOQQ,5BX,5BXOOQQ'$!f'$!fO%EcQ,WO,5BPO!GxQ-YO'$!gO%KYQ,WO,5@]OOQQ,5@[,5@[O%MnQ-YO'$!hO&#^Q,WO,5@YO&%oQ,hO'#MOO&%oQ,hO'#MROOQQ'$!i'$!iO&){Q,WO,5@OOKdQ0OO'$!jO&/fQ,WO,5?}OOQQ'#MS'#MSOOQQ'#MU'#MUO&1wQ,WO'$!kO&1|Q,WO'$!kO&5^Q,WO,5?|OOQQ'#MV'#MVO%'kQ,WO,5?{OOQQ'#MX'#MXO%'kQ,WO,5?zOOQQ'#MY'#MYO&7lQ,WO,5?yOOQQ'#MZ'#MZO%'kQ,WO,5?xOOQQ'#M['#M[O&7qQ,WO,5?wOOQQ'#M^'#M^O&1wQ,WO'$!lO&:lQ,WO,5?vOOQ$x'#E|'#E|OOQ$x'#M_'#M_OKdQ0OO'$!mO&?mQ,WO,5?uOOQ$x'#E{'#E{OKdQ0OO'$!nO&DeQ,WO,5?tOOQ$x'#M`'#M`OOQ$x'#Ma'#MaOOQ$x'#Mb'#MbOKdQ0OO'$!oO&ISQ,WO,5?sOKdQ0OO'$!pO&MhQ,WO,5?rOOQ$x'#Ej'#EjOKdQ0OO,5?qOKdQ0OO'$!qO'#sQ,WO,5?pOOQ$x'#Mc'#McOKdQ0OO'$!rO''oQ,WO,5?oOOQQ'#Md'#MdO')qQ,WO,5?nOOQ$x'#Nd'#NdOOQ$x'#Ne'#NeOOQ$x'#Nf'#NfOOQ$x'#Ng'#NgOOQ$x'#Nh'#NhOOQ$x'#Ni'#NiOOQ$x'#Nc'#NcOOQ$x'#Nj'#NjOOQ$x'#Nl'#NlOOQ$x'#Nm'#NmOOQ$x'#No'#NoOOQ$x'#Nn'#NnOOQ$x'#Nq'#NqOOQ$x'#Np'#NpOOQ$x'#Nr'#NrOOQ$x'#Ns'#NsOOQ$x'#Nk'#NkOKdQ0OO,5?mOOQ$x'#Nt'#NtOKdQ0OO'$!wO'*XQ,WO,5?lOOQ$x'#Nu'#NuOKdQ0OO'$!xO',ZQ,WO,5?kOOQ$x'#Nx'#NxO/QQ0OO,5DbO/QQ0OO,5DmO/QQ0OO,5DoO/QQ0OO,5DrO&7qQ,WO,5DrOFVQ-YO,5DtO6WQ,WO'#HRO'.gQ,WO,5DvOOQ$x7+$X7+$XO'.lQ,WO7+$XO5fQ,WO7+$aO5fQ,WO7+$gOOQQ7+$r7+$rOOQQ'#D^'#D^O'.qQ,WO7+$|OOQQ'#Dr'#DrOOQQ'#Ds'#DsOOQQ'#Dt'#DtOOQQ'#Du'#DuOOQQ'#Dv'#DvOOQQ'#Dw'#DwOOQQ'#Dx'#DxOOQQ'#Dy'#DyOOQQ'#Dz'#DzOOQQ'#D{'#D{OOQQ'#D|'#D|OOQQ'#Dq'#DqO'.yQ,WO'$ nO'/OQ,WO7+%_O'^Q,WO7+$gO'/VQ,WO7+%WO5fQ,WO7+%oOOQQ'#E]'#E]O'/_Q,WO'#E[OOQQ'#E_'#E_OOQQ'#E`'#E`OOQQ'#E^'#E^O'/dQ,WO'#E^OOQQ'#Eb'#EbO'/rQ,WO'#EaOOQQ'#Em'#EmOOQQ'#El'#ElOOQ$x'#Eo'#EoOOQQ'#Er'#ErOOQQ'#Es'#EsO'/}Q,WO'#EnOOQQ'#En'#EnOOQQ'#Eu'#EuO'/}Q,WO'#EtOOQQ'#Ew'#EwO'0VQ,WO'#EvO6WQ,WO'#E}OOQQ'#FQ'#FQO'2wQ,WO'#FPOOQQ'#EZ'#EZOOQQ,5E[,5E[OOQQ-EBn-EBnO%*|Q,WO1G2pO'4yQ,WO7+0RO'5RQ,WO7+0TO%'kQ,WO7+0WO'5WQ,WO7+0XOOQ$x'#FV'#FVOOQQ'$ _'$ _O/QQ0OO7+&tO'5]Q,WO7+&tO'5eQ,WO7+&tO'7UQ,WO7+&tO'8rQ,WO,5=hO/QQ0OO7+0RO'9jQ,WO7+0RO'9rQ,WO7+0TO'7UQ,WO7+0WO'9zQ7^O7+0XOOQQ7+0Z7+0ZO':YQ,WO,5:nO'^Q,WO,5:nO%(PQ,WO,5:nOOQQ'#ET'#ETO5fQ,WO7+%qO':_Q,WO7+%qO5fQ,WO7+%vO':gQ,WO7+%vOOQQ'#Fc'#FcO':lQ,WO'#FbOOQQ1G1g1G1gO':zQ,WO1G1gO';SQ,WO,5AVOOQQ'#Kl'#KlOOQQ1G6p1G6pOOQQ'#Fi'#FiO';XQ,WO1G1mOOQQ1G1e1G1eO';^Q,WO1G1eOOQQ1G1p1G1pO';cQ,WO1G1pOOQQ1G6s1G6sOOQQ'#Fn'#FnO';kQ,WO1G1rOOQQ1G1u1G1uO';pQ,WO1G1uOOQQ,5A[,5A[O';uQ,WO,5AZOOQQ1G6y1G6yOOQQ1G1w1G1wOOQQ,5?b,5?bO';zQ,WO,5?bOOQQ1G1y1G1yOOQQ1G1{1G1{OOQQ1G1}1G1}OOQQ1G2P1G2PO'PO7WQ,WO,5>`O7WQ,WO,5={O7WQ,WO,5=|O7WQ,WO,5=}OOQQ,5=n,5=nO/QQ0OO,5=zOIjQ,WO'$ }O'>ZQ,WO1G3cOOQQ,5>c,5>cOOQQ,5>e,5>eOOQ$x'#H}'#H}O%#pQ,WO,5>gO/QQ0OO,5>kO%/ZQ,WO,5>kOOQQ,5>q,5>qOOQQ,5>s,5>sOOQQ-EB|-EB|OOQQ1G2|1G2|OOQQ,5>u,5>uO/QQ0OO,5>zO7WQ,WO'$!RO%/eQ,WO1G4cOOQ$x'#Ia'#IaO/QQ0OO1G4cOOQQ,5En,5EnOOQQ-ECQ-ECQOOQQ,5?O,5?OO'?OQ,WO,5?OO/QQ0OO'$!UO'?TQ,WO'#IgOOQQ'$!T'$!TO'?]Q,WO'#IfO'?`Q,WO'#IiOOQQ1G4h1G4hO'?eQ,WO1G4pO'?jQ,WO1G4vOEdQ,WO,5?gOOQQ-ECV-ECVOOQQ1G5O1G5OOOQQ,5?i,5?iO'?oQ,WO1G5mO/QQ0OO1G5mOOQQ'#Ff'#FfO'?tQ,WO1G5mO'?yOMhO1G5rOOQQ1G5q1G5qO'@RQ,WO1G5qOOQQ1G5}1G5}O'@WQ7^O'#J}OOQQ'#J|'#J|O'@bQ,WO'#LkOOQQ,5@g,5@gO'DSQ,WO,5@gOOQQ1G6{1G6{O'D[O(CWO'$!]O'DjOMhO'#KUO'DuO7[O1G6ZOOQQ1G6j1G6jOOQQ1G6k1G6kO'D}OWO1G6kOOQQ1G6t1G6tO'ESQ,WO'#KxO'E[Q,WO,5AcO'EaQ$IUO,5?dO/QQ0OO,5AgO!#mQ0OO'$!aO'EhQ,WO1G7QOOQQ1G7Q1G7QO'EpQ$IUO,5BPO'EwQ$IUO,5@]O'FUQ$IUO,5@YO'F`Q$IUO,5@OO'FgQ$IUO,5?}O'FqQ$IUO,5?|O'FxQ$IUO,5?vO'GPQ$IUO,5?uO'GWQ$IUO,5?tO'GbQ$IUO,5?sO'GrQ$IUO,5?rO'HPQ$IUO,5?pO'HZQ$IUO,5?oO'HbQ$IUO,5?lO'HiQ$IUO,5?kO'EhQ,WO1G7QO'HzQ,WO1G7TOOQQ1G7T1G7TOOOO-EC`-EC`OOQQ1G7W1G7WOEdO,UO'#LXO'ISO&jO'$!cO'IXO7[O,5ArOOQQ1G7]1G7]O'IaQ,WO,5AyO'IfQ,WO'#LbOOQQ,5A{,5A{O'InQ,WO,5A{O'IsQ,WO1G7jO'IxQ,WO,5BSOOQQ-ECd-ECdOOQQ,5FR,5FROOQQ-ECe-ECeOOQQ,5FS,5FSOOQQ-ECf-ECfO'IsQ,WO'#MQOOQQ'#MP'#MPOOQQ,5Bj,5BjOOQQ,5Bm,5BmOOQQ-ECg-ECgOOQQ,5FU,5FUOOQQ-ECh-EChOOQ$x'#MT'#MTO'JQQ,WO,5FVO'JVQ0OO,5FVOOQQ-ECi-ECiO'J^Q,WO1G5gO'J^Q,WO1G5fO'5eQ,WO1G5eO'5eQ,WO1G5dOOQQ'#M]'#M]O'5eQ,WO1G5cOKdQ0OO,5FWOOQQ-ECj-ECjOOQQ,5FX,5FXOOQQ-ECk-ECkOOQQ,5FY,5FYOOQQ-ECl-EClOOQQ,5FZ,5FZOOQQ-ECm-ECmOOQQ,5F[,5F[OOQQ-ECn-ECnOOQQ1G5]1G5]OOQQ,5F],5F]OOQQ-ECo-ECoOOQQ,5F^,5F^OOQQ-ECp-ECpO'JuQ.|O1G5YOOQQ1G5X1G5XOOQQ,5Fc,5FcOOQQ-ECu-ECuOOQQ,5Fd,5FdOOQQ-ECv-ECvOOQQ'#Ny'#NyO'KWQ,WO1G9|OOQQ'$ Q'$ QOOQQ1G:X1G:XO%'kQ,WO1G:ZO&1wQ,WO1G:^O%#WQ,WO1G:^O'KfQ,WO1G:`OOQQ,5=m,5=mO/QQ0OO1G:bO(|Q,WO<wO)3aQ,WOAN>wO)3iQ,WOAN>|O)3qQ,WOAN>|OOQQ,5Ea,5EaOOQQ-EBs-EBsO)3yQ,WO<jO/QQ0OO,5>jO)5gQ,WO,5>jO%#pQ,WO'$!PO)5lQ,WO7+)mOOQQ'#IT'#ITOOQQ'#IU'#IUO5fQ,WO'#ISO'.qQ,WO'#ISO)6aQ,WO'#ISOOQQ,5>m,5>mO/QQ0OO'$!QO)7[Q,WO7+)qO)7[Q,WO7+)qOOQQ<sG2>sOOQQG2>uG2>uO(&aQ,WOG2>uO(&^Q,WOG2>uO*0jQ,WOG2>yOOQQG2>yG2>yOOQQ1G1b1G1bO*0rQ,WO1G2`O*0wQ,WO1G2bO*0|Q,WO1G2dO*1RQ,WO1G2fO*1WQ,WO1G2hOOQQ1G2j1G2jO*1]Q,WO1G2jO*1eQ,WO1G2mO*1mQ,WO1G2sOOQQ'#Gp'#GpO6WQ,WO'#GpO%'kQ,WO1G2uO*1rQ,WO1G2uO'7UQ,WO'$ zO*1zQ,WO1G2xOOQQ1G2x1G2xOOQQ1G1^1G1^OOQQG25fG25fO/QQ0OOG25fOOQQ1G:k1G:kOOQQ,5Ff,5FfOOQQ-ECx-ECxOOQQ1G2k1G2kOOQQ1G:n1G:nO/QQ0OO1G:nOOQQ,5Fg,5FgOOQQ-ECy-ECyOOQQ,5EZ,5EZOOQQ-EBm-EBmO*2SQ,WOG24cO5fQ,WOG24hOOQQAN@XAN@XO*2[Q,WOAN@XOOQQAN@bAN@bOOQQAN@sAN@sOOQQANIQANIQOOQQ<n,5>nO*4wQ,WO,5>nO5fQ,WO,5>nO'.qQ,WO,5>nOOQQ,5El,5ElOOQQ-ECO-ECOO*5oQ,WO<VQ$IUO'#MoO*>^Q$IUO'#MoO*@}Q$IUO'#EXO*AUQ$IUO,5CVO*A]Q$IUO,5CSO*AdQ$IUO,5CRO*AkQ$IUO,5CQO*ArQ$IUO,5CPOOQQ<=&w<=&wOOQQ1G9O1G9OO*AyQ,WO1G9OOOQQ1G8t1G8tOOQQ'#Mq'#MqOOQQ,5CZ,5CZOKdQ0OO'#MvO*+PQ,WO'#MvOKdQ0OO'#MvO*BOQ,WO,5C`OOQQ1G8r1G8rO/QQ0OO,5CeOOQQ1G8q1G8qO'JuQ.|O,5F_OOQQ-ECq-ECqOOQQ,5F`,5F`OOQQ-ECr-ECrOOQQ,5Fa,5FaOOQQ-ECs-ECsO*BTQ,WO,5ClO*BTQ,WO,5CpOOQQ'#N['#N[OOQQ'#N]'#N]OOQQ'#NZ'#NZOOQQ,5Cr,5CrOOQQ'#Hi'#HiOOQQ'#Hs'#HsOOQQ,5Cx,5CxOOQ$x'#N`'#N`OOQQ-ECt-ECtOKdQ0OO,5C{OOQ$x1G:Q1G:QO/QQ0OOANIOO*B`Q,WOANIQO*BhQ,WO,5FeOOQQ-ECw-ECwO/QQ0OOANISOJ_Q,WOANISOOQQ,5;P,5;POOQ$x'#Eh'#EhO*BmQ,WO,5;PO&7lQ,WO,5;POOQQ'#Ek'#EkOOQQ7+&T7+&TO*BrQ,WO7+&TOOQQ,5E],5E]OOQQ-EBo-EBoOOQQ<jG2>jOOQQG2>lG2>lO/QQ0OO1GnO/QQ0OOG2>nOOQQ1G0k1G0kO*IrQ,WO1G0kO*+^Q,WO<SO*L`Q,WO,5>]O*DaQ,WO,5>]OOQQG27wG27wOOQQG28WG28WOOQQG27sG27sO/QQ0OOG27sOOQQG27tG27tO/QQ0OOG27tOOQQG27uG27uO/QQ0OOG27uOOQQ<W,5>WOOQQ,5>Y,5>YOOQQ,5>U,5>UO*MYQ,WO,5>UO*NWQ,WO,5>UOOQ$x'#Hp'#HpO/QQ0OO1G3nO/QQ0OO1G3wO*N_Q,WO1G3wOOQQLD-_LD-_OOQQLD-`LD-`OOQQLD-aLD-aOOQQANBvANBvOOQQ<nO'5eQ,WO<wO%'kQ,WO,5?{O%'kQ,WO,5?zO&7lQ,WO,5?yO%'kQ,WO,5?xO&7qQ,WO,5?wO&1wQ,WO'$!lO')qQ,WO,5?nO'/rQ,WO'#EaO'0VQ,WO'#EvO%/eQ,WO1G4cO+8kQ,WO1G4vO'KWQ,WO1G9|O%'kQ,WO1G:ZO&1wQ,WO1G:^O5fQ,WO'#EcOJ_Q,WO,5?QO%,lQ,WO'$!sO*&eQ,WO'#NaO&1wQ,WO<=%dO+8pQ,WO1G0iO%'kQ,WO1G2uO*6lQ,WO,5?WOJ_Q,WOANISO%'kQ,WO7+(aOJ_Q,WO1G4rOJ_Q,WOG2>nO%'kQ,WO<|O%#WQ,WO1G:^O+;pQ,WO'#GmO(,gQ,WO7+*[O)*}Q,WO7+/|O)*}Q,WO<=%hO+;uQ,WO'#IwOJ{Q,WO'#IbO&7qQ,WO,5DrO+;zQ,WO1G4pO/QQ0OO1G:bOHvQ,WO'#GiO*9SQ,WO,5?aO/QQ0OO,5?UO+POT$UOU$YO]!qO_$QO!d!rO#Z#^O$X!uO$t#^O$u#^O$v#^O$w#^O%e$RO)s$jO)x$kO.xhO.}!nO/OlO/W!oO/X!pO0S$SO0h!sO0i!tO0j!uO0l$lO0m!wO0n!zO0o!|O0p#OO0q#QO0r#SO0s#UO0t#WO0u#ZO0v#]O0x#_O0{#aO0|#bO1P!TO1Q!WO1R#eO1]$gO1_$eO2T$TO2`$ZO2b$[O2c$^O2g$tO2h$uO2j$vO2k$wO2l$xO2m$yO2n$zO2o${O2p$|O2q$}O2r%OO2s%PO2t%QO2u%RO2v%SO2w%TO2x%UO~O.y(bX/d(bX0Q(bX0_(bX0`(bX0j(bX0k(bX0w(bX1S(bX2Z(bX2{(bX2|(bX2}(bX3O(bX3Q(bX3R(bX3S(bX3T(bX3U(bX3V(bX3X(bX3Y(bX3Z(bX3[(bX3](bX3^(bX3_(bX3`(bX3a(bX3b(bX3x(bX3y(bX3z(bX3{(bX3|(bX3}(bX4O(bX4P(bX4Q(bX4R(bX4S(bX4T(bX4U(bX4V(bX4W(bX4X(bX4Y(bX4Z(bX4[(bX4](bX1`(bX1{(bX~O2z+UO.p(bX0T(bX1^(bX/Y(bX1U(bX1[(bX1j(bX1k(bX1l(bX1n(bX1q(bX1r(bX1s(bX0f(bX4b(bX4c(bX4d(bX3P(bX.v(bX/S(bX/Z(bX1o(bX1p(bX1v(bX0V(bX4j(bX.|(bX1c(bX1g(bX1h(bX0^(bX3n(bX3o(bX3i(bX~P!LPO2{+WO2|+XO.y(WX/d(WX0Q(WX0_(WX0`(WX0j(WX0k(WX0w(WX1S(WX2Z(WX2}(WX3O(WX3Q(WX3R(WX3S(WX3T(WX3U(WX3V(WX3X(WX3Y(WX3Z(WX3[(WX3](WX3^(WX3_(WX3`(WX3a(WX3b(WX3x(WX3y(WX3z(WX3{(WX3|(WX3}(WX4O(WX4P(WX4Q(WX4R(WX4S(WX4T(WX4U(WX4V(WX4W(WX4X(WX4Y(WX4Z(WX4[(WX4](WX1`(WX1{(WX~O.p(WX0T(WX1^(WX/Y(WX1U(WX1[(WX1j(WX1k(WX1l(WX1n(WX1q(WX1r(WX1s(WX0f(WX4b(WX4c(WX4d(WX3P(WX.v(WX/S(WX/Z(WX1o(WX1p(WX1v(WX0V(WX4j(WX.|(WX1c(WX1g(WX1h(WX0^(WX3n(WX3o(WX3i(WX~P##vO.y(VX/d(VX0Q(VX0_(VX0`(VX0j(VX0k(VX0w(VX1S(VX2Z(VX3O(VX3Q(VX3R(VX3S(VX3T(VX3U(VX3V(VX3X(VX3Y(VX3Z(VX3[(VX3](VX3^(VX3_(VX3`(VX3a(VX3b(VX3x(VX3y(VX3z(VX3{(VX3|(VX3}(VX4O(VX4P(VX4Q(VX4R(VX4S(VX4T(VX4U(VX4V(VX4W(VX4X(VX4Y(VX4Z(VX4[(VX4](VX1`(VX1{(VX~O2}+[O.p(VX0T(VX1^(VX/Y(VX1U(VX1[(VX1j(VX1k(VX1l(VX1n(VX1q(VX1r(VX1s(VX0f(VX4b(VX4c(VX4d(VX3P(VX.v(VX/S(VX/Z(VX1o(VX1p(VX1v(VX0V(VX4j(VX.|(VX1c(VX1g(VX1h(VX0^(VX3n(VX3o(VX3i(VX~P#)jO3O+^O3Q+_O.y(UX/d(UX0Q(UX0_(UX0`(UX0j(UX0k(UX0w(UX1S(UX2Z(UX3R(UX3S(UX3T(UX3U(UX3V(UX3X(UX3Y(UX3Z(UX3[(UX3](UX3^(UX3_(UX3`(UX3a(UX3b(UX3x(UX3y(UX3z(UX3{(UX3|(UX3}(UX4O(UX4P(UX4Q(UX4R(UX4S(UX4T(UX4U(UX4V(UX4W(UX4X(UX4Y(UX4Z(UX4[(UX4](UX1`(UX1{(UX~O.p(UX0T(UX1^(UX/Y(UX1U(UX1[(UX1j(UX1k(UX1l(UX1n(UX1q(UX1r(UX1s(UX0f(UX4b(UX4c(UX4d(UX3P(UX.v(UX/S(UX/Z(UX1o(UX1p(UX1v(UX0V(UX4j(UX.|(UX1c(UX1g(UX1h(UX0^(UX3n(UX3o(UX3i(UX~P#/WO3R+cO.y(TX/d(TX0Q(TX0_(TX0`(TX0j(TX0k(TX0w(TX1S(TX2Z(TX3S(TX3T(TX3U(TX3V(TX3X(TX3Y(TX3Z(TX3[(TX3](TX3^(TX3_(TX3`(TX3a(TX3b(TX3x(TX3y(TX3z(TX3{(TX3|(TX3}(TX4O(TX4P(TX4Q(TX4R(TX4S(TX4T(TX4U(TX4V(TX4W(TX4X(TX4Y(TX4Z(TX4[(TX4](TX1`(TX1{(TX~O.p(TX0T(TX1^(TX/Y(TX1U(TX1[(TX1j(TX1k(TX1l(TX1n(TX1q(TX1r(TX1s(TX0f(TX4b(TX4c(TX4d(TX3P(TX.v(TX/S(TX/Z(TX1o(TX1p(TX1v(TX0V(TX4j(TX.|(TX1c(TX1g(TX1h(TX0^(TX3n(TX3o(TX3i(TX~P#4qO3S+eO.y(SX/d(SX0Q(SX0_(SX0`(SX0j(SX0k(SX0w(SX1S(SX2Z(SX3T(SX3U(SX3V(SX3X(SX3Y(SX3Z(SX3[(SX3](SX3^(SX3_(SX3`(SX3a(SX3b(SX3x(SX3y(SX3z(SX3{(SX3|(SX3}(SX4O(SX4P(SX4Q(SX4R(SX4S(SX4T(SX4U(SX4V(SX4W(SX4X(SX4Y(SX4Z(SX4[(SX4](SX1`(SX1{(SX~O.p(SX0T(SX1^(SX/Y(SX1U(SX1[(SX1j(SX1k(SX1l(SX1n(SX1q(SX1r(SX1s(SX0f(SX4b(SX4c(SX4d(SX3P(SX.v(SX/S(SX/Z(SX1o(SX1p(SX1v(SX0V(SX4j(SX.|(SX1c(SX1g(SX1h(SX0^(SX3n(SX3o(SX3i(SX~P#:UO3T+gO.y(RX/d(RX0Q(RX0_(RX0`(RX0j(RX0k(RX0w(RX1S(RX2Z(RX3U(RX3V(RX3X(RX3Y(RX3Z(RX3[(RX3](RX3^(RX3_(RX3`(RX3a(RX3b(RX3x(RX3y(RX3z(RX3{(RX3|(RX3}(RX4O(RX4P(RX4Q(RX4R(RX4S(RX4T(RX4U(RX4V(RX4W(RX4X(RX4Y(RX4Z(RX4[(RX4](RX1`(RX1{(RX~O.p(RX0T(RX1^(RX/Y(RX1U(RX1[(RX1j(RX1k(RX1l(RX1n(RX1q(RX1r(RX1s(RX0f(RX4b(RX4c(RX4d(RX3P(RX.v(RX/S(RX/Z(RX1o(RX1p(RX1v(RX0V(RX4j(RX.|(RX1c(RX1g(RX1h(RX0^(RX3n(RX3o(RX3i(RX~P#?fO3U+iO.y(QX/d(QX0Q(QX0_(QX0`(QX0j(QX0k(QX0w(QX1S(QX2Z(QX3V(QX3X(QX3Y(QX3Z(QX3[(QX3](QX3^(QX3_(QX3`(QX3a(QX3b(QX3x(QX3y(QX3z(QX3{(QX3|(QX3}(QX4O(QX4P(QX4Q(QX4R(QX4S(QX4T(QX4U(QX4V(QX4W(QX4X(QX4Y(QX4Z(QX4[(QX4](QX1`(QX1{(QX~O.p(QX0T(QX1^(QX/Y(QX1U(QX1[(QX1j(QX1k(QX1l(QX1n(QX1q(QX1r(QX1s(QX0f(QX4b(QX4c(QX4d(QX3P(QX.v(QX/S(QX/Z(QX1o(QX1p(QX1v(QX0V(QX4j(QX.|(QX1c(QX1g(QX1h(QX0^(QX3n(QX3o(QX3i(QX~P#DsO3V+kO.y(PX/d(PX0Q(PX0_(PX0`(PX0j(PX0k(PX0w(PX1S(PX2Z(PX3X(PX3Y(PX3Z(PX3[(PX3](PX3^(PX3_(PX3`(PX3a(PX3b(PX3x(PX3y(PX3z(PX3{(PX3|(PX3}(PX4O(PX4P(PX4Q(PX4R(PX4S(PX4T(PX4U(PX4V(PX4W(PX4X(PX4Y(PX4Z(PX4[(PX4](PX1`(PX1{(PX~O.p(PX0T(PX1^(PX/Y(PX1U(PX1[(PX1j(PX1k(PX1l(PX1n(PX1q(PX1r(PX1s(PX0f(PX4b(PX4c(PX4d(PX3P(PX.v(PX/S(PX/Z(PX1o(PX1p(PX1v(PX0V(PX4j(PX.|(PX1c(PX1g(PX1h(PX0^(PX3n(PX3o(PX3i(PX~P#I}O3X+mO.y(OX/d(OX0Q(OX0_(OX0`(OX0j(OX0k(OX0w(OX1S(OX2Z(OX3Y(OX3Z(OX3[(OX3](OX3^(OX3_(OX3`(OX3a(OX3b(OX3x(OX3y(OX3z(OX3{(OX3|(OX3}(OX4O(OX4P(OX4Q(OX4R(OX4S(OX4T(OX4U(OX4V(OX4W(OX4X(OX4Y(OX4Z(OX4[(OX4](OX1`(OX1{(OX~O.p(OX0T(OX1^(OX/Y(OX1U(OX1[(OX1j(OX1k(OX1l(OX1n(OX1q(OX1r(OX1s(OX0f(OX4b(OX4c(OX4d(OX3P(OX.v(OX/S(OX/Z(OX1o(OX1p(OX1v(OX0V(OX4j(OX.|(OX1c(OX1g(OX1h(OX0^(OX3n(OX3o(OX3i(OX~P$ UO0`+pO3Y+qO.y'}X/d'}X0Q'}X0_'}X0j'}X0k'}X0w'}X1S'}X2Z'}X3Z'}X3['}X3]'}X3^'}X3_'}X3`'}X3a'}X3b'}X3x'}X3y'}X3z'}X3{'}X3|'}X3}'}X4O'}X4P'}X4Q'}X4R'}X4S'}X4T'}X4U'}X4V'}X4W'}X4X'}X4Y'}X4Z'}X4['}X4]'}X1`'}X1{'}X~O.p'}X0T'}X1^'}X/Y'}X1U'}X1['}X1j'}X1k'}X1l'}X1n'}X1q'}X1r'}X1s'}X0f'}X4b'}X4c'}X4d'}X3P'}X.v'}X/S'}X/Z'}X1o'}X1p'}X1v'}X0V'}X4j'}X.|'}X1c'}X1g'}X1h'}X0^'}X3n'}X3o'}X3i'}X~P$&YO0_+tO.y'|X/d'|X0Q'|X0j'|X0w'|X1S'|X2Z'|X3Z'|X3['|X3]'|X3^'|X3_'|X3`'|X3a'|X3b'|X3x'|X3y'|X3z'|X3{'|X3|'|X3}'|X4O'|X4P'|X4Q'|X4R'|X4S'|X4T'|X4U'|X4V'|X4W'|X4X'|X4Y'|X4Z'|X4['|X4]'|X1`'|X1{'|X~O0k+uO.p'|X0T'|X1^'|X/Y'|X1U'|X1['|X1j'|X1k'|X1l'|X1n'|X1q'|X1r'|X1s'|X0f'|X4b'|X4c'|X4d'|X3P'|X.v'|X/S'|X/Z'|X1o'|X1p'|X1v'|X0V'|X4j'|X.|'|X1c'|X1g'|X1h'|X0^'|X3n'|X3o'|X3i'|X~P$+ZO3[+wO3^+xO3_+yO.y'{X/d'{X0Q'{X0w'{X1S'{X2Z'{X3`'{X3a'{X3b'{X3x'{X3y'{X3z'{X3{'{X3|'{X3}'{X4O'{X4P'{X4Q'{X4R'{X4S'{X4T'{X4U'{X4V'{X4W'{X4X'{X4Y'{X4Z'{X4['{X4]'{X1`'{X1{'{X~O0j+zO3Z+zO3]+zO.p'{X0T'{X1^'{X/Y'{X1U'{X1['{X1j'{X1k'{X1l'{X1n'{X1q'{X1r'{X1s'{X0f'{X4b'{X4c'{X4d'{X3P'{X.v'{X/S'{X/Z'{X1o'{X1p'{X1v'{X0V'{X4j'{X.|'{X1c'{X1g'{X1h'{X0^'{X3n'{X3o'{X3i'{X~P$0UO.y'zX/d'zX0Q'zX2Z'zX3`'zX3a'zX3b'zX3x'zX3y'zX3z'zX3{'zX3|'zX3}'zX4O'zX4P'zX4Q'zX4R'zX4S'zX4T'zX4U'zX4V'zX4W'zX4X'zX4Y'zX4Z'zX4['zX4]'zX1`'zX1{'zX~O0w+|O1S+|O.p'zX0T'zX1^'zX/Y'zX1U'zX1['zX1j'zX1k'zX1l'zX1n'zX1q'zX1r'zX1s'zX0f'zX4b'zX4c'zX4d'zX3P'zX.v'zX/S'zX/Z'zX1o'zX1p'zX1v'zX0V'zX4j'zX.|'zX1c'zX1g'zX1h'zX0^'zX3n'zX3o'zX3i'zX~P$4yO0Q,OO.y'yX/d'yX2Z'yX3`'yX3a'yX3b'yX3x'yX3y'yX3z'yX3{'yX3|'yX3}'yX4O'yX4P'yX4Q'yX4R'yX4S'yX4T'yX4U'yX4V'yX4W'yX4X'yX4Y'yX4Z'yX4['yX4]'yX1`'yX1{'yX~O.p'yX0T'yX1^'yX/Y'yX1U'yX1['yX1j'yX1k'yX1l'yX1n'yX1q'yX1r'yX1s'yX0f'yX4b'yX4c'yX4d'yX3P'yX.v'yX/S'yX/Z'yX1o'yX1p'yX1v'yX0V'yX4j'yX.|'yX1c'yX1g'yX1h'yX~P$9[O.y'xX/d'xX2Z'xX3a'xX3b'xX3x'xX3y'xX3z'xX3{'xX3|'xX3}'xX4O'xX4P'xX4Q'xX4R'xX4S'xX4T'xX4U'xX4V'xX4W'xX4X'xX4Y'xX4Z'xX4['xX4]'xX1`'xX1{'xX~O3`,QO.p'xX0T'xX1^'xX/Y'xX1U'xX1['xX1j'xX1k'xX1l'xX1n'xX1q'xX1r'xX1s'xX0f'xX4b'xX4c'xX4d'xX3P'xX.v'xX/S'xX/Z'xX1o'xX1p'xX1v'xX0V'xX4j'xX.|'xX1c'xX1g'xX1h'xX~P$=ZO3a,SO.y'wX/d'wX2Z'wX3b'wX3x'wX3y'wX3z'wX3{'wX3|'wX3}'wX4O'wX4P'wX4Q'wX4R'wX4S'wX4T'wX4U'wX4V'wX4W'wX4X'wX4Y'wX4Z'wX4['wX4]'wX1`'wX1{'wX~O.p'wX0T'wX1^'wX/Y'wX1U'wX1['wX1j'wX1k'wX1l'wX1n'wX1q'wX1r'wX1s'wX0f'wX4b'wX4c'wX4d'wX3P'wX.v'wX/S'wX/Z'wX1o'wX1p'wX1v'wX0V'wX4j'wX.|'wX1c'wX1g'wX1h'wX~P$AVO3b,VO.y'vX/d'vX2Z'vX3x'vX3y'vX3z'vX3{'vX3|'vX3}'vX4O'vX4P'vX4Q'vX4R'vX4S'vX4T'vX4U'vX4V'vX4W'vX4X'vX4Y'vX4Z'vX4['vX4]'vX1`'vX1{'vX~O.p'vX0T'vX1^'vX/Y'vX1U'vX1['vX1j'vX1k'vX1l'vX1n'vX1q'vX1r'vX1s'vX0f'vX4b'vX4c'vX4d'vX3P'vX.v'vX/S'vX/Z'vX1o'vX1p'vX1v'vX0V'vX4j'vX.|'vX1c'vX1g'vX1h'vX~P$EOO.y,`O2Z,`O3x,XO3y,YO3z,ZO3{,[O3|,]O3},^O4O,`O4P,`O4Q,`O4R,`O4S,aO4T,bO4U,dO4V,cO4W,fO4X,eO4Y,gO4Z,hO/d'uX4['uX4]'uX1`'uX1{'uX~O.p'uX0T'uX1^'uX/Y'uX1U'uX1['uX1j'uX1k'uX1l'uX1n'uX1q'uX1r'uX1s'uX0f'uX4b'uX4c'uX4d'uX3P'uX.v'uX/S'uX/Z'uX1o'uX1p'uX1v'uX0V'uX4j'uX.|'uX1c'uX1g'uX1h'uX~P$HtO4[,kO/d'tX4]'tX1`'tX1{'tX~O.p'tX0T'tX1^'tX/Y'tX1U'tX1['tX1j'tX1k'tX1l'tX1n'tX1q'tX1r'tX1s'tX0f'tX4b'tX4c'tX4d'tX3P'tX.v'tX/S'tX/Z'tX1o'tX1p'tX1v'tX0V'tX4j'tX.|'tX1c'tX1g'tX1h'tX~P$LgO4],nO.p'sX/d'sX0T'sX1^'sX1`'sX/Y'sX1U'sX1['sX1j'sX1k'sX1l'sX1n'sX1q'sX1r'sX1s'sX0f'sX4b'sX4c'sX4d'sX3P'sX.v'sX/S'sX/Z'sX1o'sX1p'sX1v'sX0V'sX4j'sX.|'sX1c'sX1g'sX1h'sX1{'sX~O0u#ZO4_,qO~O0e&zO0u#ZO4_,qO~O1P!TO~O%e,xO~O.tdO.v!fO~O.y,|O~O/Z-PO~O/h-RO/i-SO/j-TO/k-UO/l-VO/m-WO/n-XO/o-YO/p-ZO/q-[O/r-]O~O.v!ai~P%$XO.}!nO/OlO~O/d-bO~O.y-cO~O/x-dO/y-fO/z-gO/{-jO0U-lO0V-nO0Y-oO0Z-pO0[-sO0]-uO0a!PO0b-xO~O/w&pO.v!{X~O0S-}O/O%^a0}%^a1P%^a1Q%^a2Q%^a4l%^a1R%^a~O0f.SO1T.UO4k.TO~O1T.ZO4k.TO~O0S.]O~O0f.SO~O0S._O~O_.`O~Of.aO~O.}!nO~O/u.dO.v!si~O/u.dO.v!xi~Of.hO~O]!qO!d!qO$X!uO0T.kO0j!uO~O]!qO!d!qO$X!uO.}!nO0j!uO0m!wO~O0T.rO~P%(|O]!qO!d!qO$X!uO0T.tO0j!uO~O_.zOf.zO0T.yO~Of.{O~O0T/OO~O1`/PO~P/QO0T/RO~O0T/SO~O0T/TO~O0T/UO~O_/YO#Z#^O$t#^O$u#^O$v#^O$w#^O0w/ZO0x#_O0y/WO0z/XO~O]/^O0S/VO0T/]O0j/^O~P%*|O]!qO!d!qO0x#_O1_'_O~O0S/_O~O/u.dO1V/bO1W(_O1X/eO~O/u.dO0e&zO1X/eO~O/u.dO1X/eO~O/d/pO/Y%la1U%la1[%la1j%la1k%la1l%la1n%la1q%la1r%la1s%la~O1b/rO~O]!qO!d!qO0S/uO1]/vO1_/wO~O1T/yO~O/d/zO/Y&Pa1U&Pa1[&Pa1j&Pa1k&Pa1l&Pa1n&Pa1q&Pa1r&Pa1s&Pa~O1m0OO~O/Y&]O~O/d0YO1v0[O~O/d(yO.p'Xa0T'Xa1`'Xa1^'Xa0V'Xa1s'Xa~O0T0`O~P/QO0V-nO1_0fO~O]!qO!d!qO$X!uO0j!uO~O1})QO2O)UO/d'la1`'la1{'la~O.p'la0T'la1^'la/Y'la1U'la1['la1j'la1k'la1l'la1n'la1q'la1r'la1s'la0f'la4b'la4c'la4d'la3P'la.v'la/S'la/Z'la1o'la1p'la1v'la0V'la4j'la.|'la1c'la1g'la1h'la~P%0sO1_0oO~O1`0sO~P/QO0T0uO~OT$UOU$YOW#}O]!qO_$QO!d!rO#Z#^O$X!uO$t#^O$u#^O$v#^O$w#^O%e$RO)s$jO)x$kO.xhO.}!nO/OlO/W!oO/X!pO0S$SO0h!sO0i!tO0j!uO0l0vO0m!wO0n!zO0o!|O0p#OO0q#QO0r#SO0s#UO0t#WO0u#ZO0v#]O0w#yO0x#_O0{#aO0|#bO1P!TO1Q!WO1R#eO1S#yO1U#fO1[#hO1]$gO1_$eO1t#lO1u#mO1w#oO1x#rO1y#tO1|#vO2P#{O2S%[O2T$TO2`$ZO2b$[O2c$^O2g$tO2h$uO2j$vO2k$wO2l$xO2m$yO2n$zO2o${O2p$|O2q$}O2r%OO2s%PO2t%QO2u%RO2v%SO2w%TO2x%UO2y%]O4^%vO4e%xO4f%zO4g%|O4h&OO4i&QO~O0T0yO~P%3iO#Z0{O~O(a0|O2Y(xP2Z(xP~O2_1PO~O(a1RO2a1QO~O%e&}O0T)lP~O2d!cX~P=rO2d1WO/d)oX1`)oX~O/d1XO1`1ZO~O2d(fX~P!*oO2d*XX~P!2SO2SDYO2yDYO2d(eX~P!8SO!d)sO2d(dX~P!>PO2zDZO2d(bX~P!LPO2d(WX~P##vO2}D[O2d(VX~P#)jO2d(UX~P#/WO2d(TX~P#4qO2d(SX~P#:UO2d(RX~P#?fO2d(QX~P#DsO2d(PX~P#I}O2d(OX~P$ UO2d'}X~P$&YO0kD^O2d'|X~P$+ZO0jD_O3ZD_O3]D_O2d'{X~P$0UO0wD`O1SD`O2d'zX~P$4yO2d'yX~P$9[O3`DbO2d'xX~P$=ZO2d'wX~P$AVO2d'vX~P$EOO2d'uX~P$HtO2d'tX~P$LgO4],nO/d'sX1`'sX2d'sX1{'sX~O1`1ZO~P!#mO/d(yO1^1mO~O)s1oO)u*gO1_'mO~O2e1pO)w)zX~O)w1sO~O0T1vO~P%3iOf1xO~O0S']O~O0S'cO~O0S'gO~O0S'lO~O0S'oO~O0i!tO0n!zO0o!|O0p#OO0q#QO0r#SO0s#UO0t#WO0u#ZO0v#]O~P%(|O1]*oO.y*Xa/d*Xa0Q*Xa0_*Xa0`*Xa0j*Xa0k*Xa0w*Xa1S*Xa2S*Xa2Z*Xa2y*Xa2z*Xa2{*Xa2|*Xa2}*Xa3O*Xa3Q*Xa3R*Xa3S*Xa3T*Xa3U*Xa3V*Xa3X*Xa3Y*Xa3Z*Xa3[*Xa3]*Xa3^*Xa3_*Xa3`*Xa3a*Xa3b*Xa3x*Xa3y*Xa3z*Xa3{*Xa3|*Xa3}*Xa4O*Xa4P*Xa4Q*Xa4R*Xa4S*Xa4T*Xa4U*Xa4V*Xa4W*Xa4X*Xa4Y*Xa4Z*Xa4[*Xa4]*Xa1`*Xa1{*Xa~O.p*Xa0T*Xa1^*Xa/Y*Xa1U*Xa1[*Xa1j*Xa1k*Xa1l*Xa1n*Xa1q*Xa1r*Xa1s*Xa0f*Xa4b*Xa4c*Xa4d*Xa3P*Xa.v*Xa/S*Xa/Z*Xa1o*Xa1p*Xa1v*Xa0V*Xa4j*Xa.|*Xa1c*Xa1g*Xa1h*Xa0^*Xa3n*Xa3o*Xa3i*Xa~P%AqO.y(ea/d(ea0Q(ea0_(ea0`(ea0j(ea0k(ea0w(ea1S(ea2Z(ea2z(ea2{(ea2|(ea2}(ea3O(ea3Q(ea3R(ea3S(ea3T(ea3U(ea3V(ea3X(ea3Y(ea3Z(ea3[(ea3](ea3^(ea3_(ea3`(ea3a(ea3b(ea3x(ea3y(ea3z(ea3{(ea3|(ea3}(ea4O(ea4P(ea4Q(ea4R(ea4S(ea4T(ea4U(ea4V(ea4W(ea4X(ea4Y(ea4Z(ea4[(ea4](ea1`(ea1{(ea~O2S+RO2y+RO.p(ea0T(ea1^(ea/Y(ea1U(ea1[(ea1j(ea1k(ea1l(ea1n(ea1q(ea1r(ea1s(ea0f(ea4b(ea4c(ea4d(ea3P(ea.v(ea/S(ea/Z(ea1o(ea1p(ea1v(ea0V(ea4j(ea.|(ea1c(ea1g(ea1h(ea0^(ea3n(ea3o(ea3i(ea~P%GqO2S%[O2y%]O~P!GxO.y(ba/d(ba0Q(ba0_(ba0`(ba0j(ba0k(ba0w(ba1S(ba2Z(ba2{(ba2|(ba2}(ba3O(ba3Q(ba3R(ba3S(ba3T(ba3U(ba3V(ba3X(ba3Y(ba3Z(ba3[(ba3](ba3^(ba3_(ba3`(ba3a(ba3b(ba3x(ba3y(ba3z(ba3{(ba3|(ba3}(ba4O(ba4P(ba4Q(ba4R(ba4S(ba4T(ba4U(ba4V(ba4W(ba4X(ba4Y(ba4Z(ba4[(ba4](ba1`(ba1{(ba~O2z+UO.p(ba0T(ba1^(ba/Y(ba1U(ba1[(ba1j(ba1k(ba1l(ba1n(ba1q(ba1r(ba1s(ba0f(ba4b(ba4c(ba4d(ba3P(ba.v(ba/S(ba/Z(ba1o(ba1p(ba1v(ba0V(ba4j(ba.|(ba1c(ba1g(ba1h(ba0^(ba3n(ba3o(ba3i(ba~P%MxOT$UO!d$UO%e$RO/OlO0S$SO0{#aO0|#bO1P!TO1Q!WO1R#eO1]$gO1_$eO~O2{+WO2|+XO.y(Wa/d(Wa0Q(Wa0_(Wa0`(Wa0j(Wa0k(Wa0w(Wa1S(Wa2Z(Wa2}(Wa3O(Wa3Q(Wa3R(Wa3S(Wa3T(Wa3U(Wa3V(Wa3X(Wa3Y(Wa3Z(Wa3[(Wa3](Wa3^(Wa3_(Wa3`(Wa3a(Wa3b(Wa3x(Wa3y(Wa3z(Wa3{(Wa3|(Wa3}(Wa4O(Wa4P(Wa4Q(Wa4R(Wa4S(Wa4T(Wa4U(Wa4V(Wa4W(Wa4X(Wa4Y(Wa4Z(Wa4[(Wa4](Wa1`(Wa1{(Wa~O.p(Wa0T(Wa1^(Wa/Y(Wa1U(Wa1[(Wa1j(Wa1k(Wa1l(Wa1n(Wa1q(Wa1r(Wa1s(Wa0f(Wa4b(Wa4c(Wa4d(Wa3P(Wa.v(Wa/S(Wa/Z(Wa1o(Wa1p(Wa1v(Wa0V(Wa4j(Wa.|(Wa1c(Wa1g(Wa1h(Wa0^(Wa3n(Wa3o(Wa3i(Wa~P&&gO.y(Va/d(Va0Q(Va0_(Va0`(Va0j(Va0k(Va0w(Va1S(Va2Z(Va3O(Va3Q(Va3R(Va3S(Va3T(Va3U(Va3V(Va3X(Va3Y(Va3Z(Va3[(Va3](Va3^(Va3_(Va3`(Va3a(Va3b(Va3x(Va3y(Va3z(Va3{(Va3|(Va3}(Va4O(Va4P(Va4Q(Va4R(Va4S(Va4T(Va4U(Va4V(Va4W(Va4X(Va4Y(Va4Z(Va4[(Va4](Va1`(Va1{(Va~O2}+[O.p(Va0T(Va1^(Va/Y(Va1U(Va1[(Va1j(Va1k(Va1l(Va1n(Va1q(Va1r(Va1s(Va0f(Va4b(Va4c(Va4d(Va3P(Va.v(Va/S(Va/Z(Va1o(Va1p(Va1v(Va0V(Va4j(Va.|(Va1c(Va1g(Va1h(Va0^(Va3n(Va3o(Va3i(Va~P&,ZO3P2WO~O1_2YO~O3O+^O3Q+_O.y(Ua/d(Ua0Q(Ua0_(Ua0`(Ua0j(Ua0k(Ua0w(Ua1S(Ua2Z(Ua3R(Ua3S(Ua3T(Ua3U(Ua3V(Ua3X(Ua3Y(Ua3Z(Ua3[(Ua3](Ua3^(Ua3_(Ua3`(Ua3a(Ua3b(Ua3x(Ua3y(Ua3z(Ua3{(Ua3|(Ua3}(Ua4O(Ua4P(Ua4Q(Ua4R(Ua4S(Ua4T(Ua4U(Ua4V(Ua4W(Ua4X(Ua4Y(Ua4Z(Ua4[(Ua4](Ua1`(Ua1{(Ua~O.p(Ua0T(Ua1^(Ua/Y(Ua1U(Ua1[(Ua1j(Ua1k(Ua1l(Ua1n(Ua1q(Ua1r(Ua1s(Ua0f(Ua4b(Ua4c(Ua4d(Ua3P(Ua.v(Ua/S(Ua/Z(Ua1o(Ua1p(Ua1v(Ua0V(Ua4j(Ua.|(Ua1c(Ua1g(Ua1h(Ua0^(Ua3n(Ua3o(Ua3i(Ua~P&2RO0Q,OO~O3W2`O~O3X+mO.y(Oa/d(Oa0Q(Oa0_(Oa0`(Oa0j(Oa0k(Oa0w(Oa1S(Oa2Z(Oa3Y(Oa3Z(Oa3[(Oa3](Oa3^(Oa3_(Oa3`(Oa3a(Oa3b(Oa3x(Oa3y(Oa3z(Oa3{(Oa3|(Oa3}(Oa4O(Oa4P(Oa4Q(Oa4R(Oa4S(Oa4T(Oa4U(Oa4V(Oa4W(Oa4X(Oa4Y(Oa4Z(Oa4[(Oa4](Oa1`(Oa1{(Oa~O.p(Oa0T(Oa1^(Oa/Y(Oa1U(Oa1[(Oa1j(Oa1k(Oa1l(Oa1n(Oa1q(Oa1r(Oa1s(Oa0f(Oa4b(Oa4c(Oa4d(Oa3P(Oa.v(Oa/S(Oa/Z(Oa1o(Oa1p(Oa1v(Oa0V(Oa4j(Oa.|(Oa1c(Oa1g(Oa1h(Oa0^(Oa3n(Oa3o(Oa3i(Oa~P&7vO0`+pO3Y+qO.y'}a/d'}a0Q'}a0_'}a0j'}a0k'}a0w'}a1S'}a2Z'}a3Z'}a3['}a3]'}a3^'}a3_'}a3`'}a3a'}a3b'}a3x'}a3y'}a3z'}a3{'}a3|'}a3}'}a4O'}a4P'}a4Q'}a4R'}a4S'}a4T'}a4U'}a4V'}a4W'}a4X'}a4Y'}a4Z'}a4['}a4]'}a1`'}a1{'}a~O.p'}a0T'}a1^'}a/Y'}a1U'}a1['}a1j'}a1k'}a1l'}a1n'}a1q'}a1r'}a1s'}a0f'}a4b'}a4c'}a4d'}a3P'}a.v'}a/S'}a/Z'}a1o'}a1p'}a1v'}a0V'}a4j'}a.|'}a1c'}a1g'}a1h'}a0^'}a3n'}a3o'}a3i'}a~P&nOW#}O_7WO0S7[O1_7XO~O3k;ZO.y+[X/W+[X/d+[X/u+[X1b+[X2Z+[X3l+[X3m+[X3p+[X3q+[X3r+[X3u+[X3w+[X3x+[X3y+[X3z+[X3{+[X3|+[X3}+[X4O+[X4P+[X4Q+[X4R+[X4S+[X4T+[X4U+[X4V+[X4W+[X4X+[X4Y+[X4Z+[X4[+[X4]+[X1`+[X1{+[X~O.p+[X0T+[X1^+[X/Y+[X1U+[X1[+[X1j+[X1k+[X1l+[X1n+[X1q+[X1r+[X1s+[X0f+[X4b+[X4c+[X4d+[X3P+[X.v+[X/S+[X/Z+[X1o+[X1p+[X1v+[X0V+[X4j+[X.|+[X1c+[X1g+[X1h+[X~P(ChO3l;^O.y+ZX/W+ZX/d+ZX/u+ZX1b+ZX2Z+ZX3m+ZX3p+ZX3q+ZX3r+ZX3u+ZX3w+ZX3x+ZX3y+ZX3z+ZX3{+ZX3|+ZX3}+ZX4O+ZX4P+ZX4Q+ZX4R+ZX4S+ZX4T+ZX4U+ZX4V+ZX4W+ZX4X+ZX4Y+ZX4Z+ZX4[+ZX4]+ZX1`+ZX1{+ZX~O.p+ZX0T+ZX1^+ZX/Y+ZX1U+ZX1[+ZX1j+ZX1k+ZX1l+ZX1n+ZX1q+ZX1r+ZX1s+ZX0f+ZX4b+ZX4c+ZX4d+ZX3P+ZX.v+ZX/S+ZX/Z+ZX1o+ZX1p+ZX1v+ZX0V+ZX4j+ZX.|+ZX1c+ZX1g+ZX1h+ZX~P(G|O3m;aO.y+YX/W+YX/d+YX/u+YX1b+YX2Z+YX3p+YX3q+YX3r+YX3u+YX3w+YX3x+YX3y+YX3z+YX3{+YX3|+YX3}+YX4O+YX4P+YX4Q+YX4R+YX4S+YX4T+YX4U+YX4V+YX4W+YX4X+YX4Y+YX4Z+YX4[+YX4]+YX1`+YX1{+YX~O.p+YX0T+YX1^+YX/Y+YX1U+YX1[+YX1j+YX1k+YX1l+YX1n+YX1q+YX1r+YX1s+YX0f+YX4b+YX4c+YX4d+YX3P+YX.v+YX/S+YX/Z+YX1o+YX1p+YX1v+YX0V+YX4j+YX.|+YX1c+YX1g+YX1h+YX~P(L_O/W!oO/u.dO1b/rO3p;fO3q;hO3r;iO3u;kO.y+XX/d+XX2Z+XX3w+XX3x+XX3y+XX3z+XX3{+XX3|+XX3}+XX4O+XX4P+XX4Q+XX4R+XX4S+XX4T+XX4U+XX4V+XX4W+XX4X+XX4Y+XX4Z+XX4[+XX4]+XX1`+XX1{+XX~O.p+XX0T+XX1^+XX/Y+XX1U+XX1[+XX1j+XX1k+XX1l+XX1n+XX1q+XX1r+XX1s+XX0f+XX4b+XX4c+XX4d+XX3P+XX.v+XX/S+XX/Z+XX1o+XX1p+XX1v+XX0V+XX4j+XX.|+XX1c+XX1g+XX1h+XX~P)!mO3w;qO.y'vq/d'vq2Z'vq3x'vq3y'vq3z'vq3{'vq3|'vq3}'vq4O'vq4P'vq4Q'vq4R'vq4S'vq4T'vq4U'vq4V'vq4W'vq4X'vq4Y'vq4Z'vq4['vq4]'vq1`'vq1{'vq~O.p'vq0T'vq1^'vq/Y'vq1U'vq1['vq1j'vq1k'vq1l'vq1n'vq1q'vq1r'vq1s'vq0f'vq4b'vq4c'vq4d'vq3P'vq.v'vq/S'vq/Z'vq1o'vq1p'vq1v'vq0V'vq4j'vq.|'vq1c'vq1g'vq1h'vq~P)&xO4`;tO4a;uO~O0T9RO~P/QO/d;}O4jWO.p'iX/d'iX0T'iX1^'iX1`'iX/Y'iX1U'iX1['iX1j'iX1k'iX1l'iX1n'iX1q'iX1r'iX1s'iX0f'iX4b'iX4c'iX4d'iX3P'iX.v'iX/S'iX/Z'iX1o'iX1p'iX1v'iX0V'iX4j'iX.|'iX1c'iX1g'iX1h'iX~O1`>YO~O2R>ZO~O(a>_O2U>[O2X>]O~O.y>`O~OP>aO~O2^>cO~P(-cO]>dO~O2d*zX~P(/lO2d#zX~P'MzO2d+aX~P(5XO2d+`X~P(:PO2d+_X~P(>nO2d+[X~P(ChO2d+ZX~P(G|O2d+YX~P(L_O2d+XX~P)!mO2d'vq~P)&xO1`>nO~O1`>oO~P'JuO1`>qO~O.p+cX.y+cX/W+cX/d+cX/u+cX/w+cX1b+cX2Z+cX3h+cX3j+cX3k+cX3l+cX3m+cX3p+cX3q+cX3r+cX3u+cX3w+cX3x+cX3y+cX3z+cX3{+cX3|+cX3}+cX4O+cX4P+cX4Q+cX4R+cX4S+cX4T+cX4U+cX4V+cX4W+cX4X+cX4Y+cX4Z+cX4[+cX4]+cX0T+cX1^+cX1`+cX/Y+cX1U+cX1[+cX1j+cX1k+cX1l+cX1n+cX1q+cX1r+cX1s+cX0f+cX4b+cX4c+cX4d+cX3P+cX.v+cX/S+cX/Z+cX1o+cX1p+cX1v+cX0V+cX4j+cX.|+cX1c+cX1g+cX1h+cX1{+cX~O3e>rO~P)=XO0^3lO~P)=XO/u.dO/}xO~O1_>yO~O3j;UO.y+_a/W+_a/d+_a/u+_a1b+_a2Z+_a3k+_a3l+_a3m+_a3p+_a3q+_a3r+_a3u+_a3w+_a3x+_a3y+_a3z+_a3{+_a3|+_a3}+_a4O+_a4P+_a4Q+_a4R+_a4S+_a4T+_a4U+_a4V+_a4W+_a4X+_a4Y+_a4Z+_a4[+_a4]+_a1`+_a1{+_a~O.p+_a0T+_a1^+_a/Y+_a1U+_a1[+_a1j+_a1k+_a1l+_a1n+_a1q+_a1r+_a1s+_a0f+_a4b+_a4c+_a4d+_a3P+_a.v+_a/S+_a/Z+_a1o+_a1p+_a1v+_a0V+_a4j+_a.|+_a1c+_a1g+_a1h+_a~P)BgO3k;ZO.y+[a/W+[a/d+[a/u+[a1b+[a2Z+[a3l+[a3m+[a3p+[a3q+[a3r+[a3u+[a3w+[a3x+[a3y+[a3z+[a3{+[a3|+[a3}+[a4O+[a4P+[a4Q+[a4R+[a4S+[a4T+[a4U+[a4V+[a4W+[a4X+[a4Y+[a4Z+[a4[+[a4]+[a1`+[a1{+[a~O.p+[a0T+[a1^+[a/Y+[a1U+[a1[+[a1j+[a1k+[a1l+[a1n+[a1q+[a1r+[a1s+[a0f+[a4b+[a4c+[a4d+[a3P+[a.v+[a/S+[a/Z+[a1o+[a1p+[a1v+[a0V+[a4j+[a.|+[a1c+[a1g+[a1h+[a~P)GOO3l;^O.y+Za/W+Za/d+Za/u+Za1b+Za2Z+Za3m+Za3p+Za3q+Za3r+Za3u+Za3w+Za3x+Za3y+Za3z+Za3{+Za3|+Za3}+Za4O+Za4P+Za4Q+Za4R+Za4S+Za4T+Za4U+Za4V+Za4W+Za4X+Za4Y+Za4Z+Za4[+Za4]+Za1`+Za1{+Za~O.p+Za0T+Za1^+Za/Y+Za1U+Za1[+Za1j+Za1k+Za1l+Za1n+Za1q+Za1r+Za1s+Za0f+Za4b+Za4c+Za4d+Za3P+Za.v+Za/S+Za/Z+Za1o+Za1p+Za1v+Za0V+Za4j+Za.|+Za1c+Za1g+Za1h+Za~P)KdO3m;aO.y+Ya/W+Ya/d+Ya/u+Ya1b+Ya2Z+Ya3p+Ya3q+Ya3r+Ya3u+Ya3w+Ya3x+Ya3y+Ya3z+Ya3{+Ya3|+Ya3}+Ya4O+Ya4P+Ya4Q+Ya4R+Ya4S+Ya4T+Ya4U+Ya4V+Ya4W+Ya4X+Ya4Y+Ya4Z+Ya4[+Ya4]+Ya1`+Ya1{+Ya~O.p+Ya0T+Ya1^+Ya/Y+Ya1U+Ya1[+Ya1j+Ya1k+Ya1l+Ya1n+Ya1q+Ya1r+Ya1s+Ya0f+Ya4b+Ya4c+Ya4d+Ya3P+Ya.v+Ya/S+Ya/Z+Ya1o+Ya1p+Ya1v+Ya0V+Ya4j+Ya.|+Ya1c+Ya1g+Ya1h+Ya~P* uO3s?TO3t?UO~O1c?XO1h?YO~O3v?[O~O/W!oO/u.dO1b/rO3p;fO3q;hO3r;iO3u;kO.y+Xa/d+Xa2Z+Xa3w+Xa3x+Xa3y+Xa3z+Xa3{+Xa3|+Xa3}+Xa4O+Xa4P+Xa4Q+Xa4R+Xa4S+Xa4T+Xa4U+Xa4V+Xa4W+Xa4X+Xa4Y+Xa4Z+Xa4[+Xa4]+Xa1`+Xa1{+Xa~O.p+Xa0T+Xa1^+Xa/Y+Xa1U+Xa1[+Xa1j+Xa1k+Xa1l+Xa1n+Xa1q+Xa1r+Xa1s+Xa0f+Xa4b+Xa4c+Xa4d+Xa3P+Xa.v+Xa/S+Xa/Z+Xa1o+Xa1p+Xa1v+Xa0V+Xa4j+Xa.|+Xa1c+Xa1g+Xa1h+Xa~P*&jO4b7fO~O#Z?fO~O/]3VO0O?gO~O#Z?iO~O0R?jO~O_?lO~O/dWO.p'fa/d'fa0T'fa1^'fa1`'fa/Y'fa1U'fa1['fa1j'fa1k'fa1l'fa1n'fa1q'fa1r'fa1s'fa0f'fa4b'fa4c'fa4d'fa3P'fa.v'fa/S'fa/Z'fa1o'fa1p'fa1v'fa0V'fa4j'fa.|'fa1c'fa1g'fa1h'fa~O1_'mO1y#tO~O(zAUO(|ATO)O:XO)P:XO1_'mO2V:XO2W:XO~O2UAWO~P*9[O)O:XO)P:XO)QAYO)SAXO1_'mO2V:XO2W:XO~O2XAWO~P*9zO(aA]O2U>[O2X>]O~O2[A^O~O]A_O~O(aAaO2ZA`O~O1{>WO/d'iX1`'iX2d'iX~O.y+cX/W+cX/d+cX/u+cX/w+cX1`+cX1b+cX2Z+cX2d+cX3h+cX3j+cX3k+cX3l+cX3m+cX3p+cX3q+cX3r+cX3u+cX3w+cX3x+cX3y+cX3z+cX3{+cX3|+cX3}+cX4O+cX4P+cX4Q+cX4R+cX4S+cX4T+cX4U+cX4V+cX4W+cX4X+cX4Y+cX4Z+cX4[+cX4]+cX1{+cX~O3e>rO~P*;gO0^3lO~P*;gO/w&pO.y!{X/W!{X/d!{X/u!{X1`!{X1b!{X2Z!{X3j!{X3k!{X3l!{X3m!{X3p!{X3q!{X3r!{X3u!{X3w!{X3x!{X3y!{X3z!{X3{!{X3|!{X3}!{X4O!{X4P!{X4Q!{X4R!{X4S!{X4T!{X4U!{X4V!{X4W!{X4X!{X4Y!{X4Z!{X4[!{X4]!{X1{!{X~O2d!{X~P*>eO2d+_a~P)BgO2d+[a~P)GOO2d+Za~P)KdO2d+Ya~P* uO2d+Xa~P*&jO1`AdO~O3iAhO~O0^3lO3nAlO3oAmO~O/d(yO0TAsO~O1TAtO~O#ZAwO~O/u.dO/}WO/d'fa1`'fa2d'fa~O2d#sX~P'0[O1`CUO~O#ZCYO~O0TC[O~O/d8uO.v!x!k~O1eB_O/Y&^X1U&^X1[&^X1f&^X1g&^X1h&^X1j&^X1k&^X1l&^X1n&^X1q&^X1r&^X1s&^X~O1dB]O~P*JUO/u.dO1dB]O~P*JUO1fCeO/Y&[a1U&[a1[&[a1g&[a1h&[a1j&[a1k&[a1l&[a1n&[a1q&[a1r&[a1s&[a~O1fCeO/Y&ea1U&ea1[&ea1j&ea1k&ea1l&ea1n&ea1q&ea1r&ea1s&ea~O2ZCqO~O1eB_O/Y&^a1U&^a1[&^a1f&^a1g&^a1h&^a1j&^a1k&^a1l&^a1n&^a1q&^a1r&^a1s&^a~O1dB]O~P*MYO1fCeO/Y&ei1U&ei1[&ei1j&ei1k&ei1l&ei1n&ei1q&ei1r&ei1s&ei~O0TC}O~O/u.dO/|eO0SFVO~O0SF]O~O0TFgO~O1TFnO~O0SFqO~O$w$v$X$t$u)u)s1_!d#Z2T]0j]~",goto:"+2k.pPPPPPPPPPPP.q.tP.wP.}/Q/b/f/j/qP4O5p5w5}6X6`7XU%>U%@}%AW%#}%Ad%D]%Dc%Ew%FO%FV%FY%#}%F^%IV%I^%Ie%Ik%#}%Io%Ln%Lr%Lx%MU%M^& U%#}& Y&$R&&x&'O&'U&'^%#}&'d&*a&-`&0a&3`&6c&9h&=O&@^&Cr&GW&Jn&NW'#n''U'*l'.S'1j'5Q'8l'o(Bk(Bn(B}(CU(C[(C[(C[(GO(Jv(Nl(NoP(NyP(N}PPP) ZP) _(JrP(Jv(JvP) c)%V)(y)%V),m),u)%V)%V),x)-P)%V)%V)%V)-U)0|)0|)4r)4x)4{)-U)5e)-U)5n)5nP(C[P)9dPP(C[)9h)9k(C[)9o)=g(6w)=k)A])=k)Ag)Aq)=k)=k)At)Ef)IY)I`)Id)M`)M`)I`)Ef*#U*&v*&v*&v*&v*&v*&v*&v*&v*&v*&v*&v*&v*&v*&v*&v**h**n(>k**h**t**z*+a*+g*+m*+u*+{*,R*,X*,_*,k*,s*,{*,{*,{*-T*-]*-c*-o*-w*.T*.c*.s*/R*/c*/s*0T*0e*0i*0o*0s*0y*0}*1R*1V*1]*1`*1n*1v*1|*2U*2^*2f*2l*2l*2r*2x*2x*2l*2|*2l*3S*3S*3Y*3]*3]*2l*3`*3f*3o*3s*3y*4P*4P*4P*4P*4P*4P*3y*3y*4T*4T*4T*4X*4T*4]*4T*4T*4a*4i%#}*4q#IZ*7j*7p*7v*7v*7y*8Q*8Q*8U%#}*8p%#}*;i*>b%#}*>f%#}*A_%#}*DU*F}*GZ*Gv!+v*HS!+v*HZ*Ha!+v!+v*Hh!+v/b*HqP*Ht*H|*IS*If*It*Iz*JU*J`*Jl*Jr*Jx+ m+ s+ }+!T+!Z+!m+!s+!}+#T+#_+#i+#{+$W+$b+$m+$s+$}+(k+,g+,m+,s+,y+-P+-V+-a+-g+-m+-s+-y+.T+._+.i+.s+.}+/X+/c+/m+/w+0R+0]+0g+0q+0{+1V+1a+1k+1u+2P+2Z+2aRcORROQfRR,{&WRgRQ!g[Q!j^S,z&V&WQ7q3RR7r3STbOcT`OcSTOcR!eYQiTS}V'[(b$`a#c#z$S$e$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u,w.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqQ'T!dQ'Z!eQ,}&YQ3Z-aQ4m.bR8t4nQ&erQ'W!dQ'Y!eQ-O&[Q.f'XQ3S,|Q3T,}Q3`-cQ4o.eQ4q.gQ7t3ZQ7v3fQ8w4pQ8y4rQ<^7xQ=Y8uQ=r9cQ=w9jQ@_=]Q@v=yQBp@sQBr@uQClBqQCmBsQCrDpRDxEoSaOcR!m`X[O]`cWVO]`cT!k_!iSnV'[R'V!dSmV'[Q&`nQ'U!dQ.c'VU3c-kEhFSQ6P0eQ7w3gQ7z3mQ>T9wQCsDqQEpFTREvFW(^!va#z$S$e$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqQ&YmS'v#c,w!j*u$u%W'b*z.W.X.^2^2_2a3t4X4^5U6v8]8^8b8o9ut>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqQ&YmQ&w!YQ'|#dQ-a&`!U4V.W.X.^2^2_2a3t4U4X4^5U8]8^8b8o9ut>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqQ&gvX;d7d:k;p>m(b$Xa#c#z$S$e$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u,w.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqR&gvQ&^mW(k#k(sE]E_R0R(lQ-Q&^Q5Y/cQ9k5qR=z9lQ3W-QQ=x9kR@w=zQ3W-QQ=x9kQ?huTxV'[Q&kxR)Z#|R&kxTzV'[R&nzR3_-bR3^-bS|V'[R&_m(b$ra#z$S$e$g$u%W%[%]'_'j'm(e(g(p(u(y({(})O)[)a)z*b*o*q*z+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6r6v6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqQ&_|Q&t!WQ'Q!`Q'R!aQ'S!bW'^!v!{'v'wQ't#_Q)b$RQ.Q&xQ.R&yS.Y&}(^Y.i']'b'c)R4sQ.p'aQ.w'f!n0p)^.W.X.^2[2]2^2_2a3t4X4^4v4{5U8]8^8b8o9um[u;R;gQDpEhREoFST!QV'[Q&s!QQ;X7^R>i:gS&q!Q&rSDW:g>hTFb7^FcV-{&qDWFbV-z&qDWFbV-e&qDWFbU-h&qDWFbR3b-iV-i&qDWFbQ-k&qQ3c-iQEhDWRFSFbU3c-kEhFSQ7w3gR?mt;R;gQ?hu[v;R;gQ,P%oQ2^+hQAx?iQCTAgQDa*ZRDkEcQ?ks:}>gSAn?R?SRDqEiQ7z3mQ?s<`RCsDqXRQBT@TQBY@XQC^BXQDiEaQDjEbQDlEdQDvEmQESEuQEWExREZE{Q4].WS7Q2^DkS7R2_DlS7S2aDmQ8i4^Q9P5UQP9u@{QBO?ySBU@UESQBt@xQC]BTSC_BYEWTCvC^EZ!T4Z.W2^2_2a4^5U8^8b8o9u?y@U@V@x@{BTBYC^DkDlDmESEWEZFVv4[.W2^2_2a4^5U8^8b8o9u?y@U@V@x@{BTBYC^FVQ4].XQ4f.^Q8V3tQ8c4X[:dDkDlDmESEWEZQt>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqQ&|![!a3z.W.X.^2^2_2a3t4X4^5U8]8^8b8o9ut>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFq!a4T.W.X.^2^2_2a3t4X4^5U8]8^8b8o9ut>v>y?^?`?d?y@U@V@j@m@p@x@z@{@|APAfAtAvBTBYBkBmBoByB{CTCWC^CfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDkDlDmDnDrDuDvDwDyDzEPEQESETEUEVEWEXEYEZFOFPFQFRFUFVFXFZF]FnFq)w!ya#z$S$e$g$u%W%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q*z+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.W.X.Z.^/_/f/m/y0Q0X0]0b0o1W1X2Y2^2_2a2b3Q3q3t3x4X4^4a5U5]5`5c5s5w5}6W6[6]6r6v6z7X7k7l7m7n7o8S8]8^8b8g8j8o8p9T9W9Y9Z9[9d9n9s9u9{;et>v>y?^?`?d?y@U@V@j@m@p@x@z@{@|APAfAtAvBTBYBkBmBoByB{CTCWC^CfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDkDlDmDnDrDuDvDwDyDzEPEQESETEUEVEWEXEYEZFOFPFQFRFUFVFXFZF]FnFq)v#Ya#z$S$e$g$u%W%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q*z+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.W.X.Z.^/_/f/m/y0Q0X0]0b0o1W1X2Y2^2_2a2b3Q3q3t3x4X4^4a5U5]5`5c5s5w5}6W6[6]6r6v6z7X7k7l7m7n7o8S8]8^8b8g8j8o8p9T9W9Y9Z9[9d9n9s9u9{;et>v>y?^?`?d?y@U@V@j@m@p@x@z@{@|APAfAtAvBTBYBkBmBoByB{CTCWC^CfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDkDlDmDnDrDuDvDwDyDzEPEQESETEUEVEWEXEYEZFOFPFQFRFUFVFXFZF]FnFqR.s'bQ.l']Q.s'bQ.u'cR0j)RW.j']'b'c)RR8z4s(f$ra#z$S$e$g$u%W%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q*z+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6v6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqZ.i']'b'c)R4sQ0q)^!`4Y.W.X.^2^2_2a3t4X4^5U8]8^8b8o9ut>v>y?^?`?d?y@U@V@j@m@p@x@z@{@|APAfAtAvBTBYBkBmBoByB{CTCWC^CfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDkDlDmDnDrDuDvDwDyDzEPEQESETEUEVEWEXEYEZFOFPFQFRFUFVFXFZF]FnFqR.q'a(^!{a#z$S$e$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqS'w#c,w!i*v$u%W*z.W.X.^2^2_2a3t4X4^5U6v8]8^8b8o9ut>v>y?^?`?d?y@U@V@j@m@p@x@z@{@|APAfAtAvBTBYBkBmBoByB{CTCWC^CfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDkDlDmDnDrDuDvDwDyDzEPEQESETEUEVEWEXEYEZFOFPFQFRFUFVFXFZF]FnFqR.x'f(^#Pa#z$S$e$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqS'z#c,w!i*w$u%W*z.W.X.^2^2_2a3t4X4^5U6v8]8^8b8o9ut>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqS'y#c,w!i*x$u%W*z.W.X.^2^2_2a3t4X4^5U6v8]8^8b8o9ut>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqS'x#c,w!h*y$u%W*z.W.X.^2^2_2a3t4X4^5U6v8]8^8b8o9ut>v>y?^?`?d?y@U@V@j@m@p@x@z@{@|APAfAtAvBTBYBkBmBoByB{CTCWC^CfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDkDlDmDnDrDuDvDwDyDzEPEQESETEUEVEWEXEYEZFOFPFQFRFUFVFXFZF]FnFq)w#Xa#z$S$e$g$u%W%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q*z+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.W.X.Z.^/_/f/m/y0Q0X0]0b0o1W1X2Y2^2_2a2b3Q3q3t3x4X4^4a5U5]5`5c5s5w5}6W6[6]6r6v6z7X7k7l7m7n7o8S8]8^8b8g8j8o8p9T9W9Y9Z9[9d9n9s9u9{;et>v>y?^?`?d?y@U@V@j@m@p@x@z@{@|APAfAtAvBTBYBkBmBoByB{CTCWC^CfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDkDlDmDnDrDuDvDwDyDzEPEQESETEUEVEWEXEYEZFOFPFQFRFUFVFXFZF]FnFq)v#[a#z$S$e$g$u%W%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q*z+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.W.X.Z.^/_/f/m/y0Q0X0]0b0o1W1X2Y2^2_2a2b3Q3q3t3x4X4^4a5U5]5`5c5s5w5}6W6[6]6r6v6z7X7k7l7m7n7o8S8]8^8b8g8j8o8p9T9W9Y9Z9[9d9n9s9u9{;et>v>y?^?`?d?y@U@V@j@m@p@x@z@{@|APAfAtAvBTBYBkBmBoByB{CTCWC^CfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDkDlDmDnDrDuDvDwDyDzEPEQESETEUEVEWEXEYEZFOFPFQFRFUFVFXFZF]FnFqQ,r%wQ,s%yQ,t%{Q,u%}Q7n2}QDgE^QFPF_QFQF`QFRFaRFUFe)w#`a#z$S$e$g$u%W%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q*z+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.W.X.Z.^/_/f/m/y0Q0X0]0b0o1W1X2Y2^2_2a2b3Q3q3t3x4X4^4a5U5]5`5c5s5w5}6W6[6]6r6v6z7X7k7l7m7n7o8S8]8^8b8g8j8o8p9T9W9Y9Z9[9d9n9s9u9{;et>v>y?^?`?d?y@U@V@j@m@p@x@z@{@|APAfAtAvBTBYBkBmBoByB{CTCWC^CfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDkDlDmDnDrDuDvDwDyDzEPEQESETEUEVEWEXEYEZFOFPFQFRFUFVFXFZF]FnFqR/^'uQ/^'uQ3p-}Rt>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqU/Y'u-}8OR5R/Z(f$Qa#c#z$S$e$g$l%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u,w.U.Z/_/f/m/y0Q0X0]0b0o0v1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqW'^!v!{'v'wV/Y'u-}8OV/['u-}8O!`4T.W.X.^2^2_2a3t4X4^5U8]8^8b8o9ut>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFq!i3{.W.X.^2[2]2^2_2a3t4X4^5U8]8^8b8o9ut>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFq!i3}.W.X.^2[2]2^2_2a3t4X4^5U8]8^8b8o9ut>v>y?^?`?d?y@U@V@j@m@p@x@z@{@|APAfAtAvBTBYBkBmBoByB{CTCWC^CfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDkDlDmDnDrDuDvDwDyDzEPEQESETEUEVEWEXEYEZFOFPFQFRFUFVFXFZF]FnFoFq*T!VVa!Y!k#c#d#z$S$e$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+W+X+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u,w.U.W.X.Z.^/_/f/m/y0Q0X0]0b0o1W1X2Y2^2_2a2b3Q3q3t3x4U4X4^4a5U5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8]8^8b8g8j8o8p9T9W9Y9Z9[9d9n9s9u9{;et>v>y?^?`?d?y@U@V@j@m@p@x@z@{@|APAfAtAvBTBYBkBmBoByB{CTCWC^CfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDkDlDmDnDrDuDvDwDyDzEPEQESETEUEVEWEXEYEZFOFPFQFRFUFVFXFZF]FnFoFq$j!UV!Y!k#c#d#z%[%])z+R+U+W+X+[+r+u+z+|,P,Q,T,j,l,o,w.W.X.^2^2_2a2b3t4U4X4^5U8]8^8b8o9u;et>v?^?y@U@V@x@{AfBTBYCTC^DUDVDYDZD[D]D^D_D`DaDbDcDdDeDfDkDlDmDnEPESEWEZFVFo&h#ca$S$e$g'_'j'm(e(g(p(u(y({(})O)[)a)e*b*o*q,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{y?`?d@j@m@p@z@|APAtAvBkBmBoByB{CWCfCgCnC{DXDgDhDrDuDvDwDyDzEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqR,w&P!`4W.W.X.^2^2_2a3t4X4^5U8]8^8b8o9ut>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqQ'|#d!U4V.W.X.^2^2_2a3t4U4X4^5U8]8^8b8o9uyB{FOF]FqU)t$e*b1XQ*d$gQ/|(eQ/}(gQ0T(pS0W(uDXQ0^(yY0w)e*q6[6]6rS2w,rFPd2y,s,t,u7k7nDgDuFQFRFUW3v.U.Z3q8gQ5W/_Q5[/fQ5b/mQ5l/yU5q0Q5s9nQ5t0XS5x0]DhQ6h1WQ7p3QW8Y3x4a8S=PQ9S5]Q9V5`Q9X5cS9q5wDrQ9r5}S;x7lDvS;z7mDwQ;|7oQ=Q8jQ=U8pQ=c9TQ=e9WQ=f9YQ=g9ZQ=h9[Q=s9dS>O9sDyQ>V9{Q?ey?`?d@j@m@p@z@|APAtAvBkBmBoByB{CWCfCgCnC{DXDgDhDrDuDvDwDyDzEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFq%r#ka$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{y?`?d@j@m@p@z@|APAtAvBkBmBoByB{CWCfCgCnC{FOFPFQFRFUFXFZF]FnFqW(q#k(sE]E_uE]$e*b1XDXDgDhDrDuDvDwDyDzEQETEUEVEXEY&q#ja#k$S$e$g'_'j'm(e(g(p(s(u(y({(})O)[)a)e*b*o*q,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{y?`?d@j@m@p@z@|APAtAvBkBmBoByB{CWCfCgCnC{DXDgDhDrDuDvDwDyDzEQETEUEVEXEYE]E_FOFPFQFRFUFXFZF]FnFq&q#ga#k$S$e$g'_'j'm(e(g(p(s(u(y({(})O)[)a)e*b*o*q,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{y?`?d@j@m@p@z@|APAtAvBkBmBoByB{CWCfCgCnC{DXDgDhDrDuDvDwDyDzEQETEUEVEXEYE]E_FOFPFQFRFUFXFZF]FnFqQ(W#gR5e/pT(V#g/pQ'O!^S'}#g/pS(a#i/zU(w#n0YE}Q.O&vQ/j(PQ/k(RQ/l(SQ1T)oU4b.]3s8kQ5g/sQ5h/tQ5i/uQ5j/vQ5k/wR:`6eQ4_.YQ8n4dQ9e5oQ:b6gQR9uQ?b;}Q@}>TUB[@b@dBgQC`B^QCaB`QEyEvRFrFtS(a#i/zQ/g'}S5^/h/iR9U5_](`#i'}/h/i/z5_Q/f'}S/m(T(UQ0X(wU5]/g/h/iQ5`/jS5c/n/oS9T5^5_Q9W5aQ9Y5dQ9Z5gQ9[5hQ=d9UQ>{;[REOEqT(P#g/pT(T#g/pT(R#g/pS(U#g/pR/o(T&q#ia#k$S$e$g'_'j'm(e(g(p(s(u(y({(})O)[)a)e*b*o*q,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{y?`?d@j@m@p@z@|APAtAvBkBmBoByB{CWCfCgCnC{DXDgDhDrDuDvDwDyDzEQETEUEVEXEYE]E_FOFPFQFRFUFXFZF]FnFqQ(c#iR5m/zT(b#i/zR(]#gR(Y#gQ/s(YQ/t([X;e7d:k;p>mQ@g=gR@i=hQ?Z;lT@b=g=hQBe@bQBf@dRChBgVBd@b@dBgUBb@b@dBgSCcBcBdRCxCd]B^@b@dBcBdBgCdUBa@b@dBgUCbBbBcBdSCwCcCdRDPCxcB`@b@dBbBcBdBgCcCdCxQCfBeQCgBfRC{ChQ@f=gQ@h=hQBh@gRBi@iX@e=g=h@g@iQ?Z;lW@d=g=h@g@iRBg@eR([#gX(r#k(sE]E_X(q#k(sE]E_X(e#k(sE]E_X(g#k(sE]E_X(i#k(sE]E_Q0P(iQ0Q(kR5s0RQ5p0PR=u9fX(l#k(sE]E_Q5r0QQ9p5sR={9nR9m5qR9l5qX(n#k(sE]E_X(p#k(sE]E_S(v#kE]T0V(sE_S(u#k(sQ5}0cQ9s6PQ@z>QQ@|>TQAv?eQBy@}QCWAuQCnBwSDXE]E_QDyEpQETEvQEVEwQEXEyREYEz%r#na$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{y?`?d@j@m@p@z@|APAtAvBkBmBoByB{CWCfCgCnC{FOFPFQFRFUFXFZF]FnFquE}$e*b1XDXDgDhDrDuDvDwDyDzEQETEUEVEXEYQ(x#nQ5u0YRE`E}Q0](xQ5w0ZQDhE`RDrEj%r#qa$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{y?`?d@j@m@p@z@|APAtAvBkBmBoByB{CWCfCgCnC{FOFPFQFRFUFXFZF]FnFquFk$e*b1XDXDgDhDrDuDvDwDyDzEQETEUEVEXEYQ(|#qRFdFkQ&TaQ)d$SQ.m'_Q.|'jQ/Q'mQ0a({Q0h(}Q0i)OQ0n)[Q0t)aQ1t*oQ5z0bQ6V0oQ6|2YQ:P6WQ:u6zQ:x7XQAj>yQCpB{QEkFOQE|F]RFmFqS0g(|FdR6Q0fZ0d(|0e0fFTFdR5{0bT0g(|Fd%r#sa$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{y?`?d@j@m@p@z@|APAtAvBkBmBoByB{CWCfCgCnC{FOFPFQFRFUFXFZF]FnFquFs$e*b1XDXDgDhDrDuDvDwDyDzEQETEUEVEXEYS9y6RFgR>U9xZ9v6R9w9xFWFgQ>Q9uRBw@{T9y6RFg%r#ua$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{y?`?d@j@m@p@z@|APAtAvBkBmBoByB{CWCfCgCnC{FOFPFQFRFUFXFZF]FnFqQAQ>XtF^$e*b1XDXDgDhDrDuDvDwDyDzEQETEUEVEXEYRFjFpT9}6SDsQ9{6SRDzDsQ>X9|QAP>VQEUAbRFp>eS9}6SDsTDRC}E[S'n#R'yS'p#T'xQ)P#wQ)h$WQ)i$XQ)m$_d)p$c'|)r/a4d8T8n[>]AVAZS>eDsE[TAR>XFpTAS>XFp%r#xa$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{y?`?d@j@m@p@z@|APAtAvBkBmBoByB{CWCfCgCnC{FOFPFQFRFUFXFZF]FnFquDT$e*b1XDXDgDhDrDuDvDwDyDzEQETEUEVEXEY&i#wa$S$e$g'_'j'm(e(g(p(u(y({(})O)[)a)e*b*o*q,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{y?`?d@j@m@p@z@|APAtAvBkBmBoByB{CWCfCgCnC{DXDgDhDrDuDvDwDyDzEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqX)S#x)T1VDTX)R#x)T1VDTS)W#xDTT0l)T1VX)V#x)T1VDT%r%ua$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{y?`?d@j@m@p@z@|APAtAvBkBmBoByB{CWCfCgCnC{FOFPFQFRFUFXFZF]FnFqt*a$e*b1XDXDgDhDrDuDvDwDyDzEQETEUEVEXEYT2u,oDf%t%ta$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{y?`?d@j@m@p@z@|APAtAvBkBmBoByB{CWCfCgCnC{FOFPFQFRFUFXFZF]FnFqv*`$e*b1XDXDfDgDhDrDuDvDwDyDzEQETEUEVEXEYT2s,lDe%v%sa$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{y?`?d@j@m@p@z@|APAtAvBkBmBoByB{CWCfCgCnC{FOFPFQFRFUFXFZF]FnFqx*_$e*b1XDXDeDfDgDhDrDuDvDwDyDzEQETEUEVEXEYT2r,jDd%x%ra$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{y?`?d@j@m@p@z@|APAtAvBkBmBoByB{CWCfCgCnC{FOFPFQFRFUFXFZF]FnFq{*^$e*b1XDXDdDeDfDgDhDrDuDvDwDyDzEQETEUEVEXEY%x%qa$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{y?`?d@j@m@p@z@|APAtAvBkBmBoByB{CWCfCgCnC{FOFPFQFRFUFXFZF]FnFqz*]$e*b1XDXDdDeDfDgDhDrDuDvDwDyDzEQETEUEVEXEYT2o,TDc%z%pa$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{y?`?d@j@m@p@z@|APAtAvBkBmBoByB{CWCfCgCnC{FOFPFQFRFUFXFZF]FnFq|*[$e*b1XDXDcDdDeDfDgDhDrDuDvDwDyDzEQETEUEVEXEYT2m,QDb%|%oa$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{y?`?d@j@m@p@z@|APAtAvBkBmBoByB{CWCfCgCnC{FOFPFQFRFUFXFZF]FnFq!O*Z$e*b1XDXDbDcDdDeDfDgDhDrDuDvDwDyDzEQETEUEVEXEYS2l,PDaQ?R;eQAe>tQAg>vQCSAfRCtCT&Y%na$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{FOFPFQFRFUFXFZF]FnFq!Q*Y$e*b1XDXDaDbDcDdDeDfDgDhDrDuDvDwDyDzEQETEUEVEXEYT2j+|D`&[%ma$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{FOFPFQFRFUFXFZF]FnFq!S*X$e*b1XDXD`DaDbDcDdDeDfDgDhDrDuDvDwDyDzEQETEUEVEXEYS2h+zD_TAq?^EP&`%la$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{FOFPFQFRFUFXFZF]FnFq!W*W$e*b1XDXD_D`DaDbDcDdDeDfDgDhDrDuDvDwDyDzEPEQETEUEVEXEYT2f+uD^&b%ka$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{FOFPFQFRFUFXFZF]FnFq!Y*V$e*b1XDXD^D_D`DaDbDcDdDeDfDgDhDrDuDvDwDyDzEPEQETEUEVEXEYT2d+rD]&d%ja$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{FOFPFQFRFUFXFZF]FnFq![*U$e*b1XDXD]D^D_D`DaDbDcDdDeDfDgDhDrDuDvDwDyDzEPEQETEUEVEXEYT7T2bDn&f%ia$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{FOFPFQFRFUFXFZF]FnFq!_*T$e*b1XDXD]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEY&f%ha$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{FOFPFQFRFUFXFZF]FnFq!_*S$e*b1XDXD]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEY&f%ga$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{FOFPFQFRFUFXFZF]FnFq!_*R$e*b1XDXD]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEY&f%fa$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{FOFPFQFRFUFXFZF]FnFq!_*Q$e*b1XDXD]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEY&f%ea$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{FOFPFQFRFUFXFZF]FnFq!_*P$e*b1XDXD]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEY&f%da$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{FOFPFQFRFUFXFZF]FnFq!_*O$e*b1XDXD]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEY&f%ca$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{FOFPFQFRFUFXFZF]FnFq!^)}$e*b1XDXD]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYT2U+[D[&h%ba$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{FOFPFQFRFUFXFZF]FnFq!a)|$e*b1XDXD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEY'x%aa$S$e$g'_'j'm(e(g(p(u(y({(})O)[)a)e*b*o*q+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DXD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqT)Y#zDU'}%`a#z$S$e$g'_'j'm(e(g(p(u(y({(})O)[)a)e*b*o*q+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDXD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFq'}#|a#z$S$e$g'_'j'm(e(g(p(u(y({(})O)[)a)e*b*o*q+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDXD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqR)]#|S!`V!kQ&x!YR)^#|(k$Oa#z$P$S$e$g'_'j'm(e(g(p(u(y({(})O)[)a)e*b*o*q+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b2q3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7U7X7[7`7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{:w;_;b;et>v>y>{?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDXD[D]D^D_D`DaDbDcDdDeDfDgDhDnDoDrDtDuDvDwDyDzD{D|EOEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFq&j%_a#z$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{FOFPFQFRFUFXFZF]FnFq!b){$e*b1XDUDXD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYT1}+UDZ(R%^a#z$S$e$g'_'j'm(e(g(p(u(y({(})O)[)a)e*b*o*q+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDXDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFq(Q%^a#z$S$e$g'_'j'm(e(g(p(u(y({(})O)[)a)e*b*o*q+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDXDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqX+T%[%])zDV&p%Za#z$S$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{FOFPFQFRFUFXFZF]FnFq!h)y$e)z*b1XDUDVDXDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYT1{+RDY&r$oa#z$S$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{FOFPFQFRFUFXFZF]FnFq!k)w$e)z*b1XDUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEY(^$pa#z$S$e$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqQ'{#cR3O,w(b$na#c#z$S$e$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u,w.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqT*m$l0v(b$na#c#z$S$e$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u,w.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqS*m$l0vT2P+W+X(b$na#c#z$S$e$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u,w.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqT2Q+W+X(f$Va#c#z$S$e$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+W+X+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u,w.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqQ'P!_R.P&wR)f$VQ0z)eQ1u*qQ:R6[Q:S6]R:o6rZ0w)e*q6[6]6rQ0z)eR:S6](c$na#c#z$S$e$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u,w.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFq(b$ba#c#z$S$e$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u,w.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqT:Z6c:](g$]a#c#z$S$e$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u,w.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6c6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{:];et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqR1O)jQ>^:VSA[>_>`RCPA]TAU>[AVS:Z6c:]SAT>[AVTAX>]AZTAY>]AZT:[6c:](c$ba#c#z$S$e$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u,w.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFq(c$aa#c#z$S$e$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u,w.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFq(c$_a#c#z$S$e$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u,w.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqS'`!v'vT'd!{'wR.o'`S'k#P'zR)n$`V'i#P$`'z(b$na#c#z$S$e$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u,w.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqT2P+W+X(g$da#c#z$S$e$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+W+X+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u,w.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqQ)r$cR/a'|R1U)oQ)q$cS/`'|)rQ5X/aQ8m4dSt>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqT*g$j*hR*k$kT1q*j1r(b$ma#c#z$S$e$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u,w.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqT*s$o)wT*n$l0v(_$pa#z$S$e$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqS*p$o)wX+P%X)x+Q1[S*r$o)wQ6u1xR6y2PR1w*q(_%Ya#z$S$e$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFq&r%Xa#z$S$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{FOFPFQFRFUFXFZF]FnFq!k)x$e)z*b1XDUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYQ*}$uR+O%WT*|$u%W(^$ta#z$S$e$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqS*|$u%WQ1y*zR:q6v(g$sa#z$S$e$g$u%W%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q*z+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6v6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFq(_%Wa#z$S$e$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFq(_%Va#z$S$e$g%[%]'_'j'm(e(g(p(u(y({(})O)[)a)e)z*b*o*q+R+U+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqX+Y%b)|+Z1_Q2R+WR2S+XX+`%d*O+b1aQ2X+`Q2b+nQ7m2|Q?`;{QDnEfQDwEnREQEsX+a%d*O+b1aQ+d%eREa*PS7O2[DiT7P2]DjQ+f%fREb*QQ+h%gREc*RQ+j%hREd*SQ+l%iREe*TQ2a+lQ2},vQDmEeRFeFlS+n%j+oTEf*U1bS+r%k+sTD]*V1cS+z%m+{TD_*X1eS,T%q,UTDc*]1hQ,W%rREg*^Q7e2qQ:lDoQ;T7[R>p:wU7d2q7[:wR:kDoU7c2q7[:wQ:jDoT?P;bD|W7b2q7[:w;bS:iDoD|T>};_D{Y7a2q7[:w;_;bU:hDoD{D|TAk>{EO[7`2q7[:w;_;b>{XDtDoD{D|EOd7_2q7[:w;_;b>{DoD{D|EOT;Y7`Dt^7^2q7[7`:w;_;b>{Z:gDoDtD{D|EO^7Z2q7[7`:w;_;b>{Z:fDoDtD{D|EO^7Y2q7[7`:w;_;b>{Z:eDoDtD{D|EOT;P7Y:eQ:|7YR>f:eT>s:|>fQ:}7YR>g:eT;O7Y:eT;S7Z:fT;R7Z:fQ>w;RR?S;gRAi>wi7]2q7[7`:w;_;b>{DoDtD{D|EOS;W7^:gT>z;X>iX;V7^:g;X>iS;[7a;]TEq:h>jS;_7b;`TD{:i>kS;b7c;cTD|:j>lX;o7d:k;p>mX;n7d:k;p>mQAo?RRAp?STAn?R?SX;g7d:k;p>mX;j7d:k;p>mR?W;jR?V;jX;m7d:k;p>mQ?Z;mQ?^;rREPErT;s7e:lQ;r7eREr:lQ,j%sRDd*_T,_%s*_T,i%s*_T,d%s*_T,f%s*_S,l%t,mTDe*`1iS,o%u,pTDf*a1j%r%wa$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{y?`?d@j@m@p@z@|APAtAvBkBmBoByB{CWCfCgCnC{FOFPFQFRFUFXFZF]FnFquF_$e*b1XDXDgDhDrDuDvDwDyDzEQETEUEVEXEYQ2x,rRElFPQ7k2xRDuElR;v7jS7i2xElR?_;vT7i2xElS2z,sDgQ2{,tQ2|,uS;w7kDuQ;{7nQEmFQQEnFRREsFU%r%ya$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{y?`?d@j@m@p@z@|APAtAvBkBmBoByB{CWCfCgCnC{FOFPFQFRFUFXFZF]FnFquE^$e*b1XDXDgDhDrDuDvDwDyDzEQETEUEVEXEY%r%{a$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{y?`?d@j@m@p@z@|APAtAvBkBmBoByB{CWCfCgCnC{FOFPFQFRFUFXFZF]FnFquF`$e*b1XDXDgDhDrDuDvDwDyDzEQETEUEVEXEYT;y7lDv%r%}a$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{y?`?d@j@m@p@z@|APAtAvBkBmBoByB{CWCfCgCnC{FOFPFQFRFUFXFZF]FnFquFa$e*b1XDXDgDhDrDuDvDwDyDzEQETEUEVEXEY&i&Pa$S$e$g'_'j'm(e(g(p(u(y({(})O)[)a)e*b*o*q,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{y?`?d@j@m@p@z@|APAtAvBkBmBoByB{CWCfCgCnC{DXDgDhDrDuDvDwDyDzEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFq%r&Ra$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{y?`?d@j@m@p@z@|APAtAvBkBmBoByB{CWCfCgCnC{FOFPFQFRFUFXFZF]FnFquFt$e*b1XDXDgDhDrDuDvDwDyDzEQETEUEVEXEYQhFcQ>h:gRFc7^Q<[7wR?n<[Q?q<_Q@Qt>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDVDXDYDZD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqW&u!Y#d4UFo!S4U.W.X.^2^2_2a3t4X4^5U8]8^8b8o9uS9wFWRFWFgQ@y>PRBu@yQ)T#xS0k)T1VR1VDT&h#za$S$g'_'j'm(e(g(p(u(y({(})O)[)a)e*o*q+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{FOFPFQFRFUFXFZF]FnFqS)X#zDU!aDU$e*b1XDXD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEY'|$Pa#z$S$e$g'_'j'm(e(g(p(u(y({(})O)[)a)e*b*o*q+[+r+u+z+|,P,Q,T,j,l,o,r,s,t,u.U.Z/_/f/m/y0Q0X0]0b0o1W1X2Y2b3Q3q3x4a5]5`5c5s5w5}6W6[6]6r6z7X7k7l7m7n7o8S8g8j8p9T9W9Y9Z9[9d9n9s9{;et>v>y?^?`?d@j@m@p@z@|APAfAtAvBkBmBoByB{CTCWCfCgCnC{DUDXD[D]D^D_D`DaDbDcDdDeDfDgDhDnDrDuDvDwDyDzEPEQETEUEVEXEYFOFPFQFRFUFXFZF]FnFqS)`$P7Ui7U2q7[7`:w;_;b>{DoDtD{D|EOQ6^0zR:T6^Q0})jR6a0}QAV>[RB|AVQAZ>]RCOAZQ:]6cR>b:]Q1Y)vS6j1Y6lR6l1kQ*h$jR1n*hQ1r*jR6p1rQ6s1uR:p6sQ6w1yR:r6wQ+Q%XQ1[)xT1z+Q1[Q+S%ZQ1])yT1|+S1]Q+V%_Q1^){T2O+V1^Q+Z%bQ1_)|T2T+Z1_Q+]%cQ1`)}T2V+]1`Q+b%dQ1a*OT2Z+b1aQ+o%jQ1b*UT2c+o1bQ+s%kQ1c*VT2e+s1cQ+v%lQ1d*WT2g+v1dQ+{%mQ1e*XT2i+{1eQ+}%nQ1f*YT2k+}1fQ,R%pQ1g*[T2n,R1gQ,U%qQ1h*]T2p,U1hQ;]7aQ>j:hT>|;]>jQ;`7bQ>k:iT?O;`>kQ;c7cQ>l:jT?Q;c>lQ;p7dQ>m:kT?];p>mQ,m%tQ1i*`T2t,m1iQ,p%uQ1j*aT2v,p1jQVyz!?Pz{!?y{|!FQ|}!Fz}!O!Gt!O!P!KY!P!Q#$z!Q!R#'h!R![#2o![!]#4U!]!^#6r!^!_#7l!_!`#DT!`!a#IW!a!b#Kq!b!c#Me!c!s#N_!s!t$,j!t!}#N_!}#O$8l#O#P%g#P#Q$9f#Q#R%g#R#S#N_#S#T$v#p#q$?r#q#r$A`#r%W%g%W%o#N_%o%p$B[%p&a#N_&a&b$CU&b1p#N_1p4U%g4U4d#N_4d4e%g4e$IS#N_$IS$I`%g$I`$Ib#N_$Ib$Kh%g$Kh%#t#N_%#t&/x%g&/x&Et#N_&Et&FV%g&FV;'S#N_;'S;=`$DO<%l?&r%g?&r?Ah#N_?Ah?BY%g?BY?Mn#N_?MnO%g*z%rX)S&j)V!b(|#t)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_W&dX)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_W'SP#S#T&_W'YP#o#p&_W'`P#q#r&_W'fP;=`<%l&_,T'x`)S&j)V!b(|#t(at.rc)uWOX&_XY(zYZ(zZ]&_]^(z^p&_pq(zq#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!a)T`(at.rc)uWOX&_XY(zYZ(zZ]&_]^(z^p&_pq(zq#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+]*dZ2za)S&j)V!b(|#t)uWO!_&_!_!`+V!`#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i+^X4Oa)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+c,U]2U#x)S&j)V!b)uWOr,}rs@^sv,}vw.uw#S,}#S#T:z#T#o,}#o#p>x#p#q,}#q#r?h#r;'S,};'S;=`@W<%lO,}k-S])uWOr,}rs-{sv,}vw.uw#S,}#S#T:z#T#o,}#o#p>x#p#q,}#q#r?h#r;'S,};'S;=`@W<%lO,}k.SZ_c)uWOr&_rs,}s#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k.zb)uWOs&_st0St#S&_#S#T'P#T#U4W#U#Z&_#Z#[8d#[#`&_#`#a8d#a#e&_#e#f9[#f#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k0X])uWO!Q&_!Q![1Q![#S&_#S#T'P#T#l&_#l#m2O#m#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k1V])uWO!Q&_!Q![1Q![!]&_!]!^,}!^#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k2T^)uWO!Q&_!Q![3P![!c&_!c!i3P!i#S&_#S#T'P#T#Z3P#Z#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k3U`)uWO!Q&_!Q![3P![!]&_!]!^,}!^!c&_!c!i3P!i#S&_#S#T'P#T#Z3P#Z#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k4]])uWO#S&_#S#T'P#T#a&_#a#b5U#b#d&_#d#e6t#e#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k5ZZ)uWO#S&_#S#T'P#T#d&_#d#e5|#e#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k6RZ)uWO!]&_!]!^,}!^#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k6yZ)uWO#S&_#S#T'P#T#c&_#c#d7l#d#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k7qZ)uWO#S&_#S#T'P#T#g&_#g#h5|#h#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k8iZ)uWO#S&_#S#T'P#T#h&_#h#i5|#i#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k9aZ)uWO#S&_#S#T'P#T#i&_#i#j:S#j#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k:XZ)uWO#S&_#S#T'P#T#c&_#c#d8d#d#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k:}XOr;jrsr<%lO;jc;mVOr;jrsr<%lO;jc`#`#a>`#e#f>fcSc=yP#d#e=|c>PP!]!^;jc>VP#c#d>Yc>]P#g#h=|c>cP#h#i=|c>iP#i#j>lc>oP#c#d>`c>uP;=`<%l;jk>{XOr;jrsr<%lO;jk?kXOr;jrsr<%lO;jk@ZP;=`<%l,}$a@gZ(z#t_c)uWOr&_rs,}s#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+cAgZ0xc)S&j)V!b(|#t)uWOy&_yzBYz#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_[BaX2RS)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_CZX)S&j%ec)V!b(|#t)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_DTZ1Qa)S&j)V!b(|#t)uWO#S&_#S#T'P#T#g&_#g#hDv#h#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_YD{Z)uWO#S&_#S#T'P#T#h&_#h#iEn#i#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_YEsY)uWO#S&_#S#T'P#T#UFc#U#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_YFhZ)uWO#S&_#S#T'P#T#h&_#h#iGZ#i#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_YG`Z)uWO#S&_#S#T'P#T#]&_#]#^HR#^#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_YHWZ)uWO#S&_#S#T'P#T#V&_#V#WHy#W#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_YIQX4mQ)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zIrb)uWOs&_stJzt#S&_#S#T'P#T#U! r#U#Z&_#Z#[!&r#[#`&_#`#a!&r#a#e&_#e#f!'j#f#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zKP])uWO!Q&_!Q![Kx![#S&_#S#T'P#T#l&_#l#mMj#m#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zK}])uWO!Q&_!Q![Kx![!]&_!]!^Lv!^#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zL}X)P*r)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zMo^)uWO!Q&_!Q![Nk![!c&_!c!iNk!i#S&_#S#T'P#T#ZNk#Z#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*zNp`)uWO!Q&_!Q![Nk![!]&_!]!^Lv!^!c&_!c!iNk!i#S&_#S#T'P#T#ZNk#Z#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*z! w])uWO#S&_#S#T'P#T#a&_#a#b!!p#b#d&_#d#e!%S#e#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*z!!uZ)uWO#S&_#S#T'P#T#d&_#d#e!#h#e#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*z!#mZ)uWO!]&_!]!^!$`!^#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*z!$gX)O*r)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*z!%XZ)uWO#S&_#S#T'P#T#c&_#c#d!%z#d#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*z!&PZ)uWO#S&_#S#T'P#T#g&_#g#h!#h#h#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*z!&wZ)uWO#S&_#S#T'P#T#h&_#h#i!#h#i#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*z!'oZ)uWO#S&_#S#T'P#T#i&_#i#j!(b#j#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*z!(gZ)uWO#S&_#S#T'P#T#c&_#c#d!&r#d#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+c!)e[2X&n)V!b(|#t)uWOv!*Zvw!+Uwx!=Zx#S!*Z#S#T!8T#T#o!*Z#o#p!;{#p#q!*Z#q#r!dX0Sc)S&j)V!b(|#t)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*}!?^X0TR)S&j)V!b(|#t)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_!@WZ)S&j)V!b(|#t)uW0jcO![&_![!]!@y!]#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i!AOq)uWO!c&_!c!}!CV!}#R&_#R#S!CV#S#T'P#T#o!CV#o#p'V#p#q&_#q#r']#r%W&_%W%o!CV%o%p&_%p&a!CV&a&b&_&b1p!CV1p4U&_4U4d!CV4d4e&_4e$IS!CV$IS$I`&_$I`$Ib!CV$Ib$Kh&_$Kh%#t!CV%#t&/x&_&/x&Et!CV&Et&FV&_&FV;'S!CV;'S;=`'c<%l?&r&_?&r?Ah!CV?Ah?BY&_?BY?Mn!CV?MnO&_i!C^z$Xa)uWO}&_}!O!CV!O!P!CV!P!Q&_!Q![!CV![!c&_!c!}!CV!}#R&_#R#S!CV#S#T'P#T#o!CV#o#p'V#p#q&_#q#r']#r$}&_$}%O!CV%O%W&_%W%o!CV%o%p&_%p&a!CV&a&b&_&b1p!CV1p4U!CV4U4d!CV4d4e&_4e$IS!CV$IS$I`&_$I`$Ib!CV$Ib$Je&_$Je$Jg!CV$Jg$Kh&_$Kh%#t!CV%#t&/x&_&/x&Et!CV&Et&FV&_&FV;'S!CV;'S;=`'c<%l?&r&_?&r?Ah!CV?Ah?BY&_?BY?Mn!CV?MnO&_+]!F_X1Sa)S&j)V!b(|#t)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_!GXX/dc)S&j)V!b(|#t)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_!HR]0wa)S&j)V!b(|#t)uWO}&_}!O!Hz!O!`&_!`!a!Jf!a#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_Y!IPZ)uWO!`&_!`!a!Ir!a#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_Y!IyX2_Q)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i!JmX2}a)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_!Kg])S&j)V!b(|#t)uW2TcO!O&_!O!P!L`!P!Q&_!Q![!MS![#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i!LgX2ga)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!MZ`$vc)uWO!Q&_!Q![!MS![!g&_!g!h!N]!h#R&_#R#S#$P#S#T'P#T#X&_#X#Y!N]#Y#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k!Nb_)uWO{&_{|# a|}&_}!O# a!O!Q&_!Q![#!X![#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k# fZ)uWO!Q&_!Q![#!X![#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#!`[$wc)uWO!Q&_!Q![#!X![#R&_#R#S##U#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k##Z[)uWO!Q&_!Q![#!X![#R&_#R#S##U#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#$U[)uWO!Q&_!Q![!MS![#R&_#R#S#$P#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_,T#%X]2Sa)S&j)V!b(|#t)uWO!P&_!P!Q#&Q!Q!`&_!`!a#&t!a#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#&XX2ya)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!O#&{X2Yv)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_#'uf)S&j)V!b(|#t)uW#ZcO!O&_!O!P#)Z!P!Q&_!Q![#*a![!g&_!g!h!N]!h#R&_#R#S#+p#S#T'P#T#U&_#U#V#,k#V#X&_#X#Y!N]#Y#l&_#l#m#/d#m#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#)b_$vc)uWO!Q&_!Q![!MS![!g&_!g!h!N]!h#S&_#S#T'P#T#X&_#X#Y!N]#Y#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#*hb)uW#ZcO!O&_!O!P#)Z!P!Q&_!Q![#*a![!g&_!g!h!N]!h#R&_#R#S#+p#S#T'P#T#X&_#X#Y!N]#Y#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#+u[)uWO!Q&_!Q![#*a![#R&_#R#S#+p#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#,p[)uWO!Q&_!Q!R#-f!R!S#-f!S#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#-m]$uc)uWO!Q&_!Q!R#-f!R!S#-f!S#R&_#R#S#.f#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#.k])uWO!Q&_!Q!R#-f!R!S#-f!S#R&_#R#S#.f#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#/i^)uWO!Q&_!Q![#0e![!c&_!c!i#0e!i#S&_#S#T'P#T#Z#0e#Z#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#0l_$tc)uWO!Q&_!Q![#0e![!c&_!c!i#0e!i#R&_#R#S#1k#S#T'P#T#Z#0e#Z#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_k#1p_)uWO!Q&_!Q![#0e![!c&_!c!i#0e!i#R&_#R#S#1k#S#T'P#T#Z#0e#Z#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_#2|b)S&j)V!b(|#t)uW#ZcO!O&_!O!P#)Z!P!Q&_!Q![#*a![!g&_!g!h!N]!h#R&_#R#S#+p#S#T'P#T#X&_#X#Y!N]#Y#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_#4c]2db)S&j)V!b(|#t)uWO![&_![!]#5[!]!_&_!_!`#6O!`#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_X#5cX2iP)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_X#6VX1TP)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*{#7PX.vP)S&j)V!b(|#t)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!{#7sb4Pa)uWOq&_qr#8{r!P&_!P!Q#AV!Q!^&_!^!_#Ay!_!`#Bm!`!a&_!a!b#Ca!b#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!{#9Q])uWO}&_}!O#9y!O!}&_!}#O#;e#O#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!{#:OZ)uWO}&_}!O#:q!O#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!{#:xX2`!s)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!j#;jZ)uWO!e&_!e!f#<]!f#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!j#QZ)uWO!v&_!v!w#>s!w#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!j#>xZ)uWO!c&_!c!d#?k!d#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!j#?pZ)uWO!}&_!}#O#@c#O#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!j#@jX2]!b)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!j#A^X2^!b)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#BQX4Ua)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#BtX4Qa)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!{#ChX2b!s)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+a#Db^.ye)S&j)V!b(|#t)uWOq&_qr#E^r!`&_!`!a#Fx!a!b#Gl!b#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#EcZ)uWO!`&_!`!a#FU!a#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#F]X2|a)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#GPX2{a)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#GqZ)uWO!`&_!`!a#Hd!a#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#HkX2fa)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_,T#Ie[2Z!X)S&j)V!b(|#t)uWO!_&_!_!`#JZ!`!a#J}!a#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#JbX4Ra)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i#KUX4Wa)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+c#LOZ0la)S&j)V!b(|#t)uWO!`&_!`!a#Lq!a#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_^#LxX2aU)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+]#MrX2ha)S&j)V!b(|#t)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_,T#Np{)S&j)V!bfQ)YS(|#t)uW]!RO}&_}!O$#g!O!P$#g!P!Q&_!Q![$#g![!]$&i!]!c&_!c!}$#g!}#R&_#R#S$#g#S#T'P#T#o$#g#o#p'V#p#q&_#q#r']#r$}&_$}%O$#g%O%W&_%W%o$#g%o%p&_%p&a$#g&a&b&_&b1p$#g1p4U$#g4U4d$#g4d4e&_4e$IS$#g$IS$I`&_$I`$Ib$#g$Ib$Je&_$Je$Jg$#g$Jg$Kh&_$Kh%#t$#g%#t&/x&_&/x&Et$#g&Et&FV&_&FV;'S$#g;'S;=`'c<%l?&r&_?&r?Ah$#g?Ah?BY&_?BY?Mn$#g?MnO&_!a$#r{fQ)YS)uW]!RO}&_}!O$#g!O!P$#g!P!Q&_!Q![$#g![!]$&i!]!c&_!c!}$#g!}#R&_#R#S$#g#S#T'P#T#o$#g#o#p'V#p#q&_#q#r']#r$}&_$}%O$#g%O%W&_%W%o$#g%o%p&_%p&a$#g&a&b&_&b1p$#g1p4U$#g4U4d$#g4d4e&_4e$IS$#g$IS$I`&_$I`$Ib$#g$Ib$Je&_$Je$Jg$#g$Jg$Kh&_$Kh%#t$#g%#t&/x&_&/x&Et$#g&Et&FV&_&FV;'S$#g;'S;=`'c<%l?&r&_?&r?Ah$#g?Ah?BY&_?BY?Mn$#g?MnO&_!Z$&ns)uWOz&_z{$({{!c&_!c!}$)o!}#R&_#R#S$)o#S#T'P#T#o$)o#o#p'V#p#q&_#q#r']#r%W&_%W%o$)o%o%p&_%p&a$)o&a&b&_&b1p$)o1p4U&_4U4d$)o4d4e&_4e$IS$)o$IS$I`&_$I`$Ib$)o$Ib$Kh&_$Kh%#t$)o%#t&/x&_&/x&Et$)o&Et&FV&_&FV;'S$)o;'S;=`'c<%l?&r&_?&r?Ah$)o?Ah?BY&_?BY?Mn$)o?MnO&_i$)SX$Xa)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_!Z$)vz)uW]!RO}&_}!O$)o!O!P$)o!P!Q&_!Q![$)o![!c&_!c!}$)o!}#R&_#R#S$)o#S#T'P#T#o$)o#o#p'V#p#q&_#q#r']#r$}&_$}%O$)o%O%W&_%W%o$)o%o%p&_%p&a$)o&a&b&_&b1p$)o1p4U$)o4U4d$)o4d4e&_4e$IS$)o$IS$I`&_$I`$Ib$)o$Ib$Je&_$Je$Jg$)o$Jg$Kh&_$Kh%#t$)o%#t&/x&_&/x&Et$)o&Et&FV&_&FV;'S$)o;'S;=`'c<%l?&r&_?&r?Ah$)o?Ah?BY&_?BY?Mn$)o?MnO&_,T$,{{)S&j)V!bfQ)YS(|#t)uW]!RO}&_}!O$#g!O!P$#g!P!Q&_!Q![$#g![!]$&i!]!c&_!c!}$#g!}#R&_#R#S$#g#S#T'P#T#o$#g#o#p$/r#p#q&_#q#r']#r$}&_$}%O$#g%O%W&_%W%o$#g%o%p&_%p&a$#g&a&b&_&b1p$#g1p4U$#g4U4d$#g4d4e&_4e$IS$#g$IS$I`&_$I`$Ib$#g$Ib$Je&_$Je$Jg$#g$Jg$Kh&_$Kh%#t$#g%#t&/x&_&/x&Et$#g&Et&FV&_&FV;'S$#g;'S;=`'c<%l?&r&_?&r?Ah$#g?Ah?BY&_?BY?Mn$#g?MnO&_i$/uXOv$0bvw$0}w#o$0b#o#p&_#p#q$0b#q#r$3e#r;'S$0b;'S;=`$8f<%lO$0ba$0eWOv$0bvw$0}w#o$0b#p#q$0b#q#r$3e#r;'S$0b;'S;=`$8f<%lO$0ba$1QTst$1a#T#U$2`#Z#[$3R#`#a$3R#e#f$3Xa$1dQ!Q![$1j#l#m$1sa$1mQ!Q![$1j!]!^$0ba$1vR!Q![$2P!c!i$2P#T#Z$2Pa$2SS!Q![$2P!]!^$0b!c!i$2P#T#Z$2Pa$2cQ#a#b$2i#d#e$2ua$2lP#d#e$2oa$2rP!]!^$0ba$2xP#c#d$2{a$3OP#g#h$2oa$3UP#h#i$2oa$3[P#i#j$3_a$3bP#c#d$3Ra$3h_z{$4g!c!}$4l#R#S$4l#T#o$4l%W%o$4l%p&a$4l&b1p$4l4U4d$4l4e$IS$4l$I`$Ib$4l$Kh%#t$4l&/x&Et$4l&FV;'S$4l?&r?Ah$4l?BY?Mn$4la$4lO$Xaa$4qe!da}!O$4l!O!P$4l!Q![$4l![!]$6S!c!}$4l#R#S$4l#T#o$4l$}%O$4l%W%o$4l%p&a$4l&b1p$4l1p4U$4l4U4d$4l4e$IS$4l$I`$Ib$4l$Je$Jg$4l$Kh%#t$4l&/x&Et$4l&FV;'S$4l?&r?Ah$4l?BY?Mn$4la$6V^!c!}$7R#R#S$7R#T#o$7R%W%o$7R%p&a$7R&b1p$7R4U4d$7R4e$IS$7R$I`$Ib$7R$Kh%#t$7R&/x&Et$7R&FV;'S$7R?&r?Ah$7R?BY?Mn$7Ra$7Wd!da}!O$7R!O!P$7R!Q![$7R!c!}$7R#R#S$7R#T#o$7R$}%O$7R%W%o$7R%p&a$7R&b1p$7R1p4U$7R4U4d$7R4e$IS$7R$I`$Ib$7R$Je$Jg$7R$Kh%#t$7R&/x&Et$7R&FV;'S$7R?&r?Ah$7R?BY?Mn$7Ra$8iP;=`<%l$0b+]$8yX1]a)S&j)V!b(|#t)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*}$9sZ1^P)S&j)V!b(|#t)uWO#P&_#P#Q$:f#Q#S&_#S#T$S#O#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_i$>ZX)xa)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_~$>{P1_~#o#p$?O*z$?VX2V*r)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+]$@PX0ka)S&j)V!b(|#t)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q$@l#q#r']#r;'S&_;'S;=`'c<%lO&_i$@sX3`a)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+_$AeP1`c#q#r$Ah*z$AoX2W*r)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+]$BiX3Za)S&j)V!b(|#t)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_+]$CcX3]a)S&j)V!b(|#t)uWO#S&_#S#T'P#T#o&_#o#p'V#p#q&_#q#r']#r;'S&_;'S;=`'c<%lO&_*z$DRP;=`<%l%g",tokenizers:[Sp,Xp,vp,yp,Pp,kp,bp,_p,wp,0,1,2,3,4,5,6,7,8],topRules:{Module:[0,10],UnreservedNCName:[1,568]},specialized:[{term:13,get:e=>Dp[e]||-1}],tokenPrec:22413}),Wp=["NaN","after","all","allowing","ancestor","ancestor-or-self","and","any","array","as","ascending","at","attribute","base-uri","before","boundary-space","but","by","case","cast","castable","catch","child","coerce","collation","comment","construction","contains","content","context","copy","copy-namespaces","count","decimal-format","decimal-separator","declare","default","delete","descendant","descendant-or-self","descending","diacritics","different","digit","distance","div","document","document-node","element","else","empty","empty-sequence","encoding","end","entire","enum","eq","errors","every","exactly","except","exponent-separator","external","false","finally","first","fixed","fn","following","following-or-self","following-sibling","following-sibling-or-self","follows","follows-or-is","for","from","ft-option","ftand","ftnot","ftor","function","fuzzy","ge","greatest","group","grouping-separator","gt","idiv","if","import","in","infinity","inherit","insensitive","insert","instance","intersect","into","invoke","is","is-not","item","jnode","key","language","last","lax","le","least","let","levels","lowercase","lt","map","member","minus-sign","mod","modify","module","most","namespace","namespace-node","ne","next","no","no-inherit","no-preserve","node","nodes","not","occurs","of","only","option","or","order","ordered","ordering","otherwise","paragraph","paragraphs","parent","pattern-separator","per-mille","percent","phrase","precedes","precedes-or-is","preceding","preceding-or-self","preceding-sibling","preceding-sibling-or-self","preserve","previous","processing-instruction","record","relationship","rename","replace","return","revalidation","same","satisfies","schema","schema-attribute","schema-element","score","self","sensitive","sentence","sentences","skip","sliding","some","stable","start","stemming","stop","strict","strip","switch","text","then","thesaurus","times","to","trace","transform","treat","true","try","tumbling","type","typeswitch","union","unordered","update","updating","uppercase","using","validate","value","variable","version","weight","when","where","while","wildcards","window","with","without","word","words","xnode","xquery","zero-digit"],qp=(e,t,n,s)=>({label:e,detail:t,info:n,doc:s,apply:e+t,type:"function"}),Cp=[qp("fn:abs","($value)","fn:abs(\n  $value as xs:numeric?\n) as xs:numeric?","Standard_Functions#fn:abs"),qp("fn:adjust-date-to-timezone","($value, $timezone)","fn:adjust-date-to-timezone(\n  $value as xs:date?,\n  $timezone as xs:dayTimeDuration?\n) as xs:date?","Standard_Functions#fn:adjust-date-to-timezone"),qp("fn:adjust-dateTime-to-timezone","($value, $timezone)","fn:adjust-dateTime-to-timezone(\n  $value as xs:dateTime?,\n  $timezone as xs:dayTimeDuration?\n) as xs:dateTime?","Standard_Functions#fn:adjust-datetime-to-timezone"),qp("fn:adjust-time-to-timezone","($value, $timezone)","fn:adjust-time-to-timezone(\n  $value as xs:time?,\n  $timezone as xs:dayTimeDuration?\n) as xs:time?","Standard_Functions#fn:adjust-time-to-timezone"),qp("fn:all-different","($values, $collation)","fn:all-different(\n  $values as xs:anyAtomicType*,\n  $collation as xs:string?\n) as xs:boolean","Standard_Functions#fn:all-different"),qp("fn:all-equal","($values, $collation)","fn:all-equal(\n  $values as xs:anyAtomicType*,\n  $collation as xs:string?\n) as xs:boolean","Standard_Functions#fn:all-equal"),qp("fn:analyze-string","($value, $pattern, $flags)","fn:analyze-string(\n  $value as xs:string?,\n  $pattern as xs:string,\n  $flags as xs:string?\n) as element(Q{http://www.w3.org/2005/xpath-functions}analyze-string-result)","Standard_Functions#fn:analyze-string"),qp("fn:apply","($function, $arguments)","fn:apply(\n  $function as fn(*),\n  $arguments as array(*)\n) as item()*","Standard_Functions#fn:apply"),qp("fn:atomic-equal","($value1, $value2)","fn:atomic-equal(\n  $value1 as xs:anyAtomicType,\n  $value2 as xs:anyAtomicType\n) as xs:boolean","Standard_Functions#fn:atomic-equal"),qp("fn:atomic-type-annotation","($value)","fn:atomic-type-annotation(\n  $value as xs:anyAtomicType\n) as fn:schema-type-record","Standard_Functions#fn:atomic-type-annotation"),qp("fn:available-environment-variables","()","fn:available-environment-variables() as xs:string*","Standard_Functions#fn:available-environment-variables"),qp("fn:avg","($values)","fn:avg(\n  $values as xs:anyAtomicType*\n) as xs:anyAtomicType?","Standard_Functions#fn:avg"),qp("fn:base-uri","($node)","fn:base-uri(\n  $node as xnode()?\n) as xs:anyURI?","Standard_Functions#fn:base-uri"),qp("fn:boolean","($input)","fn:boolean(\n  $input as item()*\n) as xs:boolean","Standard_Functions#fn:boolean"),qp("fn:build-dateTime","($value)","fn:build-dateTime(\n  $value as fn:dateTime-record?\n) as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?","Standard_Functions#fn:build-datetime"),qp("fn:build-uri","($parts, $options)","fn:build-uri(\n  $parts as fn:uri-structure-record,\n  $options as map(*)?\n) as xs:string","Standard_Functions#fn:build-uri"),qp("fn:ceiling","($value)","fn:ceiling(\n  $value as xs:numeric?\n) as xs:numeric?","Standard_Functions#fn:ceiling"),qp("fn:char","($value)","fn:char(\n  $value as xs:anyAtomicType\n) as xs:string","Standard_Functions#fn:char"),qp("fn:characters","($value)","fn:characters(\n  $value as xs:string?\n) as xs:string*","Standard_Functions#fn:characters"),qp("fn:civil-timezone","($value, $place)","fn:civil-timezone(\n  $value as xs:dateTime,\n  $place as xs:string?\n) as xs:dayTimeDuration","Standard_Functions#fn:civil-timezone"),qp("fn:codepoint-equal","($value1, $value2)","fn:codepoint-equal(\n  $value1 as xs:string?,\n  $value2 as xs:string?\n) as xs:boolean?","Standard_Functions#fn:codepoint-equal"),qp("fn:codepoints-to-string","($values)","fn:codepoints-to-string(\n  $values as xs:integer*\n) as xs:string","Standard_Functions#fn:codepoints-to-string"),qp("fn:collation","($options)","fn:collation(\n  $options as map(*)\n) as xs:string","Standard_Functions#fn:collation"),qp("fn:collation-available","($collation)","fn:collation-available(\n  $collation as xs:string\n) as xs:boolean","Standard_Functions#fn:collation-available"),qp("fn:collation-key","($value, $collation)","fn:collation-key(\n  $value as xs:string,\n  $collation as xs:string?\n) as xs:base64Binary","Standard_Functions#fn:collation-key"),qp("fn:collection","($source, $options)","fn:collection(\n  $source as xs:anyURI?,\n  $options as map(*)? := ()\n) as item()*","Standard_Functions#fn:collection"),qp("fn:compare","($value1, $value2, $collation)","fn:compare(\n  $value1 as xs:anyAtomicType?,\n  $value2 as xs:anyAtomicType?,\n  $collation as xs:string?\n) as xs:integer?","Standard_Functions#fn:compare"),qp("fn:concat","($values)","fn:concat(\n  $values as xs:anyAtomicType*\n) as xs:string","Standard_Functions#fn:concat"),qp("fn:contains","($value, $substring, $collation)","fn:contains(\n  $value as xs:string?,\n  $substring as xs:string?,\n  $collation as xs:string?\n) as xs:boolean","Standard_Functions#fn:contains"),qp("fn:contains-subsequence","($input, $subsequence, $compare)","fn:contains-subsequence(\n  $input as item()*,\n  $subsequence as item()*,\n  $compare as (fn(item(), item()) as xs:boolean?)?\n) as xs:boolean","Standard_Functions#fn:contains-subsequence"),qp("fn:contains-token","($value, $token, $collation)","fn:contains-token(\n  $value as xs:string*,\n  $token as xs:string,\n  $collation as xs:string?\n) as xs:boolean","Standard_Functions#fn:contains-token"),qp("fn:count","($input)","fn:count(\n  $input as item()*\n) as xs:integer","Standard_Functions#fn:count"),qp("fn:csv-doc","($source, $options)","fn:csv-doc(\n  $source as xs:string?,\n  $options as map(*)?\n) as fn:parsed-csv-structure-record?","Standard_Functions#fn:csv-doc"),qp("fn:csv-to-xml","($value, $options)","fn:csv-to-xml(\n  $value as xs:string?,\n  $options as map(*)?\n) as document-node(element(Q{http://www.w3.org/2005/xpath-functions}csv))?","Standard_Functions#fn:csv-to-xml"),qp("fn:current-date","()","fn:current-date() as xs:date","Standard_Functions#fn:current-date"),qp("fn:current-dateTime","()","fn:current-dateTime() as xs:dateTimeStamp","Standard_Functions#fn:current-datetime"),qp("fn:current-time","()","fn:current-time() as xs:time","Standard_Functions#fn:current-time"),qp("fn:data","($input)","fn:data(\n  $input as item()*\n) as xs:anyAtomicType*","Standard_Functions#fn:data"),qp("fn:dateTime","($date, $time)","fn:dateTime(\n  $date as xs:date?,\n  $time as xs:time?\n) as xs:dateTime?","Standard_Functions#fn:datetime"),qp("fn:day-from-date","($value)","fn:day-from-date(\n  $value as xs:date?\n) as xs:integer?","Standard_Functions#fn:day-from-date"),qp("fn:day-from-dateTime","($value)","fn:day-from-dateTime(\n  $value as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?\n) as xs:integer?","Standard_Functions#fn:day-from-datetime"),qp("fn:days-from-duration","($value)","fn:days-from-duration(\n  $value as xs:duration?\n) as xs:integer?","Standard_Functions#fn:days-from-duration"),qp("fn:days-in-month","($value)","fn:days-in-month(\n  $value as (xs:dateTime|xs:date|xs:gYearMonth)?\n) as xs:integer?","Standard_Functions#fn:days-in-month"),qp("fn:decode-from-uri","($value)","fn:decode-from-uri(\n  $value as xs:string?\n) as xs:string","Standard_Functions#fn:decode-from-uri"),qp("fn:deep-equal","($input1, $input2, $options)","fn:deep-equal(\n  $input1 as item()*,\n  $input2 as item()*,\n  $options as item()?\n) as xs:boolean","Standard_Functions#fn:deep-equal"),qp("fn:default-collation","()","fn:default-collation() as xs:string","Standard_Functions#fn:default-collation"),qp("fn:default-language","()","fn:default-language() as xs:language","Standard_Functions#fn:default-language"),qp("fn:distinct-ordered-nodes","($nodes)","fn:distinct-ordered-nodes(\n  $nodes as node()*\n) as node()*","Standard_Functions#fn:distinct-ordered-nodes"),qp("fn:distinct-values","($values, $collation)","fn:distinct-values(\n  $values as xs:anyAtomicType*,\n  $collation as xs:string?\n) as xs:anyAtomicType*","Standard_Functions#fn:distinct-values"),qp("fn:divide-decimals","($value, $divisor, $precision)","fn:divide-decimals(\n  $value as xs:decimal,\n  $divisor as xs:decimal,\n  $precision as xs:integer?\n) as fn:division-record","Standard_Functions#fn:divide-decimals"),qp("fn:doc","($source, $options)","fn:doc(\n  $source as xs:string?,\n  $options as map(*)?\n) as document-node()?","Standard_Functions#fn:doc"),qp("fn:doc-available","($source, $options)","fn:doc-available(\n  $source as xs:string?,\n  $options as map(*)?\n) as xs:boolean","Standard_Functions#fn:doc-available"),qp("fn:document-uri","($node)","fn:document-uri(\n  $node as xnode()?\n) as xs:anyURI?","Standard_Functions#fn:document-uri"),qp("fn:do-until","($input, $action, $predicate)","fn:do-until(\n  $input as item()*,\n  $action as fn(item()*, xs:integer) as item()*,\n  $predicate as fn(item()*, xs:integer) as xs:boolean?\n) as item()*","Standard_Functions#fn:do-until"),qp("fn:drop-while","($input, $predicate)","fn:drop-while(\n  $input as item()*,\n  $predicate as fn(item(), xs:integer) as xs:boolean?\n) as item()*","Standard_Functions#fn:drop-while"),qp("fn:duplicate-values","($values, $collation)","fn:duplicate-values(\n  $values as xs:anyAtomicType*,\n  $collation as xs:string?\n) as xs:anyAtomicType*","Standard_Functions#fn:duplicate-values"),qp("fn:duration-to-seconds","($value)","fn:duration-to-seconds(\n  $value as xs:dayTimeDuration?\n) as xs:decimal?","Standard_Functions#fn:duration-to-seconds"),qp("fn:element-to-map","($element, $options)","fn:element-to-map(\n  $element as (document-node(element())|element())?,\n  $options as map(*)?\n) as map(xs:string, item()?)?","Standard_Functions#fn:element-to-map"),qp("fn:element-to-map-plan","($input)","fn:element-to-map-plan(\n  $input as (document-node()|element())*\n) as map(xs:string, (fn:element-conversion-plan-record|fn:attribute-conversion-plan-record))","Standard_Functions#fn:element-to-map-plan"),qp("fn:element-with-id","($values, $node)","fn:element-with-id(\n  $values as xs:string*,\n  $node as xnode()?\n) as element()*","Standard_Functions#fn:element-with-id"),qp("fn:empty","($input)","fn:empty(\n  $input as item()*\n) as xs:boolean","Standard_Functions#fn:empty"),qp("fn:encode-for-uri","($value)","fn:encode-for-uri(\n  $value as xs:string?\n) as xs:string","Standard_Functions#fn:encode-for-uri"),qp("fn:ends-with","($value, $substring, $collation)","fn:ends-with(\n  $value as xs:string?,\n  $substring as xs:string?,\n  $collation as xs:string?\n) as xs:boolean","Standard_Functions#fn:ends-with"),qp("fn:ends-with-subsequence","($input, $subsequence, $compare)","fn:ends-with-subsequence(\n  $input as item()*,\n  $subsequence as item()*,\n  $compare as (fn(item(), item()) as xs:boolean?)?\n) as xs:boolean","Standard_Functions#fn:ends-with-subsequence"),qp("fn:environment-variable","($name)","fn:environment-variable(\n  $name as xs:string\n) as xs:string?","Standard_Functions#fn:environment-variable"),qp("fn:error","($code, $description, $value)","fn:error(\n  $code as xs:QName?,\n  $description as xs:string? := (),\n  $value as item()* := ()\n) as xs:error","Standard_Functions#fn:error"),qp("fn:escape-html-uri","($value)","fn:escape-html-uri(\n  $value as xs:string?\n) as xs:string","Standard_Functions#fn:escape-html-uri"),qp("fn:every","($input, $predicate)","fn:every(\n  $input as item()*,\n  $predicate as (fn(item(), xs:integer) as xs:boolean?)?\n) as xs:boolean","Standard_Functions#fn:every"),qp("fn:exactly-one","($input)","fn:exactly-one(\n  $input as item()*\n) as item()","Standard_Functions#fn:exactly-one"),qp("fn:exists","($input)","fn:exists(\n  $input as item()*\n) as xs:boolean","Standard_Functions#fn:exists"),qp("fn:expanded-QName","($value)","fn:expanded-QName(\n  $value as xs:QName?\n) as xs:string?","Standard_Functions#fn:expanded-qname"),qp("fn:false","()","fn:false() as xs:boolean","Standard_Functions#fn:false"),qp("fn:filter","($input, $predicate)","fn:filter(\n  $input as item()*,\n  $predicate as fn(item(), xs:integer) as xs:boolean?\n) as item()*","Standard_Functions#fn:filter"),qp("fn:floor","($value)","fn:floor(\n  $value as xs:numeric?\n) as xs:numeric?","Standard_Functions#fn:floor"),qp("fn:fold-left","($input, $init, $action)","fn:fold-left(\n  $input as item()*,\n  $init as item()*,\n  $action as fn(item()*, item(), xs:integer) as item()*\n) as item()*","Standard_Functions#fn:fold-left"),qp("fn:fold-right","($input, $init, $action)","fn:fold-right(\n  $input as item()*,\n  $init as item()*,\n  $action as fn(item(), item()*, xs:integer) as item()*\n) as item()*","Standard_Functions#fn:fold-right"),qp("fn:foot","($input)","fn:foot(\n  $input as item()*\n) as item()?","Standard_Functions#fn:foot"),qp("fn:for-each","($input, $action)","fn:for-each(\n  $input as item()*,\n  $action as fn(item(), xs:integer) as item()*\n) as item()*","Standard_Functions#fn:for-each"),qp("fn:for-each-pair","($input1, $input2, $action)","fn:for-each-pair(\n  $input1 as item()*,\n  $input2 as item()*,\n  $action as fn(item(), item(), xs:integer) as item()*\n) as item()*","Standard_Functions#fn:for-each-pair"),qp("fn:format-date","($value, $picture, $language, $calendar, $place)","fn:format-date(\n  $value as xs:date?,\n  $picture as xs:string,\n  $language as xs:string?,\n  $calendar as xs:string? := (),\n  $place as xs:string? := ()\n) as xs:string?","Standard_Functions#fn:format-date"),qp("fn:format-dateTime","($value, $picture, $language, $calendar, $place)","fn:format-dateTime(\n  $value as xs:dateTime?,\n  $picture as xs:string,\n  $language as xs:string?,\n  $calendar as xs:string? := (),\n  $place as xs:string? := ()\n) as xs:string?","Standard_Functions#fn:format-datetime"),qp("fn:format-integer","($value, $picture, $language)","fn:format-integer(\n  $value as xs:integer?,\n  $picture as xs:string,\n  $language as xs:string?\n) as xs:string","Standard_Functions#fn:format-integer"),qp("fn:format-number","($value, $picture, $options)","fn:format-number(\n  $value as xs:numeric?,\n  $picture as xs:string,\n  $options as item()?\n) as xs:string","Standard_Functions#fn:format-number"),qp("fn:format-time","($value, $picture, $language, $calendar, $place)","fn:format-time(\n  $value as xs:time?,\n  $picture as xs:string,\n  $language as xs:string?,\n  $calendar as xs:string? := (),\n  $place as xs:string? := ()\n) as xs:string?","Standard_Functions#fn:format-time"),qp("fn:function-annotations","($function)","fn:function-annotations(\n  $function as fn(*)\n) as map(xs:QName, xs:anyAtomicType*)*","Standard_Functions#fn:function-annotations"),qp("fn:function-arity","($function)","fn:function-arity(\n  $function as fn(*)\n) as xs:integer","Standard_Functions#fn:function-arity"),qp("fn:function-lookup","($name, $arity)","fn:function-lookup(\n  $name as xs:QName,\n  $arity as xs:integer\n) as (fn(*))?","Standard_Functions#fn:function-lookup"),qp("fn:function-name","($function)","fn:function-name(\n  $function as fn(*)\n) as xs:QName?","Standard_Functions#fn:function-name"),qp("fn:generate","($init, $step)","fn:generate(\n  $init as item(),\n  $step as fn(item(), xs:integer) as item()?\n) as item()*",null),qp("fn:generate-id","($node)","fn:generate-id(\n  $node as node()?\n) as xs:string","Standard_Functions#fn:generate-id"),qp("fn:graphemes","($value)","fn:graphemes(\n  $value as xs:string?\n) as xs:string*","Standard_Functions#fn:graphemes"),qp("fn:has-children","($node)","fn:has-children(\n  $node as node()?\n) as xs:boolean","Standard_Functions#fn:has-children"),qp("fn:hash","($value, $algorithm, $options)","fn:hash(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $algorithm as xs:string?,\n  $options as map(*)? := ()\n) as xs:hexBinary?","Standard_Functions#fn:hash"),qp("fn:head","($input)","fn:head(\n  $input as item()*\n) as item()?","Standard_Functions#fn:head"),qp("fn:highest","($input, $collation, $key)","fn:highest(\n  $input as item()*,\n  $collation as xs:string?,\n  $key as (fn(item()) as xs:anyAtomicType*)? := ()\n) as item()*","Standard_Functions#fn:highest"),qp("fn:hours-from-dateTime","($value)","fn:hours-from-dateTime(\n  $value as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?\n) as xs:integer?","Standard_Functions#fn:hours-from-datetime"),qp("fn:hours-from-duration","($value)","fn:hours-from-duration(\n  $value as xs:duration?\n) as xs:integer?","Standard_Functions#fn:hours-from-duration"),qp("fn:hours-from-time","($value)","fn:hours-from-time(\n  $value as xs:time?\n) as xs:integer?","Standard_Functions#fn:hours-from-time"),qp("fn:html-doc","($source, $options)","fn:html-doc(\n  $source as xs:string?,\n  $options as map(*)?\n) as document-node(element(*:html))?","Standard_Functions#fn:html-doc"),qp("fn:id","($values, $node)","fn:id(\n  $values as xs:string*,\n  $node as xnode()?\n) as element()*","Standard_Functions#fn:id"),qp("fn:identity","($input)","fn:identity(\n  $input as item()*\n) as item()*","Standard_Functions#fn:identity"),qp("fn:idref","($values, $node)","fn:idref(\n  $values as xs:string*,\n  $node as xnode()?\n) as xnode()*","Standard_Functions#fn:idref"),qp("fn:implicit-timezone","()","fn:implicit-timezone() as xs:dayTimeDuration","Standard_Functions#fn:implicit-timezone"),qp("fn:index-of","($input, $target, $collation)","fn:index-of(\n  $input as xs:anyAtomicType*,\n  $target as xs:anyAtomicType,\n  $collation as xs:string?\n) as xs:integer*","Standard_Functions#fn:index-of"),qp("fn:index-of-substring","($value, $substring)","fn:index-of-substring(\n  $value as xs:string?,\n  $substring as xs:string?\n) as xs:integer*","Standard_Functions#fn:index-of-substring"),qp("fn:index-where","($input, $predicate)","fn:index-where(\n  $input as item()*,\n  $predicate as fn(item(), xs:integer) as xs:boolean?\n) as xs:integer*","Standard_Functions#fn:index-where"),qp("fn:innermost","($nodes)","fn:innermost(\n  $nodes as node()*\n) as node()*","Standard_Functions#fn:innermost"),qp("fn:in-scope-namespaces","($element)",'fn:in-scope-namespaces(\n  $element as element()\n) as map((xs:NCName|enum("")), xs:anyURI)',"Standard_Functions#fn:in-scope-namespaces"),qp("fn:in-scope-prefixes","($element)","fn:in-scope-prefixes(\n  $element as element()\n) as xs:string*","Standard_Functions#fn:in-scope-prefixes"),qp("fn:insert-before","($input, $position, $insert)","fn:insert-before(\n  $input as item()*,\n  $position as xs:integer,\n  $insert as item()*\n) as item()*","Standard_Functions#fn:insert-before"),qp("fn:insert-separator","($input, $separator)","fn:insert-separator(\n  $input as item()*,\n  $separator as item()*\n) as item()*","Standard_Functions#fn:insert-separator"),qp("fn:invisible-xml","($grammar, $options)","fn:invisible-xml(\n  $grammar as (xs:string|element(ixml))?,\n  $options as map(*)? := ()\n) as fn(xs:string) as document-node()","Standard_Functions#fn:invisible-xml"),qp("fn:iri-to-uri","($value)","fn:iri-to-uri(\n  $value as xs:string?\n) as xs:string","Standard_Functions#fn:iri-to-uri"),qp("fn:is-NaN","($value)","fn:is-NaN(\n  $value as xs:anyAtomicType\n) as xs:boolean","Standard_Functions#fn:is-nan"),qp("fn:items-at","($input, $at, $sorted)","fn:items-at(\n  $input as item()*,\n  $at as xs:numeric*,\n  $sorted as xs:boolean? := ()\n) as item()*","Standard_Functions#fn:items-at"),qp("fn:jkey","($input)","fn:jkey(\n  $input as jnode()?\n) as xs:anyAtomicType?","Standard_Functions#fn:jkey"),qp("fn:json-doc","($source, $options)","fn:json-doc(\n  $source as xs:string?,\n  $options as map(*)?\n) as item()?","Standard_Functions#fn:json-doc"),qp("fn:json-to-xml","($value, $options)","fn:json-to-xml(\n  $value as xs:string?,\n  $options as map(*)?\n) as document-node(element(Q{http://www.w3.org/2005/xpath-functions}*))?","Standard_Functions#fn:json-to-xml"),qp("fn:jtree","($input)","fn:jtree(\n  $input as item()*\n) as jnode(())","Standard_Functions#fn:jtree"),qp("fn:jvalue","($input)","fn:jvalue(\n  $input as jnode()?\n) as item()*","Standard_Functions#fn:jvalue"),qp("fn:lang","($language, $node)","fn:lang(\n  $language as xs:string?,\n  $node as xnode()?\n) as xs:boolean","Standard_Functions#fn:lang"),qp("fn:last","()","fn:last() as xs:integer","Standard_Functions#fn:last"),qp("fn:load-xquery-module","($module-uri, $options)","fn:load-xquery-module(\n  $module-uri as xs:string,\n  $options as map(*)?\n) as fn:load-xquery-module-record","Standard_Functions#fn:load-xquery-module"),qp("fn:local-name","($node)","fn:local-name(\n  $node as xnode()?\n) as xs:string","Standard_Functions#fn:local-name"),qp("fn:local-name-from-QName","($value)","fn:local-name-from-QName(\n  $value as xs:QName?\n) as xs:NCName?","Standard_Functions#fn:local-name-from-qname"),qp("fn:location","($node)","fn:location(\n  $node as xnode()?\n) as fn:location-record?","Standard_Functions#fn:location"),qp("fn:lower-case","($value)","fn:lower-case(\n  $value as xs:string?\n) as xs:string","Standard_Functions#fn:lower-case"),qp("fn:lowest","($input, $collation, $key)","fn:lowest(\n  $input as item()*,\n  $collation as xs:string?,\n  $key as (fn(item()) as xs:anyAtomicType*)? := ()\n) as item()*","Standard_Functions#fn:lowest"),qp("fn:map-to-element","($map, $options)","fn:map-to-element(\n  $map as map(*)?,\n  $options as map(*)?\n) as element()?","Standard_Functions#fn:map-to-element"),qp("fn:matches","($value, $pattern, $flags)","fn:matches(\n  $value as xs:string?,\n  $pattern as xs:string,\n  $flags as xs:string?\n) as xs:boolean","Standard_Functions#fn:matches"),qp("fn:matching-segments","($value, $pattern, $flags)","fn:matching-segments(\n  $value as xs:string?,\n  $pattern as xs:string,\n  $flags as xs:string?\n) as fn:matching-segment-record*","Standard_Functions#fn:matching-segments"),qp("fn:max","($values, $collation)","fn:max(\n  $values as xs:anyAtomicType*,\n  $collation as xs:string?\n) as xs:anyAtomicType?","Standard_Functions#fn:max"),qp("fn:message","($input, $label)","fn:message(\n  $input as item()*,\n  $label as xs:string?\n) as empty-sequence()","Standard_Functions#fn:message"),qp("fn:min","($values, $collation)","fn:min(\n  $values as xs:anyAtomicType*,\n  $collation as xs:string?\n) as xs:anyAtomicType?","Standard_Functions#fn:min"),qp("fn:minutes-from-dateTime","($value)","fn:minutes-from-dateTime(\n  $value as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?\n) as xs:integer?","Standard_Functions#fn:minutes-from-datetime"),qp("fn:minutes-from-duration","($value)","fn:minutes-from-duration(\n  $value as xs:duration?\n) as xs:integer?","Standard_Functions#fn:minutes-from-duration"),qp("fn:minutes-from-time","($value)","fn:minutes-from-time(\n  $value as xs:time?\n) as xs:integer?","Standard_Functions#fn:minutes-from-time"),qp("fn:month-from-date","($value)","fn:month-from-date(\n  $value as xs:date?\n) as xs:integer?","Standard_Functions#fn:month-from-date"),qp("fn:month-from-dateTime","($value)","fn:month-from-dateTime(\n  $value as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?\n) as xs:integer?","Standard_Functions#fn:month-from-datetime"),qp("fn:months-from-duration","($value)","fn:months-from-duration(\n  $value as xs:duration?\n) as xs:integer?","Standard_Functions#fn:months-from-duration"),qp("fn:name","($node)","fn:name(\n  $node as xnode()?\n) as xs:string","Standard_Functions#fn:name"),qp("fn:namespace-uri","($node)","fn:namespace-uri(\n  $node as xnode()?\n) as xs:anyURI","Standard_Functions#fn:namespace-uri"),qp("fn:namespace-uri-for-prefix","($value, $element)",'fn:namespace-uri-for-prefix(\n  $value as (xs:NCName|enum(""))?,\n  $element as element()\n) as xs:anyURI?',"Standard_Functions#fn:namespace-uri-for-prefix"),qp("fn:namespace-uri-from-QName","($value)","fn:namespace-uri-from-QName(\n  $value as xs:QName?\n) as xs:anyURI?","Standard_Functions#fn:namespace-uri-from-qname"),qp("fn:nilled","($node)","fn:nilled(\n  $node as xnode()?\n) as xs:boolean?","Standard_Functions#fn:nilled"),qp("fn:node-name","($node)","fn:node-name(\n  $node as xnode()?\n) as xs:QName?","Standard_Functions#fn:node-name"),qp("fn:node-type-annotation","($node)","fn:node-type-annotation(\n  $node as (element()|attribute())\n) as fn:schema-type-record","Standard_Functions#fn:node-type-annotation"),qp("fn:normalize-space","($value)","fn:normalize-space(\n  $value as xs:anyAtomicType?\n) as xs:string","Standard_Functions#fn:normalize-space"),qp("fn:normalize-unicode","($value, $form)","fn:normalize-unicode(\n  $value as xs:string?,\n  $form as xs:string?\n) as xs:string","Standard_Functions#fn:normalize-unicode"),qp("fn:not","($input)","fn:not(\n  $input as item()*\n) as xs:boolean","Standard_Functions#fn:not"),qp("fn:number","($value)","fn:number(\n  $value as xs:anyAtomicType?\n) as xs:double","Standard_Functions#fn:number"),qp("fn:one-or-more","($input)","fn:one-or-more(\n  $input as item()*\n) as item()+","Standard_Functions#fn:one-or-more"),qp("fn:op","($operator)","fn:op(\n  $operator as xs:string\n) as fn(item()*, item()*) as item()*","Standard_Functions#fn:op"),qp("fn:outermost","($nodes)","fn:outermost(\n  $nodes as node()*\n) as node()*","Standard_Functions#fn:outermost"),qp("fn:pad-string","($value, $length, $options)","fn:pad-string(\n  $value as xs:anyAtomicType?,\n  $length as xs:integer,\n  $options as map(*)?\n) as xs:string","Standard_Functions#fn:pad-string"),qp("fn:parse-csv","($value, $options)","fn:parse-csv(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $options as map(*)?\n) as fn:parsed-csv-structure-record?","Standard_Functions#fn:parse-csv"),qp("fn:parse-html","($value, $options)","fn:parse-html(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $options as map(*)?\n) as document-node(element(*:html))?","Standard_Functions#fn:parse-html"),qp("fn:parse-ietf-date","($value)","fn:parse-ietf-date(\n  $value as xs:string?\n) as xs:dateTime?","Standard_Functions#fn:parse-ietf-date"),qp("fn:parse-integer","($value, $radix)","fn:parse-integer(\n  $value as xs:string?,\n  $radix as xs:integer?\n) as xs:integer?","Standard_Functions#fn:parse-integer"),qp("fn:parse-json","($value, $options)","fn:parse-json(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $options as map(*)?\n) as item()?","Standard_Functions#fn:parse-json"),qp("fn:parse-QName","($value)","fn:parse-QName(\n  $value as xs:string?\n) as xs:QName?","Standard_Functions#fn:parse-qname"),qp("fn:parse-uri","($value, $options)","fn:parse-uri(\n  $value as xs:string?,\n  $options as map(*)?\n) as fn:uri-structure-record?","Standard_Functions#fn:parse-uri"),qp("fn:parse-xml","($value, $options)","fn:parse-xml(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $options as map(*)?\n) as document-node(element())?","Standard_Functions#fn:parse-xml"),qp("fn:parse-xml-fragment","($value, $options)","fn:parse-xml-fragment(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $options as map(*)?\n) as document-node()?","Standard_Functions#fn:parse-xml-fragment"),qp("fn:partial-apply","($function, $arguments)","fn:partial-apply(\n  $function as fn(*),\n  $arguments as map(*)\n) as fn(*)","Standard_Functions#fn:partial-apply"),qp("fn:partition","($input, $split-when)","fn:partition(\n  $input as item()*,\n  $split-when as fn(item()*, item(), xs:integer) as xs:boolean?\n) as array(*)*","Standard_Functions#fn:partition"),qp("fn:parts-of-dateTime","($value)","fn:parts-of-dateTime(\n  $value as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?\n) as fn:dateTime-record?","Standard_Functions#fn:parts-of-datetime"),qp("fn:path","($node, $options)","fn:path(\n  $node as node()?,\n  $options as map(*)? := ()\n) as xs:string?","Standard_Functions#fn:path"),qp("fn:position","()","fn:position() as xs:integer","Standard_Functions#fn:position"),qp("fn:prefix-from-QName","($value)","fn:prefix-from-QName(\n  $value as xs:QName?\n) as xs:NCName?","Standard_Functions#fn:prefix-from-qname"),qp("fn:put","($node, $source, $options)","fn:put(\n  $node as xnode(),\n  $source as xs:string?,\n  $options as item()?\n) as empty-sequence()","Updates#fn:put"),qp("fn:QName","($uri, $qname)","fn:QName(\n  $uri as xs:string?,\n  $qname as xs:string\n) as xs:QName","Standard_Functions#fn:qname"),qp("fn:random-number-generator","($seed)","fn:random-number-generator(\n  $seed as xs:anyAtomicType?\n) as fn:random-number-generator-record","Standard_Functions#fn:random-number-generator"),qp("fn:regex","($pattern, $flags)","fn:regex(\n  $pattern as xs:string,\n  $flags as xs:string?\n) as fn:compiled-regex-record","Standard_Functions#fn:regex"),qp("fn:remove","($input, $positions)","fn:remove(\n  $input as item()*,\n  $positions as xs:integer*\n) as item()*","Standard_Functions#fn:remove"),qp("fn:replace","($value, $pattern, $replacement, $flags)","fn:replace(\n  $value as xs:string?,\n  $pattern as xs:string,\n  $replacement as (xs:string|fn(xs:untypedAtomic, map((xs:integer|xs:string), xs:untypedAtomic)) as item()?|fn(xs:untypedAtomic, xs:untypedAtomic*) as item()?)?,\n  $flags as xs:string? := ()\n) as xs:string","Standard_Functions#fn:replace"),qp("fn:replicate","($input, $count, $multiple)","fn:replicate(\n  $input as item()*,\n  $count as xs:integer,\n  $multiple as xs:boolean? := ()\n) as item()*","Standard_Functions#fn:replicate"),qp("fn:resolve-QName","($value, $element)","fn:resolve-QName(\n  $value as xs:string?,\n  $element as element()\n) as xs:QName?","Standard_Functions#fn:resolve-qname"),qp("fn:resolve-uri","($href, $base)","fn:resolve-uri(\n  $href as xs:string?,\n  $base as xs:string?\n) as xs:anyURI?","Standard_Functions#fn:resolve-uri"),qp("fn:reverse","($input)","fn:reverse(\n  $input as item()*\n) as item()*","Standard_Functions#fn:reverse"),qp("fn:root","($node)","fn:root(\n  $node as node()?\n) as node()?","Standard_Functions#fn:root"),qp("fn:round","($value, $precision, $mode)","fn:round(\n  $value as xs:numeric?,\n  $precision as xs:integer?,\n  $mode as xs:string? := ()\n) as xs:numeric?","Standard_Functions#fn:round"),qp("fn:round-half-to-even","($value, $precision)","fn:round-half-to-even(\n  $value as xs:numeric?,\n  $precision as xs:integer?\n) as xs:numeric?","Standard_Functions#fn:round-half-to-even"),qp("fn:scan","($input, $init, $action)","fn:scan(\n  $input as item()*,\n  $init as item()*,\n  $action as fn(item()*, item(), xs:integer) as item()*\n) as array(*)*","Standard_Functions#fn:scan"),qp("fn:schema-type","($name)","fn:schema-type(\n  $name as xs:QName\n) as fn:schema-type-record?","Standard_Functions#fn:schema-type"),qp("fn:seconds","($value)","fn:seconds(\n  $value as xs:decimal?\n) as xs:dayTimeDuration?","Standard_Functions#fn:seconds"),qp("fn:seconds-from-dateTime","($value)","fn:seconds-from-dateTime(\n  $value as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?\n) as xs:decimal?","Standard_Functions#fn:seconds-from-datetime"),qp("fn:seconds-from-duration","($value)","fn:seconds-from-duration(\n  $value as xs:duration?\n) as xs:decimal?","Standard_Functions#fn:seconds-from-duration"),qp("fn:seconds-from-time","($value)","fn:seconds-from-time(\n  $value as xs:time?\n) as xs:decimal?","Standard_Functions#fn:seconds-from-time"),qp("fn:serialize","($input, $options)","fn:serialize(\n  $input as item()*,\n  $options as item()?\n) as xs:string","Standard_Functions#fn:serialize"),qp("fn:siblings","($node)","fn:siblings(\n  $node as node()?\n) as node()*","Standard_Functions#fn:siblings"),qp("fn:slice","($input, $start, $end, $step)","fn:slice(\n  $input as item()*,\n  $start as xs:integer?,\n  $end as xs:integer? := (),\n  $step as xs:integer? := ()\n) as item()*","Standard_Functions#fn:slice"),qp("fn:some","($input, $predicate)","fn:some(\n  $input as item()*,\n  $predicate as (fn(item(), xs:integer) as xs:boolean?)?\n) as xs:boolean","Standard_Functions#fn:some"),qp("fn:sort","($input, $collation, $key)","fn:sort(\n  $input as item()*,\n  $collation as xs:string?,\n  $key as (fn(item()) as xs:anyAtomicType*)? := ()\n) as item()*","Standard_Functions#fn:sort"),qp("fn:sort-by","($input, $keys)","fn:sort-by(\n  $input as item()*,\n  $keys as fn:sort-key-record*\n) as item()*","Standard_Functions#fn:sort-by"),qp("fn:sort-with","($input, $comparators)","fn:sort-with(\n  $input as item()*,\n  $comparators as (fn(item(), item()) as xs:integer)+\n) as item()*","Standard_Functions#fn:sort-with"),qp("fn:starts-with","($value, $substring, $collation)","fn:starts-with(\n  $value as xs:string?,\n  $substring as xs:string?,\n  $collation as xs:string?\n) as xs:boolean","Standard_Functions#fn:starts-with"),qp("fn:starts-with-subsequence","($input, $subsequence, $compare)","fn:starts-with-subsequence(\n  $input as item()*,\n  $subsequence as item()*,\n  $compare as (fn(item(), item()) as xs:boolean?)?\n) as xs:boolean","Standard_Functions#fn:starts-with-subsequence"),qp("fn:static-base-uri","()","fn:static-base-uri() as xs:anyURI?","Standard_Functions#fn:static-base-uri"),qp("fn:string","($value)","fn:string(\n  $value as item()?\n) as xs:string","Standard_Functions#fn:string"),qp("fn:string-join","($values, $separator)","fn:string-join(\n  $values as xs:anyAtomicType*,\n  $separator as xs:string?\n) as xs:string","Standard_Functions#fn:string-join"),qp("fn:string-length","($value)","fn:string-length(\n  $value as xs:anyAtomicType?\n) as xs:integer","Standard_Functions#fn:string-length"),qp("fn:string-to-codepoints","($value)","fn:string-to-codepoints(\n  $value as xs:string?\n) as xs:integer*","Standard_Functions#fn:string-to-codepoints"),qp("fn:subsequence","($input, $start, $length)","fn:subsequence(\n  $input as item()*,\n  $start as xs:numeric,\n  $length as xs:numeric?\n) as item()*","Standard_Functions#fn:subsequence"),qp("fn:substring","($value, $start, $length)","fn:substring(\n  $value as xs:string?,\n  $start as xs:numeric,\n  $length as xs:numeric?\n) as xs:string","Standard_Functions#fn:substring"),qp("fn:substring-after","($value, $substring, $collation)","fn:substring-after(\n  $value as xs:string?,\n  $substring as xs:string?,\n  $collation as xs:string?\n) as xs:string","Standard_Functions#fn:substring-after"),qp("fn:substring-after-last","($value, $substring, $collation)","fn:substring-after-last(\n  $value as xs:string?,\n  $substring as xs:string?,\n  $collation as xs:string?\n) as xs:string","Standard_Functions#fn:substring-after-last"),qp("fn:substring-before","($value, $substring, $collation)","fn:substring-before(\n  $value as xs:string?,\n  $substring as xs:string?,\n  $collation as xs:string?\n) as xs:string","Standard_Functions#fn:substring-before"),qp("fn:substring-before-last","($value, $substring, $collation)","fn:substring-before-last(\n  $value as xs:string?,\n  $substring as xs:string?,\n  $collation as xs:string?\n) as xs:string","Standard_Functions#fn:substring-before-last"),qp("fn:sum","($values, $zero)","fn:sum(\n  $values as xs:anyAtomicType*,\n  $zero as xs:anyAtomicType?\n) as xs:anyAtomicType?","Standard_Functions#fn:sum"),qp("fn:system-properties","()","fn:system-properties() as map(xs:QName, xs:anyAtomicType)","Standard_Functions#fn:system-properties"),qp("fn:tail","($input)","fn:tail(\n  $input as item()*\n) as item()*","Standard_Functions#fn:tail"),qp("fn:take-while","($input, $predicate)","fn:take-while(\n  $input as item()*,\n  $predicate as fn(item(), xs:integer) as xs:boolean?\n) as item()*","Standard_Functions#fn:take-while"),qp("fn:timezone-from-date","($value)","fn:timezone-from-date(\n  $value as xs:date?\n) as xs:dayTimeDuration?","Standard_Functions#fn:timezone-from-date"),qp("fn:timezone-from-dateTime","($value)","fn:timezone-from-dateTime(\n  $value as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?\n) as xs:dayTimeDuration?","Standard_Functions#fn:timezone-from-datetime"),qp("fn:timezone-from-time","($value)","fn:timezone-from-time(\n  $value as xs:time?\n) as xs:dayTimeDuration?","Standard_Functions#fn:timezone-from-time"),qp("fn:tokenize","($value, $pattern, $flags)","fn:tokenize(\n  $value as xs:string?,\n  $pattern as xs:string?,\n  $flags as xs:string? := ()\n) as xs:string*","Standard_Functions#fn:tokenize"),qp("fn:trace","($input, $label)","fn:trace(\n  $input as item()*,\n  $label as xs:string?\n) as item()*","Standard_Functions#fn:trace"),qp("fn:transform","($options)","fn:transform(\n  $options as map(*)\n) as map(*)","Standard_Functions#fn:transform"),qp("fn:transitive-closure","($node, $step)","fn:transitive-closure(\n  $node as node()?,\n  $step as fn(*)\n) as node()*","Standard_Functions#fn:transitive-closure"),qp("fn:translate","($value, $replace, $with)","fn:translate(\n  $value as xs:string?,\n  $replace as xs:string,\n  $with as xs:string\n) as xs:string","Standard_Functions#fn:translate"),qp("fn:trim-space","($value, $options)","fn:trim-space(\n  $value as xs:anyAtomicType?,\n  $options as map(*)? := ()\n) as xs:string","Standard_Functions#fn:trim-space"),qp("fn:true","()","fn:true() as xs:boolean","Standard_Functions#fn:true"),qp("fn:trunk","($input)","fn:trunk(\n  $input as item()*\n) as item()*","Standard_Functions#fn:trunk"),qp("fn:type-of","($value)","fn:type-of(\n  $value as item()*\n) as xs:string","Standard_Functions#fn:type-of"),qp("fn:unix-dateTime","($value)","fn:unix-dateTime(\n  $value as xs:integer?\n) as xs:dateTimeStamp","Standard_Functions#fn:unix-datetime"),qp("fn:unordered","($input)","fn:unordered(\n  $input as item()*\n) as item()*","Standard_Functions#fn:unordered"),qp("fn:unparsed-binary","($source)","fn:unparsed-binary(\n  $source as xs:string?\n) as xs:base64Binary?","Standard_Functions#fn:unparsed-binary"),qp("fn:unparsed-text","($source, $options)","fn:unparsed-text(\n  $source as xs:string?,\n  $options as item()?\n) as xs:string?","Standard_Functions#fn:unparsed-text"),qp("fn:unparsed-text-available","($source, $options)","fn:unparsed-text-available(\n  $source as xs:string?,\n  $options as item()?\n) as xs:boolean","Standard_Functions#fn:unparsed-text-available"),qp("fn:unparsed-text-lines","($source, $options)","fn:unparsed-text-lines(\n  $source as xs:string?,\n  $options as item()?\n) as xs:string*","Standard_Functions#fn:unparsed-text-lines"),qp("fn:update","($value, $select, $replacement)","fn:update(\n  $value as (node()|map(*)|array(*)),\n  $select as fn(node()) as node()*,\n  $replacement as item()*\n) as (node()|map(*)|array(*))",null),qp("fn:upper-case","($value)","fn:upper-case(\n  $value as xs:string?\n) as xs:string","Standard_Functions#fn:upper-case"),qp("fn:uri-collection","($source, $options)","fn:uri-collection(\n  $source as xs:anyURI?,\n  $options as map(*)? := ()\n) as xs:anyURI*","Standard_Functions#fn:uri-collection"),qp("fn:void","($input, $skip)","fn:void(\n  $input as item()*,\n  $skip as xs:boolean? := ()\n) as empty-sequence()","Standard_Functions#fn:void"),qp("fn:while-do","($input, $predicate, $action)","fn:while-do(\n  $input as item()*,\n  $predicate as fn(item()*, xs:integer) as xs:boolean?,\n  $action as fn(item()*, xs:integer) as item()*\n) as item()*","Standard_Functions#fn:while-do"),qp("fn:xml-to-json","($node, $options)","fn:xml-to-json(\n  $node as xnode()?,\n  $options as map(*)?\n) as xs:string?","Standard_Functions#fn:xml-to-json"),qp("fn:xsd-validator","($options)","fn:xsd-validator(\n  $options as map(*)?\n) as fn((document-node(element())|element()|attribute())?) as fn:validation-result-record?","Standard_Functions#fn:xsd-validator"),qp("fn:year-from-date","($value)","fn:year-from-date(\n  $value as xs:date?\n) as xs:integer?","Standard_Functions#fn:year-from-date"),qp("fn:year-from-dateTime","($value)","fn:year-from-dateTime(\n  $value as (xs:dateTime|xs:date|xs:time|xs:gYear|xs:gYearMonth|xs:gMonth|xs:gMonthDay|xs:gDay)?\n) as xs:integer?","Standard_Functions#fn:year-from-datetime"),qp("fn:years-from-duration","($value)","fn:years-from-duration(\n  $value as xs:duration?\n) as xs:integer?","Standard_Functions#fn:years-from-duration"),qp("fn:zero-or-one","($input)","fn:zero-or-one(\n  $input as item()*\n) as item()?","Standard_Functions#fn:zero-or-one"),qp("map:build","($input, $key, $value, $options)","map:build(\n  $input as item()*,\n  $key as (fn(item(), xs:integer) as xs:anyAtomicType*)?,\n  $value as (fn(item(), xs:integer) as item()*)? := (),\n  $options as map(*)? := ()\n) as map(*)","Map_Functions#map:build"),qp("map:contains","($map, $key)","map:contains(\n  $map as map(*),\n  $key as xs:anyAtomicType\n) as xs:boolean","Map_Functions#map:contains"),qp("map:empty","($map)","map:empty(\n  $map as map(*)\n) as xs:boolean","Map_Functions#map:empty"),qp("map:entries","($map)","map:entries(\n  $map as map(*)\n) as map(*)*","Map_Functions#map:entries"),qp("map:entry","($key, $value)","map:entry(\n  $key as xs:anyAtomicType,\n  $value as item()*\n) as map(*)","Map_Functions#map:entry"),qp("map:filter","($map, $predicate)","map:filter(\n  $map as map(*),\n  $predicate as fn(xs:anyAtomicType, item()*, xs:integer) as xs:boolean?\n) as map(*)","Map_Functions#map:filter"),qp("map:find","($input, $key)","map:find(\n  $input as item()*,\n  $key as xs:anyAtomicType\n) as array(*)","Map_Functions#map:find"),qp("map:for-each","($map, $action)","map:for-each(\n  $map as map(*),\n  $action as fn(xs:anyAtomicType, item()*, xs:integer) as item()*\n) as item()*","Map_Functions#map:for-each"),qp("map:get","($map, $key, $default)","map:get(\n  $map as map(*),\n  $key as xs:anyAtomicType,\n  $default as item()*\n) as item()*","Map_Functions#map:get"),qp("map:items","($map)","map:items(\n  $map as map(*)\n) as item()*","Map_Functions#map:items"),qp("map:keys","($map)","map:keys(\n  $map as map(*)\n) as xs:anyAtomicType*","Map_Functions#map:keys"),qp("map:merge","($maps, $options)","map:merge(\n  $maps as map(*)*,\n  $options as map(*)?\n) as map(*)","Map_Functions#map:merge"),qp("map:put","($map, $key, $value)","map:put(\n  $map as map(*),\n  $key as xs:anyAtomicType,\n  $value as item()*\n) as map(*)","Map_Functions#map:put"),qp("map:remove","($map, $keys)","map:remove(\n  $map as map(*),\n  $keys as xs:anyAtomicType*\n) as map(*)","Map_Functions#map:remove"),qp("map:size","($map)","map:size(\n  $map as map(*)\n) as xs:integer","Map_Functions#map:size"),qp("array:append","($array, $member)","array:append(\n  $array as array(*),\n  $member as item()*\n) as array(*)","Array_Functions#array:append"),qp("array:build","($input, $action)","array:build(\n  $input as item()*,\n  $action as (fn(item(), xs:integer) as item()*)?\n) as array(*)","Array_Functions#array:build"),qp("array:empty","($array)","array:empty(\n  $array as array(*)\n) as xs:boolean","Array_Functions#array:empty"),qp("array:filter","($array, $predicate)","array:filter(\n  $array as array(*),\n  $predicate as fn(item()*, xs:integer) as xs:boolean?\n) as array(*)","Array_Functions#array:filter"),qp("array:flatten","($input)","array:flatten(\n  $input as item()*\n) as item()*","Array_Functions#array:flatten"),qp("array:fold-left","($array, $init, $action)","array:fold-left(\n  $array as array(*),\n  $init as item()*,\n  $action as fn(item()*, item()*, xs:integer) as item()*\n) as item()*","Array_Functions#array:fold-left"),qp("array:fold-right","($array, $init, $action)","array:fold-right(\n  $array as array(*),\n  $init as item()*,\n  $action as fn(item()*, item()*, xs:integer) as item()*\n) as item()*","Array_Functions#array:fold-right"),qp("array:foot","($array)","array:foot(\n  $array as array(*)\n) as item()*","Array_Functions#array:foot"),qp("array:for-each","($array, $action)","array:for-each(\n  $array as array(*),\n  $action as fn(item()*, xs:integer) as item()*\n) as array(*)","Array_Functions#array:for-each"),qp("array:for-each-pair","($array1, $array2, $action)","array:for-each-pair(\n  $array1 as array(*),\n  $array2 as array(*),\n  $action as fn(item()*, item()*, xs:integer) as item()*\n) as array(*)","Array_Functions#array:for-each-pair"),qp("array:get","($array, $position, $default)","array:get(\n  $array as array(*),\n  $position as xs:integer,\n  $default as item()*\n) as item()*","Array_Functions#array:get"),qp("array:head","($array)","array:head(\n  $array as array(*)\n) as item()*","Array_Functions#array:head"),qp("array:index-of","($array, $target, $collation)","array:index-of(\n  $array as array(*),\n  $target as item()*,\n  $collation as xs:string?\n) as xs:integer*","Array_Functions#array:index-of"),qp("array:index-where","($array, $predicate)","array:index-where(\n  $array as array(*),\n  $predicate as fn(item()*, xs:integer) as xs:boolean?\n) as xs:integer*","Array_Functions#array:index-where"),qp("array:insert-before","($array, $position, $member)","array:insert-before(\n  $array as array(*),\n  $position as xs:integer,\n  $member as item()*\n) as array(*)","Array_Functions#array:insert-before"),qp("array:items","($array)","array:items(\n  $array as array(*)\n) as item()*","Array_Functions#array:items"),qp("array:join","($arrays)","array:join(\n  $arrays as array(*)*\n) as array(*)","Array_Functions#array:join"),qp("array:members","($array)","array:members(\n  $array as array(*)\n) as jnode()*","Array_Functions#array:members"),qp("array:of-members","($input)","array:of-members(\n  $input as jnode()*\n) as array(*)","Array_Functions#array:of-members"),qp("array:put","($array, $position, $member)","array:put(\n  $array as array(*),\n  $position as xs:integer,\n  $member as item()*\n) as array(*)","Array_Functions#array:put"),qp("array:remove","($array, $positions)","array:remove(\n  $array as array(*),\n  $positions as xs:integer*\n) as array(*)","Array_Functions#array:remove"),qp("array:reverse","($array)","array:reverse(\n  $array as array(*)\n) as array(*)","Array_Functions#array:reverse"),qp("array:size","($array)","array:size(\n  $array as array(*)\n) as xs:integer","Array_Functions#array:size"),qp("array:slice","($array, $start, $end, $step)","array:slice(\n  $array as array(*),\n  $start as xs:integer?,\n  $end as xs:integer? := (),\n  $step as xs:integer? := ()\n) as array(*)","Array_Functions#array:slice"),qp("array:sort","($array, $collation, $key)","array:sort(\n  $array as array(*),\n  $collation as xs:string?,\n  $key as (fn(item()*) as xs:anyAtomicType*)? := ()\n) as array(*)","Array_Functions#array:sort"),qp("array:sort-by","($array, $keys)","array:sort-by(\n  $array as array(*),\n  $keys as fn:array-sort-key-record*\n) as array(*)","Array_Functions#array:sort-by"),qp("array:sort-with","($array, $comparators)","array:sort-with(\n  $array as array(*),\n  $comparators as (fn(item()*, item()*) as xs:integer)+\n) as array(*)","Array_Functions#array:sort-with"),qp("array:split","($array)","array:split(\n  $array as array(*)\n) as array(*)*","Array_Functions#array:split"),qp("array:subarray","($array, $start, $length)","array:subarray(\n  $array as array(*),\n  $start as xs:integer,\n  $length as xs:integer?\n) as array(*)","Array_Functions#array:subarray"),qp("array:tail","($array)","array:tail(\n  $array as array(*)\n) as array(*)","Array_Functions#array:tail"),qp("array:trunk","($array)","array:trunk(\n  $array as array(*)\n) as array(*)","Array_Functions#array:trunk"),qp("math:acos","($value)","math:acos(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:acos"),qp("math:asin","($value)","math:asin(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:asin"),qp("math:atan","($value)","math:atan(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:atan"),qp("math:atan2","($y, $x)","math:atan2(\n  $y as xs:double,\n  $x as xs:double\n) as xs:double","Math_Functions#math:atan2"),qp("math:cos","($radians)","math:cos(\n  $radians as xs:double?\n) as xs:double?","Math_Functions#math:cos"),qp("math:cosh","($value)","math:cosh(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:cosh"),qp("math:e","()","math:e() as xs:double","Math_Functions#math:e"),qp("math:exp","($value)","math:exp(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:exp"),qp("math:exp10","($value)","math:exp10(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:exp10"),qp("math:log","($value)","math:log(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:log"),qp("math:log10","($value)","math:log10(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:log10"),qp("math:pi","()","math:pi() as xs:double","Math_Functions#math:pi"),qp("math:pow","($x, $y)","math:pow(\n  $x as xs:double?,\n  $y as xs:numeric\n) as xs:double?","Math_Functions#math:pow"),qp("math:sin","($radians)","math:sin(\n  $radians as xs:double?\n) as xs:double?","Math_Functions#math:sin"),qp("math:sinh","($value)","math:sinh(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:sinh"),qp("math:sqrt","($value)","math:sqrt(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:sqrt"),qp("math:tan","($radians)","math:tan(\n  $radians as xs:double?\n) as xs:double?","Math_Functions#math:tan"),qp("math:tanh","($value)","math:tanh(\n  $value as xs:double?\n) as xs:double?","Math_Functions#math:tanh"),qp("admin:delete-logs","($date)","admin:delete-logs(\n  $date as xs:string\n) as empty-sequence()","Admin_Functions#admin:delete-logs"),qp("admin:logs","($date, $merge)","admin:logs(\n  $date as xs:string,\n  $merge as xs:boolean? := ()\n) as element()*","Admin_Functions#admin:logs"),qp("admin:sessions","()","admin:sessions() as element()*","Admin_Functions#admin:sessions"),qp("admin:write-log","($message, $type)","admin:write-log(\n  $message as xs:string,\n  $type as xs:string?\n) as empty-sequence()","Admin_Functions#admin:write-log"),qp("archive:create","($entries, $contents, $options)","archive:create(\n  $entries as item()*,\n  $contents as item()*,\n  $options as map(*)?\n) as xs:base64Binary","Archive_Functions#archive:create"),qp("archive:create-from","($path, $options, $entries)","archive:create-from(\n  $path as xs:string,\n  $options as map(*)?,\n  $entries as item()* := ()\n) as xs:base64Binary","Archive_Functions#archive:create-from"),qp("archive:delete","($archive, $entries)","archive:delete(\n  $archive as xs:anyAtomicType,\n  $entries as xs:string*\n) as xs:base64Binary","Archive_Functions#archive:delete"),qp("archive:entries","($archive)","archive:entries(\n  $archive as xs:anyAtomicType\n) as element()*","Archive_Functions#archive:entries"),qp("archive:extract-binary","($archive, $entries)","archive:extract-binary(\n  $archive as xs:anyAtomicType,\n  $entries as xs:string*\n) as xs:base64Binary*","Archive_Functions#archive:extract-binary"),qp("archive:extract-text","($archive, $entries, $encoding)","archive:extract-text(\n  $archive as xs:anyAtomicType,\n  $entries as xs:string*,\n  $encoding as xs:string? := ()\n) as xs:string*","Archive_Functions#archive:extract-text"),qp("archive:extract-to","($path, $archive, $entries)","archive:extract-to(\n  $path as xs:string,\n  $archive as xs:anyAtomicType,\n  $entries as xs:string*\n) as empty-sequence()","Archive_Functions#archive:extract-to"),qp("archive:options","($archive)","archive:options(\n  $archive as xs:anyAtomicType\n) as map(*)","Archive_Functions#archive:options"),qp("archive:refresh","($path, $entries, $contents)","archive:refresh(\n  $path as xs:string,\n  $entries as item()*,\n  $contents as item()*\n) as empty-sequence()","Archive_Functions#archive:refresh"),qp("archive:update","($archive, $entries, $contents)","archive:update(\n  $archive as xs:anyAtomicType,\n  $entries as item()*,\n  $contents as item()*\n) as xs:base64Binary","Archive_Functions#archive:update"),qp("archive:write","($path, $entries, $contents, $options)","archive:write(\n  $path as xs:string,\n  $entries as item()*,\n  $contents as item()*,\n  $options as map(*)?\n) as empty-sequence()","Archive_Functions#archive:write"),qp("bin:and","($value1, $value2)","bin:and(\n  $value1 as xs:binary?,\n  $value2 as xs:binary?\n) as xs:base64Binary?","Binary_Functions#bin:and"),qp("bin:bin","($value)","bin:bin(\n  $value as xs:string?\n) as xs:base64Binary?","Binary_Functions#bin:bin"),qp("bin:count-bits-set","($value)","bin:count-bits-set(\n  $value as xs:binary?\n) as xs:integer?","Binary_Functions#bin:count-bits-set"),qp("bin:decode-string","($value, $encoding, $offset, $size)","bin:decode-string(\n  $value as xs:binary?,\n  $encoding as xs:string?,\n  $offset as xs:integer? := (),\n  $size as xs:integer? := ()\n) as xs:string?","Binary_Functions#bin:decode-string"),qp("bin:encode-string","($value, $encoding)","bin:encode-string(\n  $value as xs:string?,\n  $encoding as xs:string?\n) as xs:base64Binary?","Binary_Functions#bin:encode-string"),qp("bin:find","($value, $offset, $search)","bin:find(\n  $value as xs:binary?,\n  $offset as xs:integer,\n  $search as xs:base64Binary\n) as xs:integer?","Binary_Functions#bin:find"),qp("bin:from-base64url","($value)","bin:from-base64url(\n  $value as xs:string?\n) as xs:base64Binary?","Binary_Functions#bin:from-base64url"),qp("bin:from-octets","($values)","bin:from-octets(\n  $values as xs:integer*\n) as xs:base64Binary","Binary_Functions#bin:from-octets"),qp("bin:hex","($value)","bin:hex(\n  $value as xs:string?\n) as xs:base64Binary?","Binary_Functions#bin:hex"),qp("bin:infer-encoding","($value, $encoding)","bin:infer-encoding(\n  $value as xs:binary,\n  $encoding as xs:string?\n) as bin:infer-encoding-record","Binary_Functions#bin:infer-encoding"),qp("bin:insert-before","($value, $offset, $extra)","bin:insert-before(\n  $value as xs:binary?,\n  $offset as xs:integer,\n  $extra as xs:binary?\n) as xs:base64Binary?","Binary_Functions#bin:insert-before"),qp("bin:is-bit-set","($value, $index)","bin:is-bit-set(\n  $value as xs:binary?,\n  $index as xs:integer\n) as xs:boolean?","Binary_Functions#bin:is-bit-set"),qp("bin:join","($values)","bin:join(\n  $values as xs:binary*\n) as xs:base64Binary","Binary_Functions#bin:join"),qp("bin:length","($value)","bin:length(\n  $value as xs:binary\n) as xs:integer","Binary_Functions#bin:length"),qp("bin:not","($value)","bin:not(\n  $value as xs:binary?\n) as xs:base64Binary?","Binary_Functions#bin:not"),qp("bin:octal","($value)","bin:octal(\n  $value as xs:string?\n) as xs:base64Binary?","Binary_Functions#bin:octal"),qp("bin:or","($value1, $value2)","bin:or(\n  $value1 as xs:binary?,\n  $value2 as xs:binary?\n) as xs:base64Binary?","Binary_Functions#bin:or"),qp("bin:pack-double","($value, $order)","bin:pack-double(\n  $value as xs:double,\n  $order as xs:string?\n) as xs:base64Binary","Binary_Functions#bin:pack-double"),qp("bin:pack-float","($value, $order)","bin:pack-float(\n  $value as xs:float,\n  $order as xs:string?\n) as xs:base64Binary","Binary_Functions#bin:pack-float"),qp("bin:pack-integer","($value, $size, $order)","bin:pack-integer(\n  $value as xs:integer,\n  $size as xs:integer,\n  $order as xs:string?\n) as xs:base64Binary","Binary_Functions#bin:pack-integer"),qp("bin:pad-left","($value, $size, $octet)","bin:pad-left(\n  $value as xs:binary?,\n  $size as xs:integer,\n  $octet as xs:integer?\n) as xs:base64Binary?","Binary_Functions#bin:pad-left"),qp("bin:pad-right","($value, $size, $octet)","bin:pad-right(\n  $value as xs:binary?,\n  $size as xs:integer,\n  $octet as xs:integer?\n) as xs:base64Binary?","Binary_Functions#bin:pad-right"),qp("bin:part","($value, $offset, $size)","bin:part(\n  $value as xs:binary?,\n  $offset as xs:integer,\n  $size as xs:integer?\n) as xs:base64Binary?","Binary_Functions#bin:part"),qp("bin:rotate","($value, $by)","bin:rotate(\n  $value as xs:binary?,\n  $by as xs:integer\n) as xs:base64Binary?","Binary_Functions#bin:rotate"),qp("bin:set-bits","($value, $indices, $set)","bin:set-bits(\n  $value as xs:binary?,\n  $indices as xs:integer*,\n  $set as xs:boolean\n) as xs:base64Binary?","Binary_Functions#bin:set-bits"),qp("bin:shift","($value, $by)","bin:shift(\n  $value as xs:binary?,\n  $by as xs:integer\n) as xs:base64Binary?","Binary_Functions#bin:shift"),qp("bin:to-base64url","($value)","bin:to-base64url(\n  $value as xs:binary?\n) as xs:string?","Binary_Functions#bin:to-base64url"),qp("bin:to-octets","($value)","bin:to-octets(\n  $value as xs:binary\n) as xs:integer*","Binary_Functions#bin:to-octets"),qp("bin:unpack-double","($value, $offset, $order)","bin:unpack-double(\n  $value as xs:binary,\n  $offset as xs:integer,\n  $order as xs:string?\n) as xs:double","Binary_Functions#bin:unpack-double"),qp("bin:unpack-float","($value, $offset, $order)","bin:unpack-float(\n  $value as xs:binary,\n  $offset as xs:integer,\n  $order as xs:string?\n) as xs:float","Binary_Functions#bin:unpack-float"),qp("bin:unpack-integer","($value, $offset, $size, $order)","bin:unpack-integer(\n  $value as xs:binary,\n  $offset as xs:integer,\n  $size as xs:integer,\n  $order as xs:string?\n) as xs:integer","Binary_Functions#bin:unpack-integer"),qp("bin:unpack-unsigned-integer","($value, $offset, $size, $order)","bin:unpack-unsigned-integer(\n  $value as xs:binary,\n  $offset as xs:integer,\n  $size as xs:integer,\n  $order as xs:string?\n) as xs:integer","Binary_Functions#bin:unpack-unsigned-integer"),qp("bin:xor","($value1, $value2)","bin:xor(\n  $value1 as xs:binary?,\n  $value2 as xs:binary?\n) as xs:base64Binary?","Binary_Functions#bin:xor"),qp("cache:clear","()","cache:clear() as empty-sequence()","Cache_Functions#cache:clear"),qp("cache:delete","($name)","cache:delete(\n  $name as xs:string?\n) as empty-sequence()","Cache_Functions#cache:delete"),qp("cache:get","($key, $name)","cache:get(\n  $key as xs:string,\n  $name as xs:string?\n) as item()*","Cache_Functions#cache:get"),qp("cache:get-or-put","($key, $put, $name)","cache:get-or-put(\n  $key as xs:string,\n  $put as fn() as item()*,\n  $name as xs:string?\n) as item()*","Cache_Functions#cache:get-or-put"),qp("cache:info","($name)","cache:info(\n  $name as xs:string?\n) as map(*)","Cache_Functions#cache:info"),qp("cache:init","($options, $name)","cache:init(\n  $options as map(*)?,\n  $name as xs:string? := ()\n) as empty-sequence()","Cache_Functions#cache:init"),qp("cache:keys","($name)","cache:keys(\n  $name as xs:string?\n) as xs:string*","Cache_Functions#cache:keys"),qp("cache:list","()","cache:list() as xs:string*","Cache_Functions#cache:list"),qp("cache:put","($key, $value, $name)","cache:put(\n  $key as xs:string,\n  $value as item()*,\n  $name as xs:string?\n) as empty-sequence()","Cache_Functions#cache:put"),qp("cache:remove","($key, $name)","cache:remove(\n  $key as xs:string,\n  $name as xs:string?\n) as empty-sequence()","Cache_Functions#cache:remove"),qp("cache:size","($name)","cache:size(\n  $name as xs:string?\n) as xs:integer","Cache_Functions#cache:size"),qp("client:close","($id)","client:close(\n  $id as xs:anyURI\n) as empty-sequence()","Client_Functions#client:close"),qp("client:connect","($host, $port, $username, $password)","client:connect(\n  $host as xs:string,\n  $port as xs:integer,\n  $username as xs:string,\n  $password as xs:string\n) as xs:anyURI","Client_Functions#client:connect"),qp("client:execute","($id, $command)","client:execute(\n  $id as xs:anyURI,\n  $command as xs:string\n) as xs:string","Client_Functions#client:execute"),qp("client:info","($id)","client:info(\n  $id as xs:anyURI\n) as xs:string","Client_Functions#client:info"),qp("client:query","($id, $query, $bindings)","client:query(\n  $id as xs:anyURI,\n  $query as xs:string,\n  $bindings as map(*)?\n) as item()*","Client_Functions#client:query"),qp("convert:binary-to-bytes","($value)","convert:binary-to-bytes(\n  $value as xs:binary\n) as xs:byte*","Conversion_Functions#convert:binary-to-bytes"),qp("convert:binary-to-integers","($value)","convert:binary-to-integers(\n  $value as xs:binary\n) as xs:integer*","Conversion_Functions#convert:binary-to-integers"),qp("convert:dateTime-to-integer","($value)","convert:dateTime-to-integer(\n  $value as xs:dateTime\n) as xs:integer","Conversion_Functions#convert:datetime-to-integer"),qp("convert:decode-key","($key, $lax)","convert:decode-key(\n  $key as xs:string,\n  $lax as xs:boolean?\n) as xs:string","Conversion_Functions#convert:decode-key"),qp("convert:encode-key","($key, $lax)","convert:encode-key(\n  $key as xs:string,\n  $lax as xs:boolean?\n) as xs:string","Conversion_Functions#convert:encode-key"),qp("convert:integer-from-base","($value, $base)","convert:integer-from-base(\n  $value as xs:string,\n  $base as xs:integer\n) as xs:integer","Conversion_Functions#convert:integer-from-base"),qp("convert:integers-to-base64","($input)","convert:integers-to-base64(\n  $input as xs:integer*\n) as xs:base64Binary","Conversion_Functions#convert:integers-to-base64"),qp("convert:integers-to-hex","($input)","convert:integers-to-hex(\n  $input as xs:integer*\n) as xs:hexBinary","Conversion_Functions#convert:integers-to-hex"),qp("convert:integer-to-base","($value, $base)","convert:integer-to-base(\n  $value as xs:integer,\n  $base as xs:integer\n) as xs:string","Conversion_Functions#convert:integer-to-base"),qp("convert:integer-to-dateTime","($value)","convert:integer-to-dateTime(\n  $value as xs:integer\n) as xs:dateTimeStamp","Conversion_Functions#convert:integer-to-datetime"),qp("crypto:decrypt","($value, $type, $key, $algorithm)","crypto:decrypt(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary),\n  $type as xs:string,\n  $key as (xs:string|xs:hexBinary|xs:base64Binary),\n  $algorithm as xs:string\n) as xs:string","Cryptographic_Functions#crypto:decrypt"),qp("crypto:encrypt","($value, $type, $key, $algorithm)","crypto:encrypt(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary),\n  $type as xs:string,\n  $key as (xs:string|xs:hexBinary|xs:base64Binary),\n  $algorithm as xs:string\n) as xs:base64Binary","Cryptographic_Functions#crypto:encrypt"),qp("crypto:generate-signature","($node, $canonicalization, $digest, $signature, $prefix, $type, $ext1, $ext2)","crypto:generate-signature(\n  $node as xnode(),\n  $canonicalization as xs:string,\n  $digest as xs:string,\n  $signature as xs:string,\n  $prefix as xs:string,\n  $type as xs:string,\n  $ext1 as item()?,\n  $ext2 as xnode()? := ()\n) as document-node()","Cryptographic_Functions#crypto:generate-signature"),qp("crypto:hmac","($value, $key, $algorithm, $encoding)","crypto:hmac(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary),\n  $key as (xs:string|xs:hexBinary|xs:base64Binary),\n  $algorithm as xs:string,\n  $encoding as xs:string?\n) as xs:string","Cryptographic_Functions#crypto:hmac"),qp("crypto:pbkdf2","($password, $salt, $iterations, $length, $algorithm)","crypto:pbkdf2(\n  $password as xs:string,\n  $salt as (xs:string|xs:hexBinary|xs:base64Binary),\n  $iterations as xs:integer,\n  $length as xs:integer,\n  $algorithm as xs:string?\n) as xs:hexBinary","Cryptographic_Functions#crypto:pbkdf2"),qp("crypto:validate-signature","($node)","crypto:validate-signature(\n  $node as xnode()\n) as xs:boolean","Cryptographic_Functions#crypto:validate-signature"),qp("csv:doc","($source, $options)","csv:doc(\n  $source as xs:string?,\n  $options as map(*)?\n) as item()?","CSV_Functions#csv:doc"),qp("csv:parse","($value, $options)","csv:parse(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $options as map(*)?\n) as item()?","CSV_Functions#csv:parse"),qp("csv:serialize","($input, $options)","csv:serialize(\n  $input as item()?,\n  $options as item()?\n) as xs:string","CSV_Functions#csv:serialize"),qp("db:add","($database, $inputs, $paths, $options)",'db:add(\n  $database as xs:string,\n  $inputs as item()*,\n  $paths as (xs:string|map(xs:string, enum("xml", "binary", "value")))*,\n  $options as map(*)? := ()\n) as empty-sequence()',"Database_Functions#db:add"),qp("db:alter","($database, $newname)","db:alter(\n  $database as xs:string,\n  $newname as xs:string\n) as empty-sequence()","Database_Functions#db:alter"),qp("db:alter-backup","($name, $newname)","db:alter-backup(\n  $name as xs:string,\n  $newname as xs:string\n) as empty-sequence()","Database_Functions#db:alter-backup"),qp("db:attribute","($database, $values, $name)","db:attribute(\n  $database as xs:string,\n  $values as item()*,\n  $name as xs:string?\n) as attribute()*","Database_Functions#db:attribute"),qp("db:attribute-range","($database, $min, $max, $name)","db:attribute-range(\n  $database as xs:string,\n  $min as item(),\n  $max as item(),\n  $name as xs:string?\n) as attribute()*","Database_Functions#db:attribute-range"),qp("db:backups","($database)","db:backups(\n  $database as xs:string?\n) as element()*","Database_Functions#db:backups"),qp("db:content-type","($database, $path)","db:content-type(\n  $database as xs:string,\n  $path as xs:string\n) as xs:string","Database_Functions#db:content-type"),qp("db:copy","($database, $newname)","db:copy(\n  $database as xs:string,\n  $newname as xs:string\n) as empty-sequence()","Database_Functions#db:copy"),qp("db:counts","($nodes, $values, $options)","db:counts(\n  $nodes as node()*,\n  $values as fn(node()) as xs:anyAtomicType*,\n  $options as map(*)?\n) as map(xs:anyAtomicType, xs:integer)","Database_Functions#db:counts"),qp("db:create","($database, $inputs, $paths, $options)",'db:create(\n  $database as xs:string,\n  $inputs as item()*,\n  $paths as (xs:string|map(xs:string, enum("xml", "binary", "value")))* := (),\n  $options as map(*)? := ()\n) as empty-sequence()',"Database_Functions#db:create"),qp("db:create-backup","($database, $options)","db:create-backup(\n  $database as xs:string?,\n  $options as map(*)? := ()\n) as empty-sequence()","Database_Functions#db:create-backup"),qp("db:delete","($database, $path)","db:delete(\n  $database as xs:string,\n  $path as xs:string\n) as empty-sequence()","Database_Functions#db:delete"),qp("db:dir","($database, $path)","db:dir(\n  $database as xs:string,\n  $path as xs:string\n) as element()*","Database_Functions#db:dir"),qp("db:drop","($database)","db:drop(\n  $database as item()\n) as empty-sequence()","Database_Functions#db:drop"),qp("db:drop-backup","($name)","db:drop-backup(\n  $name as xs:string?\n) as empty-sequence()","Database_Functions#db:drop-backup"),qp("db:exists","($database, $path)","db:exists(\n  $database as xs:string,\n  $path as xs:string?\n) as xs:boolean","Database_Functions#db:exists"),qp("db:export","($database, $path, $options)","db:export(\n  $database as xs:string,\n  $path as xs:string,\n  $options as item()?\n) as empty-sequence()","Database_Functions#db:export"),qp("db:flush","($database)","db:flush(\n  $database as item()\n) as empty-sequence()","Database_Functions#db:flush"),qp("db:get","($database, $path)","db:get(\n  $database as xs:string,\n  $path as xs:string?\n) as document-node()*","Database_Functions#db:get"),qp("db:get-binary","($database, $path)","db:get-binary(\n  $database as xs:string,\n  $path as xs:string?\n) as item()","Database_Functions#db:get-binary"),qp("db:get-id","($database, $values)","db:get-id(\n  $database as xs:string,\n  $values as xs:integer*\n) as xnode()*","Database_Functions#db:get-id"),qp("db:get-pre","($database, $values)","db:get-pre(\n  $database as xs:string,\n  $values as xs:integer*\n) as xnode()*","Database_Functions#db:get-pre"),qp("db:get-value","($database, $path)","db:get-value(\n  $database as xs:string,\n  $path as xs:string?\n) as item()*","Database_Functions#db:get-value"),qp("db:info","($database)","db:info(\n  $database as xs:string\n) as element()","Database_Functions#db:info"),qp("db:inspect","($database)","db:inspect(\n  $database as xs:string\n) as db:inspection-result-record","Database_Functions#db:inspect"),qp("db:list","($database, $path)","db:list(\n  $database as xs:string?,\n  $path as xs:string? := ()\n) as xs:string*","Database_Functions#db:list"),qp("db:list-details","($database, $path)","db:list-details(\n  $database as xs:string?,\n  $path as xs:string? := ()\n) as element()*","Database_Functions#db:list-details"),qp("db:name","($node)","db:name(\n  $node as xnode()\n) as xs:string","Database_Functions#db:name"),qp("db:node-id","($nodes)","db:node-id(\n  $nodes as xnode()*\n) as xs:integer*","Database_Functions#db:node-id"),qp("db:node-pre","($nodes)","db:node-pre(\n  $nodes as xnode()*\n) as xs:integer*","Database_Functions#db:node-pre"),qp("db:optimize","($database, $all, $options)","db:optimize(\n  $database as xs:string,\n  $all as xs:boolean?,\n  $options as map(*)? := ()\n) as empty-sequence()","Database_Functions#db:optimize"),qp("db:option","($key)","db:option(\n  $key as xs:string\n) as item()","Database_Functions#db:option"),qp("db:option-map","()","db:option-map() as map(*)","Database_Functions#db:option-map"),qp("db:path","($node)","db:path(\n  $node as xnode()\n) as xs:string","Database_Functions#db:path"),qp("db:property","($database, $key)","db:property(\n  $database as xs:string,\n  $key as xs:string\n) as xs:anyAtomicType","Database_Functions#db:property"),qp("db:property-map","($database)","db:property-map(\n  $database as xs:string\n) as map(*)","Database_Functions#db:property-map"),qp("db:put","($database, $input, $path, $options)","db:put(\n  $database as xs:string,\n  $input as (xnode()|xs:string|xs:hexBinary|xs:base64Binary),\n  $path as xs:string,\n  $options as map(*)?\n) as empty-sequence()","Database_Functions#db:put"),qp("db:put-binary","($database, $input, $path, $options)","db:put-binary(\n  $database as xs:string,\n  $input as (xs:string|xs:hexBinary|xs:base64Binary),\n  $path as xs:string,\n  $options as map(*)?\n) as empty-sequence()","Database_Functions#db:put-binary"),qp("db:put-value","($database, $input, $path, $options)","db:put-value(\n  $database as xs:string,\n  $input as item()*,\n  $path as xs:string,\n  $options as map(*)?\n) as empty-sequence()","Database_Functions#db:put-value"),qp("db:rename","($database, $source, $target)","db:rename(\n  $database as xs:string,\n  $source as xs:string,\n  $target as xs:string\n) as empty-sequence()","Database_Functions#db:rename"),qp("db:restore","($name)","db:restore(\n  $name as xs:string?\n) as empty-sequence()","Database_Functions#db:restore"),qp("db:system","()","db:system() as element()","Database_Functions#db:system"),qp("db:text","($database, $values)","db:text(\n  $database as xs:string,\n  $values as item()*\n) as text()*","Database_Functions#db:text"),qp("db:text-range","($database, $min, $max)","db:text-range(\n  $database as xs:string,\n  $min as item(),\n  $max as item()\n) as text()*","Database_Functions#db:text-range"),qp("db:token","($database, $tokens, $name)","db:token(\n  $database as xs:string,\n  $tokens as item()*,\n  $name as xs:string?\n) as attribute()*","Database_Functions#db:token"),qp("db:type","($database, $path)","db:type(\n  $database as xs:string,\n  $path as xs:string\n) as xs:string","Database_Functions#db:type"),qp("fetch:binary","($source)","fetch:binary(\n  $source as xs:string\n) as xs:base64Binary","Fetch_Functions#fetch:binary"),qp("fetch:binary-doc","($source, $options)","fetch:binary-doc(\n  $source as xs:binary,\n  $options as map(*)?\n) as document-node()","Fetch_Functions#fetch:binary-doc"),qp("fetch:content-type","($source)","fetch:content-type(\n  $source as xs:string\n) as xs:string","Fetch_Functions#fetch:content-type"),qp("fetch:doc","($source, $options)","fetch:doc(\n  $source as xs:string,\n  $options as map(*)?\n) as document-node()","Fetch_Functions#fetch:doc"),qp("fetch:text","($source, $encoding, $fallback)","fetch:text(\n  $source as xs:string,\n  $encoding as xs:string?,\n  $fallback as xs:boolean? := ()\n) as xs:string","Fetch_Functions#fetch:text"),qp("file:append","($file, $input, $options)","file:append(\n  $file as xs:string,\n  $input as item()*,\n  $options as item()?\n) as empty-sequence()","File_Functions#file:append"),qp("file:append-binary","($file, $value)","file:append-binary(\n  $file as xs:string,\n  $value as xs:binary\n) as empty-sequence()","File_Functions#file:append-binary"),qp("file:append-text","($file, $value, $encoding)","file:append-text(\n  $file as xs:string,\n  $value as xs:string,\n  $encoding as xs:string?\n) as empty-sequence()","File_Functions#file:append-text"),qp("file:append-text-lines","($file, $values, $encoding)","file:append-text-lines(\n  $file as xs:string,\n  $values as xs:string*,\n  $encoding as xs:string?\n) as empty-sequence()","File_Functions#file:append-text-lines"),qp("file:base-dir","()","file:base-dir() as xs:string?","File_Functions#file:base-dir"),qp("file:children","($dir)","file:children(\n  $dir as xs:string\n) as xs:string*","File_Functions#file:children"),qp("file:copy","($source, $target)","file:copy(\n  $source as xs:string,\n  $target as xs:string\n) as empty-sequence()","File_Functions#file:copy"),qp("file:create-dir","($dir)","file:create-dir(\n  $dir as xs:string\n) as empty-sequence()","File_Functions#file:create-dir"),qp("file:create-temp-dir","($prefix, $suffix, $dir)","file:create-temp-dir(\n  $prefix as xs:string?,\n  $suffix as xs:string? := (),\n  $dir as xs:string? := ()\n) as xs:string","File_Functions#file:create-temp-dir"),qp("file:create-temp-file","($prefix, $suffix, $dir)","file:create-temp-file(\n  $prefix as xs:string?,\n  $suffix as xs:string? := (),\n  $dir as xs:string? := ()\n) as xs:string","File_Functions#file:create-temp-file"),qp("file:current-dir","()","file:current-dir() as xs:string","File_Functions#file:current-dir"),qp("file:delete","($path, $recursive)","file:delete(\n  $path as xs:string,\n  $recursive as xs:boolean?\n) as empty-sequence()","File_Functions#file:delete"),qp("file:descendants","($dir, $options)","file:descendants(\n  $dir as xs:string,\n  $options as map(*)?\n) as xs:string*","File_Functions#file:descendants"),qp("file:dir-separator","()","file:dir-separator() as xs:string","File_Functions#file:dir-separator"),qp("file:exists","($path)","file:exists(\n  $path as xs:string\n) as xs:boolean","File_Functions#file:exists"),qp("file:is-absolute","($path)","file:is-absolute(\n  $path as xs:string\n) as xs:boolean","File_Functions#file:is-absolute"),qp("file:is-dir","($path)","file:is-dir(\n  $path as xs:string\n) as xs:boolean","File_Functions#file:is-dir"),qp("file:is-file","($path)","file:is-file(\n  $path as xs:string\n) as xs:boolean","File_Functions#file:is-file"),qp("file:last-modified","($path)","file:last-modified(\n  $path as xs:string\n) as xs:dateTimeStamp","File_Functions#file:last-modified"),qp("file:line-separator","()","file:line-separator() as xs:string","File_Functions#file:line-separator"),qp("file:list","($dir, $recursive, $pattern)","file:list(\n  $dir as xs:string,\n  $recursive as xs:boolean?,\n  $pattern as xs:string? := ()\n) as xs:string*","File_Functions#file:list"),qp("file:list-roots","()","file:list-roots() as xs:string*","File_Functions#file:list-roots"),qp("file:move","($source, $target)","file:move(\n  $source as xs:string,\n  $target as xs:string\n) as empty-sequence()","File_Functions#file:move"),qp("file:name","($path)","file:name(\n  $path as xs:string\n) as xs:string","File_Functions#file:name"),qp("file:parent","($path)","file:parent(\n  $path as xs:string\n) as xs:string?","File_Functions#file:parent"),qp("file:path-separator","()","file:path-separator() as xs:string","File_Functions#file:path-separator"),qp("file:path-to-native","($path)","file:path-to-native(\n  $path as xs:string\n) as xs:string","File_Functions#file:path-to-native"),qp("file:path-to-uri","($path)","file:path-to-uri(\n  $path as xs:string\n) as xs:anyURI","File_Functions#file:path-to-uri"),qp("file:read-binary","($file, $offset, $length)","file:read-binary(\n  $file as xs:string,\n  $offset as xs:integer?,\n  $length as xs:integer? := ()\n) as xs:base64Binary","File_Functions#file:read-binary"),qp("file:read-text","($file, $options, $fallback)","file:read-text(\n  $file as xs:string,\n  $options as item()?,\n  $fallback as xs:boolean? := ()\n) as xs:string","File_Functions#file:read-text"),qp("file:read-text-lines","($file, $options, $fallback, $offset, $length)","file:read-text-lines(\n  $file as xs:string,\n  $options as item()?,\n  $fallback as xs:boolean? := (),\n  $offset as xs:integer? := (),\n  $length as xs:integer? := ()\n) as xs:string*","File_Functions#file:read-text-lines"),qp("file:resolve-path","($path, $base)","file:resolve-path(\n  $path as xs:string,\n  $base as xs:string?\n) as xs:string","File_Functions#file:resolve-path"),qp("file:size","($path, $recursive)","file:size(\n  $path as xs:string,\n  $recursive as xs:boolean?\n) as xs:integer","File_Functions#file:size"),qp("file:temp-dir","()","file:temp-dir() as xs:string","File_Functions#file:temp-dir"),qp("file:write","($file, $input, $options)","file:write(\n  $file as xs:string,\n  $input as item()*,\n  $options as item()?\n) as empty-sequence()","File_Functions#file:write"),qp("file:write-binary","($file, $value, $offset)","file:write-binary(\n  $file as xs:string,\n  $value as xs:binary,\n  $offset as xs:integer?\n) as empty-sequence()","File_Functions#file:write-binary"),qp("file:write-text","($file, $value, $encoding)","file:write-text(\n  $file as xs:string,\n  $value as xs:string,\n  $encoding as xs:string?\n) as empty-sequence()","File_Functions#file:write-text"),qp("file:write-text-lines","($file, $values, $encoding)","file:write-text-lines(\n  $file as xs:string,\n  $values as xs:string*,\n  $encoding as xs:string?\n) as empty-sequence()","File_Functions#file:write-text-lines"),qp("ft:contains","($input, $terms, $options)","ft:contains(\n  $input as item()*,\n  $terms as item()*,\n  $options as map(*)?\n) as xs:boolean","Full-Text_Functions#ft:contains"),qp("ft:count","($nodes)","ft:count(\n  $nodes as xnode()*\n) as xs:integer","Full-Text_Functions#ft:count"),qp("ft:extract","($nodes, $name, $length)","ft:extract(\n  $nodes as xnode()*,\n  $name as xs:string?,\n  $length as xs:integer? := ()\n) as xnode()*","Full-Text_Functions#ft:extract"),qp("ft:languages","()","ft:languages() as ft:language-record*","Full-Text_Functions#ft:languages"),qp("ft:mark","($nodes, $name)","ft:mark(\n  $nodes as xnode()*,\n  $name as xs:string?\n) as xnode()*","Full-Text_Functions#ft:mark"),qp("ft:normalize","($value, $options)","ft:normalize(\n  $value as xs:string?,\n  $options as map(*)?\n) as xs:string","Full-Text_Functions#ft:normalize"),qp("ft:score","($input)","ft:score(\n  $input as item()*\n) as xs:double*","Full-Text_Functions#ft:score"),qp("ft:search","($database, $terms, $options)","ft:search(\n  $database as xs:string,\n  $terms as item()*,\n  $options as map(*)?\n) as xnode()*","Full-Text_Functions#ft:search"),qp("ft:thesaurus","($node, $term, $options)","ft:thesaurus(\n  $node as xnode(),\n  $term as xs:string,\n  $options as map(*)?\n) as xs:string*","Full-Text_Functions#ft:thesaurus"),qp("ft:tokenize","($value, $options)","ft:tokenize(\n  $value as xs:string?,\n  $options as map(*)?\n) as xs:string*","Full-Text_Functions#ft:tokenize"),qp("ft:tokens","($database, $prefix, $options)","ft:tokens(\n  $database as xs:string,\n  $prefix as xs:string?,\n  $options as map(*)? := ()\n) as element()*","Full-Text_Functions#ft:tokens"),qp("html:doc","($source, $options)","html:doc(\n  $source as xs:string?,\n  $options as map(*)?\n) as document-node()?","HTML_Functions#html:doc"),qp("html:parse","($value, $options)","html:parse(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $options as map(*)?\n) as document-node()?","HTML_Functions#html:parse"),qp("html:parser","()","html:parser() as xs:string","HTML_Functions#html:parser"),qp("http:delete","($href, $options)","http:delete(\n  $href as xs:string,\n  $options as map(*)?\n) as http:response-record","HTTP_Client_Functions#http:delete"),qp("http:get","($href, $options)","http:get(\n  $href as xs:string,\n  $options as map(*)?\n) as http:response-record","HTTP_Client_Functions#http:get"),qp("http:head","($href, $options)","http:head(\n  $href as xs:string,\n  $options as map(*)?\n) as http:response-record","HTTP_Client_Functions#http:head"),qp("http:options","($href, $options)","http:options(\n  $href as xs:string,\n  $options as map(*)?\n) as http:response-record","HTTP_Client_Functions#http:options"),qp("http:patch","($href, $body, $options)","http:patch(\n  $href as xs:string,\n  $body as item()*,\n  $options as map(*)? := ()\n) as http:response-record","HTTP_Client_Functions#http:patch"),qp("http:post","($href, $body, $options)","http:post(\n  $href as xs:string,\n  $body as item()*,\n  $options as map(*)? := ()\n) as http:response-record","HTTP_Client_Functions#http:post"),qp("http:put","($href, $body, $options)","http:put(\n  $href as xs:string,\n  $body as item()*,\n  $options as map(*)? := ()\n) as http:response-record","HTTP_Client_Functions#http:put"),qp("http:query","($href, $body, $options)","http:query(\n  $href as xs:string,\n  $body as item()*,\n  $options as map(*)? := ()\n) as http:response-record","HTTP_Client_Functions#http:query"),qp("http:send","($href, $method, $body, $options)","http:send(\n  $href as xs:string,\n  $method as xs:string,\n  $body as item()*,\n  $options as map(*)? := ()\n) as http:response-record","HTTP_Client_Functions#http:send"),qp("http:send-request","($request, $href, $bodies)","http:send-request(\n  $request as xnode()?,\n  $href as xs:string?,\n  $bodies as item()* := ()\n) as item()+","HTTP_Client_Functions#http:send-request"),qp("index:attribute-names","($database)","index:attribute-names(\n  $database as xs:string\n) as element()*","Index_Functions#index:attribute-names"),qp("index:attributes","($database, $prefix, $ascending)","index:attributes(\n  $database as xs:string,\n  $prefix as xs:string?,\n  $ascending as xs:boolean? := ()\n) as element()*","Index_Functions#index:attributes"),qp("index:element-names","($database)","index:element-names(\n  $database as xs:string\n) as element()*","Index_Functions#index:element-names"),qp("index:facets","($database, $type)","index:facets(\n  $database as xs:string,\n  $type as xs:string?\n) as document-node()","Index_Functions#index:facets"),qp("index:texts","($database, $prefix, $ascending)","index:texts(\n  $database as xs:string,\n  $prefix as xs:string?,\n  $ascending as xs:boolean? := ()\n) as element()*","Index_Functions#index:texts"),qp("index:tokens","($database)","index:tokens(\n  $database as xs:string\n) as element()*","Index_Functions#index:tokens"),qp("inspect:context","()","inspect:context() as element()","Inspection_Functions#inspect:context"),qp("inspect:function","($function)","inspect:function(\n  $function as fn(*)\n) as element()","Inspection_Functions#inspect:function"),qp("inspect:functions","($source)","inspect:functions(\n  $source as xs:string?\n) as (fn(*))*","Inspection_Functions#inspect:functions"),qp("inspect:module","($source)","inspect:module(\n  $source as xs:string\n) as element()","Inspection_Functions#inspect:module"),qp("inspect:static-context","($function, $key)","inspect:static-context(\n  $function as (fn(*))?,\n  $key as xs:string\n) as item()*","Inspection_Functions#inspect:static-context"),qp("inspect:type","($input, $options)","inspect:type(\n  $input as item()*,\n  $options as map(*)?\n) as xs:string","Inspection_Functions#inspect:type"),qp("inspect:xqdoc","($source)","inspect:xqdoc(\n  $source as xs:string\n) as element()","Inspection_Functions#inspect:xqdoc"),qp("job:bindings","($id)","job:bindings(\n  $id as xs:string\n) as map(*)","Job_Functions#job:bindings"),qp("job:current","()","job:current() as xs:string","Job_Functions#job:current"),qp("job:eval","($query, $bindings, $options)","job:eval(\n  $query as (xs:anyAtomicType|fn(*)),\n  $bindings as (map(*)|array(*))?,\n  $options as map(*)? := ()\n) as xs:string","Job_Functions#job:eval"),qp("job:execute","($query, $bindings)","job:execute(\n  $query as (xs:anyAtomicType|fn(*)),\n  $bindings as (map(*)|array(*))?\n) as item()*","Job_Functions#job:execute"),qp("job:finished","($id)","job:finished(\n  $id as xs:string\n) as xs:boolean","Job_Functions#job:finished"),qp("job:info","($id)","job:info(\n  $id as xs:string\n) as map(*)?","Job_Functions#job:info"),qp("job:list","()","job:list() as xs:string*","Job_Functions#job:list"),qp("job:list-details","($id)","job:list-details(\n  $id as xs:string?\n) as element()*","Job_Functions#job:list-details"),qp("job:next","($cron, $count)","job:next(\n  $cron as xs:string,\n  $count as xs:integer?\n) as xs:dateTime*","Job_Functions#job:next"),qp("job:remove","($id, $options)","job:remove(\n  $id as xs:string,\n  $options as map(*)?\n) as empty-sequence()","Job_Functions#job:remove"),qp("job:result","($id, $options)","job:result(\n  $id as xs:string,\n  $options as map(*)?\n) as item()*","Job_Functions#job:result"),qp("job:services","()","job:services() as element()*","Job_Functions#job:services"),qp("job:wait","($id)","job:wait(\n  $id as xs:string\n) as empty-sequence()","Job_Functions#job:wait"),qp("json:doc","($source, $options)","json:doc(\n  $source as xs:string,\n  $options as map(*)?\n) as item()*","JSON_Functions#json:doc"),qp("json:parse","($value, $options)","json:parse(\n  $value as (xs:string|xs:hexBinary|xs:base64Binary)?,\n  $options as map(*)?\n) as item()*","JSON_Functions#json:parse"),qp("json:serialize","($input, $options)","json:serialize(\n  $input as item()?,\n  $options as map(*)?\n) as xs:string","JSON_Functions#json:serialize"),qp("lazy:cache","($input, $lazy)","lazy:cache(\n  $input as item()*,\n  $lazy as xs:boolean?\n) as item()*","Lazy_Functions#lazy:cache"),qp("lazy:is-cached","($value)","lazy:is-cached(\n  $value as item()\n) as xs:boolean","Lazy_Functions#lazy:is-cached"),qp("lazy:is-lazy","($value)","lazy:is-lazy(\n  $value as item()\n) as xs:boolean","Lazy_Functions#lazy:is-lazy"),qp("proc:execute","($command, $arguments, $options)","proc:execute(\n  $command as xs:string,\n  $arguments as xs:string*,\n  $options as map(*)? := ()\n) as element()","Process_Functions#proc:execute"),qp("proc:fork","($command, $arguments, $options)","proc:fork(\n  $command as xs:string,\n  $arguments as xs:string*,\n  $options as map(*)? := ()\n) as empty-sequence()","Process_Functions#proc:fork"),qp("proc:property","($name)","proc:property(\n  $name as xs:string\n) as xs:string?","Process_Functions#proc:property"),qp("proc:property-map","()","proc:property-map() as map(*)","Process_Functions#proc:property-map"),qp("proc:property-names","()","proc:property-names() as xs:string*","Process_Functions#proc:property-names"),qp("proc:system","($command, $arguments, $options)","proc:system(\n  $command as xs:string,\n  $arguments as xs:string*,\n  $options as map(*)? := ()\n) as (xs:string|xs:base64Binary)","Process_Functions#proc:system"),qp("prof:current-ms","()","prof:current-ms() as xs:integer","Profiling_Functions#prof:current-ms"),qp("prof:current-ns","()","prof:current-ns() as xs:integer","Profiling_Functions#prof:current-ns"),qp("prof:gc","($count)","prof:gc(\n  $count as xs:integer?\n) as empty-sequence()","Profiling_Functions#prof:gc"),qp("prof:human","($value)","prof:human(\n  $value as xs:anyAtomicType\n) as xs:string","Profiling_Functions#prof:human"),qp("prof:memory","($input, $label, $aggregate)","prof:memory(\n  $input as item()*,\n  $label as xs:string?,\n  $aggregate as xs:boolean? := ()\n) as item()*","Profiling_Functions#prof:memory"),qp("prof:runtime","($option)",'prof:runtime(\n  $option as enum("used", "total", "max", "processors")?\n) as item()',"Profiling_Functions#prof:runtime"),qp("prof:shrink","($input)","prof:shrink(\n  $input as item()*\n) as item()*","Profiling_Functions#prof:shrink"),qp("prof:sleep","($ms)","prof:sleep(\n  $ms as xs:integer\n) as empty-sequence()","Profiling_Functions#prof:sleep"),qp("prof:time","($input, $label, $aggregate)","prof:time(\n  $input as item()*,\n  $label as xs:string?,\n  $aggregate as xs:boolean? := ()\n) as item()*","Profiling_Functions#prof:time"),qp("prof:track","($input, $options)","prof:track(\n  $input as item()*,\n  $options as map(*)?\n) as map(*)","Profiling_Functions#prof:track"),qp("prof:type","($input, $label)","prof:type(\n  $input as item()*,\n  $label as xs:string?\n) as item()*","Profiling_Functions#prof:type"),qp("prof:variables","($bindings, $label)","prof:variables(\n  $bindings as map(*)*,\n  $label as xs:string? := ()\n) as empty-sequence()","Profiling_Functions#prof:variables"),qp("random:double","()","random:double() as xs:double","Random_Functions#random:double"),qp("random:gaussian","($count)","random:gaussian(\n  $count as xs:integer\n) as xs:double*","Random_Functions#random:gaussian"),qp("random:integer","($max)","random:integer(\n  $max as xs:integer?\n) as xs:integer","Random_Functions#random:integer"),qp("random:seeded-double","($seed, $count)","random:seeded-double(\n  $seed as xs:integer,\n  $count as xs:integer\n) as xs:double*","Random_Functions#random:seeded-double"),qp("random:seeded-integer","($seed, $count, $max)","random:seeded-integer(\n  $seed as xs:integer,\n  $count as xs:integer,\n  $max as xs:integer?\n) as xs:integer*","Random_Functions#random:seeded-integer"),qp("random:seeded-permutation","($seed, $input)","random:seeded-permutation(\n  $seed as xs:integer,\n  $input as item()*\n) as item()*","Random_Functions#random:seeded-permutation"),qp("random:uuid","()","random:uuid() as xs:string","Random_Functions#random:uuid"),qp("repo:delete","($package)","repo:delete(\n  $package as xs:string\n) as empty-sequence()","Repository_Functions#repo:delete"),qp("repo:install","($source)","repo:install(\n  $source as xs:string\n) as empty-sequence()","Repository_Functions#repo:install"),qp("repo:list","()","repo:list() as element()*","Repository_Functions#repo:list"),qp("sql:close","($id)","sql:close(\n  $id as xs:anyURI\n) as empty-sequence()","SQL_Functions#sql:close"),qp("sql:commit","($id)","sql:commit(\n  $id as xs:anyURI\n) as empty-sequence()","SQL_Functions#sql:commit"),qp("sql:connect","($url, $username, $password, $options)","sql:connect(\n  $url as xs:string,\n  $username as xs:string?,\n  $password as xs:string? := (),\n  $options as map(*)? := ()\n) as xs:anyURI","SQL_Functions#sql:connect"),qp("sql:execute","($id, $statement, $options)","sql:execute(\n  $id as xs:anyURI,\n  $statement as xs:string,\n  $options as map(*)?\n) as item()*","SQL_Functions#sql:execute"),qp("sql:execute-batch","($id, $params, $options)","sql:execute-batch(\n  $id as xs:anyURI,\n  $params as item()*,\n  $options as map(*)? := ()\n) as xs:integer*","SQL_Functions#sql:execute-batch"),qp("sql:execute-prepared","($id, $params, $options)","sql:execute-prepared(\n  $id as xs:anyURI,\n  $params as item()?,\n  $options as map(*)? := ()\n) as item()*","SQL_Functions#sql:execute-prepared"),qp("sql:init","($class)","sql:init(\n  $class as xs:string\n) as empty-sequence()","SQL_Functions#sql:init"),qp("sql:prepare","($id, $statement, $options)","sql:prepare(\n  $id as xs:anyURI,\n  $statement as xs:string,\n  $options as map(*)?\n) as xs:anyURI","SQL_Functions#sql:prepare"),qp("sql:rollback","($id)","sql:rollback(\n  $id as xs:anyURI\n) as empty-sequence()","SQL_Functions#sql:rollback"),qp("store:clear","()","store:clear() as empty-sequence()","Store_Functions#store:clear"),qp("store:close","($name)","store:close(\n  $name as xs:string?\n) as empty-sequence()","Store_Functions#store:close"),qp("store:delete","($name)","store:delete(\n  $name as xs:string?\n) as empty-sequence()","Store_Functions#store:delete"),qp("store:get","($key, $name)","store:get(\n  $key as xs:string,\n  $name as xs:string?\n) as item()*","Store_Functions#store:get"),qp("store:get-or-put","($key, $put, $name)","store:get-or-put(\n  $key as xs:string,\n  $put as fn() as item()*,\n  $name as xs:string?\n) as item()*","Store_Functions#store:get-or-put"),qp("store:info","($name)","store:info(\n  $name as xs:string?\n) as map(*)","Store_Functions#store:info"),qp("store:keys","($name)","store:keys(\n  $name as xs:string?\n) as xs:string*","Store_Functions#store:keys"),qp("store:list","()","store:list() as xs:string*","Store_Functions#store:list"),qp("store:put","($key, $value, $name)","store:put(\n  $key as xs:string,\n  $value as item()*,\n  $name as xs:string?\n) as empty-sequence()","Store_Functions#store:put"),qp("store:read","($name)","store:read(\n  $name as xs:string?\n) as empty-sequence()","Store_Functions#store:read"),qp("store:remove","($key, $name)","store:remove(\n  $key as xs:string,\n  $name as xs:string?\n) as empty-sequence()","Store_Functions#store:remove"),qp("store:write","($name)","store:write(\n  $name as xs:string?\n) as empty-sequence()","Store_Functions#store:write"),qp("string:closest","($value, $candidates, $options)","string:closest(\n  $value as xs:string,\n  $candidates as xs:string*,\n  $options as map(*)?\n) as map(*)*","String_Functions#string:closest"),qp("string:cologne-phonetic","($value)","string:cologne-phonetic(\n  $value as xs:string\n) as xs:string","String_Functions#string:cologne-phonetic"),qp("string:jaro-winkler","($value1, $value2, $options)","string:jaro-winkler(\n  $value1 as xs:string,\n  $value2 as xs:string,\n  $options as map(*)?\n) as xs:double","String_Functions#string:jaro-winkler"),qp("string:levenshtein","($value1, $value2, $options)","string:levenshtein(\n  $value1 as xs:string,\n  $value2 as xs:string,\n  $options as map(*)?\n) as xs:double","String_Functions#string:levenshtein"),qp("string:levenshtein-distance","($value1, $value2, $options)","string:levenshtein-distance(\n  $value1 as xs:string,\n  $value2 as xs:string,\n  $options as map(*)?\n) as xs:integer?","String_Functions#string:levenshtein-distance"),qp("string:ngram-similarity","($value1, $value2, $options)","string:ngram-similarity(\n  $value1 as xs:string,\n  $value2 as xs:string,\n  $options as map(*)?\n) as xs:double","String_Functions#string:ngram-similarity"),qp("string:ngrams","($value, $options)","string:ngrams(\n  $value as xs:string,\n  $options as map(*)?\n) as xs:string*","String_Functions#string:ngrams"),qp("string:partial-ratio","($value1, $value2, $options)","string:partial-ratio(\n  $value1 as xs:string,\n  $value2 as xs:string,\n  $options as map(*)?\n) as xs:double","String_Functions#string:partial-ratio"),qp("string:soundex","($value)","string:soundex(\n  $value as xs:string\n) as xs:string","String_Functions#string:soundex"),qp("string:token-set-ratio","($value1, $value2, $options)","string:token-set-ratio(\n  $value1 as xs:string,\n  $value2 as xs:string,\n  $options as map(*)?\n) as xs:double","String_Functions#string:token-set-ratio"),qp("string:token-sort-ratio","($value1, $value2, $options)","string:token-sort-ratio(\n  $value1 as xs:string,\n  $value2 as xs:string,\n  $options as map(*)?\n) as xs:double","String_Functions#string:token-sort-ratio"),qp("unit:assert","($test, $info)","unit:assert(\n  $test as item()*,\n  $info as item()?\n) as empty-sequence()","Unit_Functions#unit:assert"),qp("unit:assert-equals","($returned, $expected, $info)","unit:assert-equals(\n  $returned as item()*,\n  $expected as item()*,\n  $info as item()?\n) as empty-sequence()","Unit_Functions#unit:assert-equals"),qp("unit:fail","($info)","unit:fail(\n  $info as item()?\n) as empty-sequence()","Unit_Functions#unit:fail"),qp("update:apply","($function, $arguments)","update:apply(\n  $function as fn(*),\n  $arguments as array(*)\n) as empty-sequence()","Update_Functions#update:apply"),qp("update:cache","($reset)","update:cache(\n  $reset as xs:boolean?\n) as item()*","Update_Functions#update:cache"),qp("update:for-each","($input, $action)","update:for-each(\n  $input as item()*,\n  $action as fn(item(), xs:integer) as item()*\n) as empty-sequence()","Update_Functions#update:for-each"),qp("update:for-each-pair","($input1, $input2, $action)","update:for-each-pair(\n  $input1 as item()*,\n  $input2 as item()*,\n  $action as fn(item(), item(), xs:integer) as item()*\n) as empty-sequence()","Update_Functions#update:for-each-pair"),qp("update:map-for-each","($map, $action)","update:map-for-each(\n  $map as map(*),\n  $action as fn(xs:anyAtomicType, item()*) as item()*\n) as empty-sequence()","Update_Functions#update:map-for-each"),qp("update:output","($input)","update:output(\n  $input as item()*\n) as empty-sequence()","Update_Functions#update:output"),qp("user:alter","($name, $newname)","user:alter(\n  $name as xs:string,\n  $newname as xs:string\n) as empty-sequence()","User_Functions#user:alter"),qp("user:check","($name, $password)","user:check(\n  $name as xs:string,\n  $password as xs:string\n) as empty-sequence()","User_Functions#user:check"),qp("user:create","($name, $password, $permissions, $patterns, $info)","user:create(\n  $name as xs:string,\n  $password as xs:string,\n  $permissions as xs:string*,\n  $patterns as xs:string* := (),\n  $info as element()? := ()\n) as empty-sequence()","User_Functions#user:create"),qp("user:current","()","user:current() as xs:string","User_Functions#user:current"),qp("user:drop","($name, $patterns)","user:drop(\n  $name as xs:string,\n  $patterns as xs:string*\n) as empty-sequence()","User_Functions#user:drop"),qp("user:exists","($name)","user:exists(\n  $name as xs:string\n) as xs:boolean","User_Functions#user:exists"),qp("user:grant","($name, $permissions, $patterns)","user:grant(\n  $name as xs:string,\n  $permissions as xs:string*,\n  $patterns as xs:string*\n) as empty-sequence()","User_Functions#user:grant"),qp("user:info","($name)","user:info(\n  $name as xs:string?\n) as element()","User_Functions#user:info"),qp("user:list","()","user:list() as xs:string*","User_Functions#user:list"),qp("user:list-details","($name)","user:list-details(\n  $name as xs:string?\n) as element()*","User_Functions#user:list-details"),qp("user:password","($name, $password)","user:password(\n  $name as xs:string,\n  $password as xs:string\n) as empty-sequence()","User_Functions#user:password"),qp("user:update-info","($info, $name)","user:update-info(\n  $info as element(),\n  $name as xs:string?\n) as empty-sequence()","User_Functions#user:update-info"),qp("util:array-member","($input)","util:array-member(\n  $input as item()*\n) as array(*)","Utility_Functions#util:array-member"),qp("util:count-within","($input, $min, $max)","util:count-within(\n  $input as item()*,\n  $min as xs:integer,\n  $max as xs:integer?\n) as xs:boolean","Utility_Functions#util:count-within"),qp("util:if","($condition, $then, $else)","util:if(\n  $condition as item()*,\n  $then as item()*,\n  $else as item()*\n) as item()*","Utility_Functions#util:if"),qp("util:range","($input, $first, $last)","util:range(\n  $input as item()*,\n  $first as xs:numeric,\n  $last as xs:numeric\n) as item()*","Utility_Functions#util:range"),qp("util:root","($nodes)","util:root(\n  $nodes as (node()|map(*)|array(*))*\n) as node()*","Utility_Functions#util:root"),qp("util:strip-namespaces","($node, $prefixes)","util:strip-namespaces(\n  $node as xnode(),\n  $prefixes as xs:string*\n) as xnode()","Utility_Functions#util:strip-namespaces"),qp("util:values-except","($values, $except, $collation)","util:values-except(\n  $values as xs:anyAtomicType*,\n  $except as xs:anyAtomicType*,\n  $collation as xs:string?\n) as xs:anyAtomicType*","Utility_Functions#util:values-except"),qp("validate:dtd","($input, $dtd)","validate:dtd(\n  $input as item(),\n  $dtd as item()?\n) as empty-sequence()","Validation_Functions#validate:dtd"),qp("validate:dtd-info","($input, $dtd)","validate:dtd-info(\n  $input as item(),\n  $dtd as item()?\n) as xs:string*","Validation_Functions#validate:dtd-info"),qp("validate:dtd-report","($input, $dtd)","validate:dtd-report(\n  $input as item(),\n  $dtd as item()?\n) as element()","Validation_Functions#validate:dtd-report"),qp("validate:rng","($input, $schema, $compact)","validate:rng(\n  $input as item(),\n  $schema as item(),\n  $compact as xs:boolean?\n) as empty-sequence()","Validation_Functions#validate:rng"),qp("validate:rng-info","($input, $schema, $compact)","validate:rng-info(\n  $input as item(),\n  $schema as item(),\n  $compact as xs:boolean?\n) as xs:string*","Validation_Functions#validate:rng-info"),qp("validate:rng-report","($input, $schema, $compact)","validate:rng-report(\n  $input as item(),\n  $schema as item(),\n  $compact as xs:boolean?\n) as element()","Validation_Functions#validate:rng-report"),qp("validate:xsd","($input, $schema, $options)","validate:xsd(\n  $input as item(),\n  $schema as item()?,\n  $options as map(*)? := ()\n) as empty-sequence()","Validation_Functions#validate:xsd"),qp("validate:xsd-info","($input, $schema, $options)","validate:xsd-info(\n  $input as item(),\n  $schema as item()?,\n  $options as map(*)? := ()\n) as xs:string*","Validation_Functions#validate:xsd-info"),qp("validate:xsd-init","()","validate:xsd-init() as empty-sequence()","Validation_Functions#validate:xsd-init"),qp("validate:xsd-processor","()","validate:xsd-processor() as xs:string","Validation_Functions#validate:xsd-processor"),qp("validate:xsd-report","($input, $schema, $options)","validate:xsd-report(\n  $input as item(),\n  $schema as item()?,\n  $options as map(*)? := ()\n) as element()","Validation_Functions#validate:xsd-report"),qp("validate:xsd-version","()","validate:xsd-version() as xs:string","Validation_Functions#validate:xsd-version"),qp("web:content-type","($path)","web:content-type(\n  $path as xs:string\n) as xs:string","Web_Functions#web:content-type"),qp("web:create-url","($href, $parameters, $anchor)","web:create-url(\n  $href as xs:string,\n  $parameters as map(*)?,\n  $anchor as xs:string? := ()\n) as xs:string","Web_Functions#web:create-url"),qp("web:decode-url","($value)","web:decode-url(\n  $value as xs:string\n) as xs:string","Web_Functions#web:decode-url"),qp("web:encode-url","($value)","web:encode-url(\n  $value as xs:string\n) as xs:string","Web_Functions#web:encode-url"),qp("web:error","($status, $message, $options)","web:error(\n  $status as xs:integer,\n  $message as item()*,\n  $options as map(*)?\n) as xs:error","Web_Functions#web:error"),qp("web:redirect","($url, $parameters, $anchor, $status)","web:redirect(\n  $url as xs:string,\n  $parameters as map(*)?,\n  $anchor as xs:string? := (),\n  $status as xs:integer? := ()\n) as element()","Web_Functions#web:redirect"),qp("web:response-header","($output, $headers, $response)","web:response-header(\n  $output as map(*)?,\n  $headers as map(*)? := (),\n  $response as map(*)? := ()\n) as element()","Web_Functions#web:response-header"),qp("xquery:eval","($query, $bindings, $options)","xquery:eval(\n  $query as (xs:anyAtomicType|fn(*)),\n  $bindings as (map(*)|array(*))?,\n  $options as map(*)? := ()\n) as item()*","XQuery_Functions#xquery:eval"),qp("xquery:eval-update","($query, $bindings, $options)","xquery:eval-update(\n  $query as (xs:anyAtomicType|fn(*)),\n  $bindings as (map(*)|array(*))?,\n  $options as map(*)? := ()\n) as empty-sequence()","XQuery_Functions#xquery:eval-update"),qp("xquery:for-each","($input, $action, $options)","xquery:for-each(\n  $input as item()*,\n  $action as fn(*),\n  $options as map(*)?\n) as item()*","XQuery_Functions#xquery:for-each"),qp("xquery:fork-any","($functions, $options)","xquery:fork-any(\n  $functions as (fn(*))*,\n  $options as map(*)?\n) as item()*","XQuery_Functions#xquery:fork-any"),qp("xquery:fork-join","($functions, $options)","xquery:fork-join(\n  $functions as (fn(*))*,\n  $options as map(*)?\n) as item()*","XQuery_Functions#xquery:fork-join"),qp("xquery:parse","($query, $options)","xquery:parse(\n  $query as xs:anyAtomicType,\n  $options as map(*)?\n) as element()","XQuery_Functions#xquery:parse"),qp("xquery:reduce","($input, $init, $action, $combine, $options)","xquery:reduce(\n  $input as item()*,\n  $init as item()*,\n  $action as fn(*),\n  $combine as fn(*),\n  $options as map(*)?\n) as item()*","XQuery_Functions#xquery:reduce"),qp("xslt:init","()","xslt:init() as empty-sequence()","XSLT_Functions#xslt:init"),qp("xslt:processor","()","xslt:processor() as xs:string","XSLT_Functions#xslt:processor"),qp("xslt:transform","($input, $stylesheet, $arguments, $options)","xslt:transform(\n  $input as item(),\n  $stylesheet as item(),\n  $arguments as map(*)?,\n  $options as map(*)? := ()\n) as document-node()","XSLT_Functions#xslt:transform"),qp("xslt:transform-report","($input, $stylesheet, $arguments, $options)","xslt:transform-report(\n  $input as item(),\n  $stylesheet as item(),\n  $arguments as map(*)?,\n  $options as map(*)? := ()\n) as map(*)","XSLT_Functions#xslt:transform-report"),qp("xslt:transform-text","($input, $stylesheet, $arguments, $options)","xslt:transform-text(\n  $input as item(),\n  $stylesheet as item(),\n  $arguments as map(*)?,\n  $options as map(*)? := ()\n) as xs:string","XSLT_Functions#xslt:transform-text"),qp("xslt:version","()","xslt:version() as xs:string","XSLT_Functions#xslt:version"),qp("request:address","()","request:address() as xs:string","Request_Functions#request:address"),qp("request:attribute","($name, $default)","request:attribute(\n  $name as xs:string,\n  $default as item()*\n) as item()*","Request_Functions#request:attribute"),qp("request:attribute-map","()","request:attribute-map() as map(*)","Request_Functions#request:attribute-map"),qp("request:attribute-names","()","request:attribute-names() as xs:string*","Request_Functions#request:attribute-names"),qp("request:body","()","request:body() as xs:base64Binary?","Request_Functions#request:body"),qp("request:context-path","()","request:context-path() as xs:string","Request_Functions#request:context-path"),qp("request:cookie","($name, $default)","request:cookie(\n  $name as xs:string,\n  $default as xs:string\n) as xs:string?","Request_Functions#request:cookie"),qp("request:cookie-map","()","request:cookie-map() as map(*)","Request_Functions#request:cookie-map"),qp("request:cookie-names","()","request:cookie-names() as xs:string*","Request_Functions#request:cookie-names"),qp("request:form-map","()","request:form-map() as map(*)","Request_Functions#request:form-map"),qp("request:header","($name, $default)","request:header(\n  $name as xs:string,\n  $default as xs:string*\n) as xs:string*","Request_Functions#request:header"),qp("request:header-map","()","request:header-map() as map(*)","Request_Functions#request:header-map"),qp("request:header-names","()","request:header-names() as xs:string*","Request_Functions#request:header-names"),qp("request:hostname","()","request:hostname() as xs:string","Request_Functions#request:hostname"),qp("request:method","()","request:method() as xs:string","Request_Functions#request:method"),qp("request:parameter","($name, $default)","request:parameter(\n  $name as xs:string,\n  $default as item()*\n) as item()*","Request_Functions#request:parameter"),qp("request:parameter-map","()","request:parameter-map() as map(*)","Request_Functions#request:parameter-map"),qp("request:parameter-names","()","request:parameter-names() as xs:string*","Request_Functions#request:parameter-names"),qp("request:path","()","request:path() as xs:string","Request_Functions#request:path"),qp("request:port","()","request:port() as xs:integer","Request_Functions#request:port"),qp("request:query","()","request:query() as xs:string?","Request_Functions#request:query"),qp("request:query-map","()","request:query-map() as map(*)","Request_Functions#request:query-map"),qp("request:remote-address","()","request:remote-address() as xs:string","Request_Functions#request:remote-address"),qp("request:remote-hostname","()","request:remote-hostname() as xs:string","Request_Functions#request:remote-hostname"),qp("request:remote-port","()","request:remote-port() as xs:integer","Request_Functions#request:remote-port"),qp("request:scheme","()","request:scheme() as xs:string","Request_Functions#request:scheme"),qp("request:set-attribute","($name, $value)","request:set-attribute(\n  $name as xs:string,\n  $value as item()*\n) as empty-sequence()","Request_Functions#request:set-attribute"),qp("request:uri","()","request:uri() as xs:anyURI","Request_Functions#request:uri"),qp("rest:base-uri","()","rest:base-uri() as xs:anyURI","RESTXQ_Functions#rest:base-uri"),qp("rest:init","($update)","rest:init(\n  $update as xs:boolean?\n) as empty-sequence()","RESTXQ_Functions#rest:init"),qp("rest:uri","()","rest:uri() as xs:anyURI","RESTXQ_Functions#rest:uri"),qp("rest:wadl","()","rest:wadl() as element()","RESTXQ_Functions#rest:wadl"),qp("session:accessed","()","session:accessed() as xs:dateTime","Session_Functions#session:accessed"),qp("session:client-id","()","session:client-id() as xs:string?","Session_Functions#session:client-id"),qp("session:close","()","session:close() as empty-sequence()","Session_Functions#session:close"),qp("session:created","()","session:created() as xs:dateTime","Session_Functions#session:created"),qp("session:delete","($key)","session:delete(\n  $key as xs:string\n) as empty-sequence()","Session_Functions#session:delete"),qp("session:get","($key, $default)","session:get(\n  $key as xs:string,\n  $default as item()*\n) as item()*","Session_Functions#session:get"),qp("session:id","()","session:id() as xs:string","Session_Functions#session:id"),qp("session:names","()","session:names() as xs:string*","Session_Functions#session:names"),qp("session:set","($key, $value)","session:set(\n  $key as xs:string,\n  $value as item()*\n) as empty-sequence()","Session_Functions#session:set"),qp("sessions:accessed","($id)","sessions:accessed(\n  $id as xs:string\n) as xs:dateTime","Sessions_Functions#sessions:accessed"),qp("sessions:close","($id)","sessions:close(\n  $id as xs:string\n) as empty-sequence()","Sessions_Functions#sessions:close"),qp("sessions:created","($id)","sessions:created(\n  $id as xs:string\n) as xs:dateTime","Sessions_Functions#sessions:created"),qp("sessions:delete","($id, $key)","sessions:delete(\n  $id as xs:string,\n  $key as xs:string\n) as empty-sequence()","Sessions_Functions#sessions:delete"),qp("sessions:get","($id, $key, $default)","sessions:get(\n  $id as xs:string,\n  $key as xs:string,\n  $default as item()*\n) as item()*","Sessions_Functions#sessions:get"),qp("sessions:ids","()","sessions:ids() as xs:string*","Sessions_Functions#sessions:ids"),qp("sessions:list-details","($id)","sessions:list-details(\n  $id as xs:string?\n) as element()*","Sessions_Functions#sessions:list-details"),qp("sessions:names","($id)","sessions:names(\n  $id as xs:string\n) as xs:string*","Sessions_Functions#sessions:names"),qp("sessions:set","($id, $key, $value)","sessions:set(\n  $id as xs:string,\n  $key as xs:string,\n  $value as item()*\n) as empty-sequence()","Sessions_Functions#sessions:set"),qp("webdav:locks","()","webdav:locks() as map(xs:string, record(token as xs:string, path as xs:string, depth as xs:string, scope as xs:string, timeout as xs:integer, expires as xs:dateTime, owner as element()?))",null),qp("webdav:lock-update","($update)","webdav:lock-update(\n  $update as fn(map(xs:string, record(token as xs:string, path as xs:string, depth as xs:string, scope as xs:string, timeout as xs:integer, expires as xs:dateTime, owner as element()?))) as map(xs:string, record(token as xs:string, path as xs:string, depth as xs:string, scope as xs:string, timeout as xs:integer, expires as xs:dateTime, owner as element()?))\n) as xs:boolean",null),qp("ws:broadcast","($message)","ws:broadcast(\n  $message as item()\n) as empty-sequence()","WebSocket_Functions#ws:broadcast"),qp("ws:close","($id, $status, $reason)","ws:close(\n  $id as xs:string,\n  $status as xs:integer,\n  $reason as xs:string := ()\n) as empty-sequence()","WebSocket_Functions#ws:close"),qp("ws:delete","($id, $key)","ws:delete(\n  $id as xs:string,\n  $key as xs:string\n) as empty-sequence()","WebSocket_Functions#ws:delete"),qp("ws:emit","($message)","ws:emit(\n  $message as item()\n) as empty-sequence()","WebSocket_Functions#ws:emit"),qp("ws:eval","($query, $bindings, $options)","ws:eval(\n  $query as (xs:anyAtomicType|fn(*)),\n  $bindings as (map(*)|array(*))?,\n  $options as map(*)? := ()\n) as xs:string","WebSocket_Functions#ws:eval"),qp("ws:get","($id, $key, $default)","ws:get(\n  $id as xs:string,\n  $key as xs:string,\n  $default as item()*\n) as item()*","WebSocket_Functions#ws:get"),qp("ws:id","()","ws:id() as xs:string","WebSocket_Functions#ws:id"),qp("ws:ids","()","ws:ids() as xs:string*","WebSocket_Functions#ws:ids"),qp("ws:list-details","($id)","ws:list-details(\n  $id as xs:string?\n) as element()*","WebSocket_Functions#ws:list-details"),qp("ws:names","($id)","ws:names(\n  $id as xs:string\n) as xs:string*","WebSocket_Functions#ws:names"),qp("ws:path","($id)","ws:path(\n  $id as xs:string\n) as xs:string","WebSocket_Functions#ws:path"),qp("ws:ping","($id)","ws:ping(\n  $id as xs:string\n) as empty-sequence()","WebSocket_Functions#ws:ping"),qp("ws:send","($message, $ids)","ws:send(\n  $message as item(),\n  $ids as xs:string*\n) as empty-sequence()","WebSocket_Functions#ws:send"),qp("ws:set","($id, $key, $value)","ws:set(\n  $id as xs:string,\n  $key as xs:string,\n  $value as item()*\n) as empty-sequence()","WebSocket_Functions#ws:set"),qp("xs:NMTOKENS","($value)","xs:NMTOKENS(\n  $value as xs:anyAtomicType? := .\n) as xs:NMTOKENS?",null),qp("xs:ENTITIES","($value)","xs:ENTITIES(\n  $value as xs:anyAtomicType? := .\n) as xs:ENTITIES?",null),qp("xs:IDREFS","($value)","xs:IDREFS(\n  $value as xs:anyAtomicType? := .\n) as xs:IDREFS?",null),qp("xs:error","($value)","xs:error(\n  $value as xs:anyAtomicType? := .\n) as xs:error?",null),qp("xs:untypedAtomic","($value)","xs:untypedAtomic(\n  $value as xs:anyAtomicType? := .\n) as xs:untypedAtomic?",null),qp("xs:string","($value)","xs:string(\n  $value as xs:anyAtomicType? := .\n) as xs:string?",null),qp("xs:normalizedString","($value)","xs:normalizedString(\n  $value as xs:anyAtomicType? := .\n) as xs:normalizedString?",null),qp("xs:token","($value)","xs:token(\n  $value as xs:anyAtomicType? := .\n) as xs:token?",null),qp("xs:language","($value)","xs:language(\n  $value as xs:anyAtomicType? := .\n) as xs:language?",null),qp("xs:NMTOKEN","($value)","xs:NMTOKEN(\n  $value as xs:anyAtomicType? := .\n) as xs:NMTOKEN?",null),qp("xs:Name","($value)","xs:Name(\n  $value as xs:anyAtomicType? := .\n) as xs:Name?",null),qp("xs:NCName","($value)","xs:NCName(\n  $value as xs:anyAtomicType? := .\n) as xs:NCName?",null),qp("xs:ID","($value)","xs:ID(\n  $value as xs:anyAtomicType? := .\n) as xs:ID?",null),qp("xs:IDREF","($value)","xs:IDREF(\n  $value as xs:anyAtomicType? := .\n) as xs:IDREF?",null),qp("xs:ENTITY","($value)","xs:ENTITY(\n  $value as xs:anyAtomicType? := .\n) as xs:ENTITY?",null),qp("xs:numeric","($value)","xs:numeric(\n  $value as xs:anyAtomicType? := .\n) as xs:numeric?",null),qp("xs:float","($value)","xs:float(\n  $value as xs:anyAtomicType? := .\n) as xs:float?",null),qp("xs:double","($value)","xs:double(\n  $value as xs:anyAtomicType? := .\n) as xs:double?",null),qp("xs:decimal","($value)","xs:decimal(\n  $value as xs:anyAtomicType? := .\n) as xs:decimal?",null),qp("xs:integer","($value)","xs:integer(\n  $value as xs:anyAtomicType? := .\n) as xs:integer?",null),qp("xs:nonPositiveInteger","($value)","xs:nonPositiveInteger(\n  $value as xs:anyAtomicType? := .\n) as xs:nonPositiveInteger?",null),qp("xs:negativeInteger","($value)","xs:negativeInteger(\n  $value as xs:anyAtomicType? := .\n) as xs:negativeInteger?",null),qp("xs:long","($value)","xs:long(\n  $value as xs:anyAtomicType? := .\n) as xs:long?",null),qp("xs:int","($value)","xs:int(\n  $value as xs:anyAtomicType? := .\n) as xs:int?",null),qp("xs:short","($value)","xs:short(\n  $value as xs:anyAtomicType? := .\n) as xs:short?",null),qp("xs:byte","($value)","xs:byte(\n  $value as xs:anyAtomicType? := .\n) as xs:byte?",null),qp("xs:nonNegativeInteger","($value)","xs:nonNegativeInteger(\n  $value as xs:anyAtomicType? := .\n) as xs:nonNegativeInteger?",null),qp("xs:unsignedLong","($value)","xs:unsignedLong(\n  $value as xs:anyAtomicType? := .\n) as xs:unsignedLong?",null),qp("xs:unsignedInt","($value)","xs:unsignedInt(\n  $value as xs:anyAtomicType? := .\n) as xs:unsignedInt?",null),qp("xs:unsignedShort","($value)","xs:unsignedShort(\n  $value as xs:anyAtomicType? := .\n) as xs:unsignedShort?",null),qp("xs:unsignedByte","($value)","xs:unsignedByte(\n  $value as xs:anyAtomicType? := .\n) as xs:unsignedByte?",null),qp("xs:positiveInteger","($value)","xs:positiveInteger(\n  $value as xs:anyAtomicType? := .\n) as xs:positiveInteger?",null),qp("xs:duration","($value)","xs:duration(\n  $value as xs:anyAtomicType? := .\n) as xs:duration?",null),qp("xs:yearMonthDuration","($value)","xs:yearMonthDuration(\n  $value as xs:anyAtomicType? := .\n) as xs:yearMonthDuration?",null),qp("xs:dayTimeDuration","($value)","xs:dayTimeDuration(\n  $value as xs:anyAtomicType? := .\n) as xs:dayTimeDuration?",null),qp("xs:dateTime","($value)","xs:dateTime(\n  $value as xs:anyAtomicType? := .\n) as xs:dateTime?",null),qp("xs:dateTimeStamp","($value)","xs:dateTimeStamp(\n  $value as xs:anyAtomicType? := .\n) as xs:dateTimeStamp?",null),qp("xs:date","($value)","xs:date(\n  $value as xs:anyAtomicType? := .\n) as xs:date?",null),qp("xs:time","($value)","xs:time(\n  $value as xs:anyAtomicType? := .\n) as xs:time?",null),qp("xs:gYearMonth","($value)","xs:gYearMonth(\n  $value as xs:anyAtomicType? := .\n) as xs:gYearMonth?",null),qp("xs:gYear","($value)","xs:gYear(\n  $value as xs:anyAtomicType? := .\n) as xs:gYear?",null),qp("xs:gMonthDay","($value)","xs:gMonthDay(\n  $value as xs:anyAtomicType? := .\n) as xs:gMonthDay?",null),qp("xs:gDay","($value)","xs:gDay(\n  $value as xs:anyAtomicType? := .\n) as xs:gDay?",null),qp("xs:gMonth","($value)","xs:gMonth(\n  $value as xs:anyAtomicType? := .\n) as xs:gMonth?",null),qp("xs:boolean","($value)","xs:boolean(\n  $value as xs:anyAtomicType? := .\n) as xs:boolean?",null),qp("xs:binary","($value)","xs:binary(\n  $value as xs:anyAtomicType? := .\n) as xs:binary?",null),qp("xs:base64Binary","($value)","xs:base64Binary(\n  $value as xs:anyAtomicType? := .\n) as xs:base64Binary?",null),qp("xs:hexBinary","($value)","xs:hexBinary(\n  $value as xs:anyAtomicType? := .\n) as xs:hexBinary?",null),qp("xs:anyURI","($value)","xs:anyURI(\n  $value as xs:anyAtomicType? := .\n) as xs:anyURI?",null),qp("xs:QName","($value)","xs:QName(\n  $value as xs:anyAtomicType? := .\n) as xs:QName?",null)],Fp=["QName","NCName","URIQualifiedName","FunctionQName"],Zp=new Set(["TypedFunctionParam","VarNameAndType","VarName","VarRef"]);function Ep(e,t,n,s){bl(e).iterate({from:t,to:n,enter(t){const n=t.type.name;if("Comment"===n)return!1;if("EQName"===n){const n=t.node.parent?.type.name,i=e.doc.sliceString(t.from,t.to);return Zp.has(n)?s(`$${i}`,"var"):s(i,"other"),!1}if("FunctionQName"===n)return s(e.doc.sliceString(t.from,t.to),"func"),!1;if("URIQualifiedName"===n){const n=t.node.parent?.type.name;return s(e.doc.sliceString(t.from,t.to),"FunctionEQName"===n?"func":"other"),!1}Fp.includes(n)&&s(e.doc.sliceString(t.from,t.to),"other")}})}function Vp(e,t,n){const s=(e.get(t)||0)+n;s<=0?e.delete(t):e.set(t,s)}function Rp(e){const t={var:new Map,func:new Map,other:new Map};return Ep(e,0,e.doc.length,(e,n)=>{Vp(t[n],e,1)}),t}const Ap=M.define({create:e=>Rp(e),update(e,t){if(!t.docChanged)return e;const n={var:new Map(e.var),func:new Map(e.func),other:new Map(e.other)};return t.changes.iterChangedRanges((e,s,i,r)=>{Ep(t.startState,e,s,(e,t)=>Vp(n[t],e,-1))}),t.changes.iterChangedRanges((e,s,i,r)=>{Ep(t.state,i,r,(e,t)=>Vp(n[t],e,1))}),n}});const jp=function(e,t=""){const n=e.replace(/\s#(?:[^\S\r\n].*)?$/gm,"").replace(/\s/g,"");return new RegExp(n,t)}(String.raw` -(?:\$ # optional $ - (?: # followed by zero or more ignorables - \s # either a space - | \(:(?:[^:]|:[^)])*:+\) # or comment (: ... :), no nesting... - )* # -)? # -(?: # either URIQualifiedName prefix: - Q # Q - \{ # { - (?: # zero or more of: - [^&{}] # any char except &, {, } - | &(?:lt|gt|amp|quot|apos); # predefined entity - | &#[0-9]+; # decimal char ref - | &#x[0-9A-Fa-f]+; # hex char ref - )* # - \}? # optional } (partial-friendly) - (?:[\p{L}_][\p{L}\p{N}_.-]*)? # optional local part -| # or QName prefix: - [\p{L}_][\p{L}\p{N}_.-]* # simple name or prefix - (?::(?:[\p{L}_][\p{L}\p{N}_.-]*)?)? # optional :local -)?$`,"u");function zp(e){const t=e.matchBefore(jp),n=t?t.from:e.pos;if(!e.explicit&&n===e.pos)return null;const s=t?t.text:"",i=s.toLowerCase(),r=s.startsWith("$"),a=new Map,o=e=>{const t=`${e.label}|${e.type}`;a.get(t)||a.set(t,e)};if(!r){for(const e of Wp)i&&!e.toLowerCase().includes(i)||o({label:e,type:"keyword"});for(const e of Cp){const t=e.label.toLowerCase();i&&!t.includes(i)||o(e)}}const l=e.state.field(Ap,!1);if(l)if(r)for(const[e,t]of l.var)i&&!e.toLowerCase().includes(i)||o({label:e,type:"variable"});else{for(const[e,t]of l.func)i&&!e.toLowerCase().includes(i)||o({label:e,type:"function"});for(const[e,t]of l.other)i&&!e.toLowerCase().includes(i)||o({label:e,type:"variable"})}return{from:n,options:Array.from(a.values()),validFor:jp}}const Yp=new Map;for(const e of Cp){const t=e.label,n=t.startsWith("fn:")?t.slice(3):null;Yp.set(t,e),n&&Yp.set(n,e)}const Up=ma((e,t,n)=>{let s=bl(e.state).resolve(t,-1);if("FunctionQName"!==s.name){const e=n<0?s.prevSibling:n>0?s.nextSibling:null;if(!e||"FunctionQName"!==e.name)return null;s=e}if("FunctionQName"!==s.name)return null;const i=(e=>Yp.get(e)||null)(e.state.doc.sliceString(s.from,s.to));return i?{pos:s.from,end:s.to,create(){const e=document.createElement("div");if(e.className="cm-tooltip-function",e.style.whiteSpace="pre",e.style.fontFamily="monospace",i.doc&&i.info.startsWith(i.label)){const t=document.createElement("a");t.href="https://docs.basex.org/13/"+i.doc,t.textContent=i.label,t.target="basex-docs",t.style.textDecoration="underline",t.style.cursor="pointer",t.addEventListener("click",e=>{if(0!==e.button||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey)return;e.preventDefault();const n=window.open(t.href,"basex-docs");n&&n.focus()}),e.appendChild(t),e.appendChild(document.createTextNode(i.info.slice(i.label.length)))}else e.textContent=i.info;return{dom:e}}}:null});function Bp(e,t=32){const n=[...e].sort((e,t)=>t.open.length-e.open.length),s=Math.max(0,...n.map(e=>e.open.length));return H.high(rr.inputHandler.of((e,i,r,a)=>{if(i!==r||!a||a.includes("\n")||a.includes("\r"))return!1;const o=Math.max(0,i-Math.max(t,s)),l=e.state.doc.sliceString(o,i)+a;for(const{open:t,close:s}of n){if(!l.endsWith(t))continue;const n=i+a.length-t.length;let o=r;if(s.startsWith(a)){const t=s.slice(a.length);if(t){e.state.doc.sliceString(r,r+t.length)===t&&(o=r+t.length)}}const O=t+s,c=n+t.length;return e.dispatch({changes:{from:n,to:o,insert:O},selection:{anchor:c}}),!0}return!1}))}const Mp=(e,t)=>n=>({from:n.from+e,to:n.to-t}),Gp=Xl.define({parser:Tp.configure({props:[Kl.add({"CDataSectionContents DirElemContents":Mp(0,0),"EnclosedExpr ArgumentList ParenthesizedExpr ParamListWithDefaults PositionalArgumentList ParamList StringTemplate":Mp(1,1),"Comment Pragma DirPIConstructor":Mp(2,2),StringConstructor:Mp(3,3),DirCommentConstructor:Mp(4,3)}),Go({"Annotation Annotation/EQName!":fl.annotation,"$ TypedFunctionParam/EQName! VarNameAndType/EQName! VarName/EQName! VarRef/EQName!":fl.typeName,"FunctionQName DecimalFormatDecl/EQName! FTExtensionOption/EQName! NameTest/EQName! TypeName/EQName! ElementName/EQName! AttributeName/EQName! QNameLiteral/EQName! KeywordArgument/EQName! CompNodeName/EQName! Selector/EQName! ItemTypeDecl/EQName! NamedRecordTypeDecl/EQName! OptionDecl/EQName! Pragma/EQName! DirElemConstructor/QName DirAttributeList/QName":fl.tagName,"ModuleDecl/NCName NamespaceDecl/NCName SchemaPrefix/NCName ModuleImport/NCName PITest/NCName FieldName/NCName MarkedNCName/NCName UnreservedNCName/NCName KeySpecifier/NCName MethodCall/NCName":fl.propertyName,Kw:fl.keyword,"StringLiteral ` StringTemplateFixedPart ``[ StringConstructorChars ``]":fl.string,"IntegerLiteral HexIntegerLiteral BinaryIntegerLiteral":fl.integer,DecimalLiteral:fl.number,DoubleLiteral:fl.float,Comment:fl.comment})]})}),Ip=Fl.of((e,t)=>e.lineAt(t,-1).text.match(/^\s*/)[0].length);function Lp(){return new ql(Gp,[wO(_O),Ap,Gp.data.of({autocomplete:zp,closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}),Up,Bp([{open:"``[",close:"]``"},{open:"(:",close:":)"},{open:"(#",close:"#)"},{open:""},{open:"\x3c!--",close:"--\x3e"}]),dr.of([{key:"Enter",run:xh}]),Zl.of(" "),Ip])}function Np(e){return 45==e||46==e||58==e||e>=65&&e<=90||95==e||e>=97&&e<=122||e>=161}function Kp(e){return 9==e||10==e||13==e||32==e}let Hp=null,Jp=null,em=0;function tm(e,t){let n=e.pos+t;if(Jp==e&&em==n)return Hp;for(;Kp(e.peek(t));)t++;let s="";for(;;){let n=e.peek(t);if(!Np(n))break;s+=String.fromCharCode(n),t++}return Jp=e,em=n,Hp=s||null}function nm(e,t){this.name=e,this.parent=t}const sm=new op({start:null,shift:(e,t,n,s)=>1==t?new nm(tm(s,1)||"",e):e,reduce:(e,t)=>11==t&&e?e.parent:e,reuse(e,t,n,s){let i=t.type.id;return 1==i||13==i?new nm(tm(s,1)||"",e):e},strict:!1}),im=new If((e,t)=>{if(60==e.next)if(e.advance(),47==e.next){e.advance();let n=tm(e,0);if(!n)return e.acceptToken(5);if(t.context&&n==t.context.name)return e.acceptToken(2);for(let s=t.context;s;s=s.parent)if(s.name==n)return e.acceptToken(3,-2);e.acceptToken(4)}else if(33!=e.next&&63!=e.next)return e.acceptToken(1)},{contextual:!0});function rm(e,t){return new If(n=>{let s=0,i=t.charCodeAt(0);e:for(;!(n.next<0);n.advance(),s++)if(n.next==i){for(let e=1;e"),lm=rm(38,"]]>"),Om=Go({Text:fl.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":fl.angleBracket,TagName:fl.tagName,"MismatchedCloseTag/TagName":[fl.tagName,fl.invalid],AttributeName:fl.attributeName,AttributeValue:fl.attributeValue,Is:fl.definitionOperator,"EntityReference CharacterReference":fl.character,Comment:fl.blockComment,ProcessingInst:fl.processingInstruction,DoctypeDecl:fl.documentMeta,Cdata:fl.special(fl.string)}),cm=lp.deserialize({version:14,states:",lOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DT'#DTOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C|'#C|O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C}'#C}O$dOrO,59^OOOP,59^,59^OOOS'#DO'#DOO$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6z-E6zOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6{-E6{OOOP1G.x1G.xOOOS-E6|-E6|OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'mO!bO,59eOOOO-E6w-E6wO'{OpO1G.uO'{OpO1G.uOOOP1G.u1G.uO(TOpO7+$fOOOP7+$f7+$fO(]O!bO<c!|;'S(o;'S;=`)]<%lO(oi>jX|W!O`Or(ors&osv(owx'}x!r(o!r!s?V!s;'S(o;'S;=`)]<%lO(oi?^X|W!O`Or(ors&osv(owx'}x!g(o!g!h?y!h;'S(o;'S;=`)]<%lO(oi@QY|W!O`Or?yrs@psv?yvwA[wxBdx!`?y!`!aCr!a;'S?y;'S;=`Db<%lO?ya@uV!O`Ov@pvxA[x!`@p!`!aAy!a;'S@p;'S;=`B^<%lO@pPA_TO!`A[!`!aAn!a;'SA[;'S;=`As<%lOA[PAsOiPPAvP;=`<%lA[aBQSiP!O`Ov&ox;'S&o;'S;=`'Q<%lO&oaBaP;=`<%l@pXBiX|WOrBdrsA[svBdvwA[w!`Bd!`!aCU!a;'SBd;'S;=`Cl<%lOBdXC]TiP|WOr'}sv'}w;'S'};'S;=`(c<%lO'}XCoP;=`<%lBdiC{ViP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiDeP;=`<%l?yiDoZ|W!O`Or(ors&osv(owx'}x!e(o!e!fEb!f#V(o#V#WIr#W;'S(o;'S;=`)]<%lO(oiEiX|W!O`Or(ors&osv(owx'}x!f(o!f!gFU!g;'S(o;'S;=`)]<%lO(oiF]X|W!O`Or(ors&osv(owx'}x!c(o!c!dFx!d;'S(o;'S;=`)]<%lO(oiGPX|W!O`Or(ors&osv(owx'}x!v(o!v!wGl!w;'S(o;'S;=`)]<%lO(oiGsX|W!O`Or(ors&osv(owx'}x!c(o!c!dH`!d;'S(o;'S;=`)]<%lO(oiHgX|W!O`Or(ors&osv(owx'}x!}(o!}#OIS#O;'S(o;'S;=`)]<%lO(oiI]V|W!O`yPOr(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiIyX|W!O`Or(ors&osv(owx'}x#W(o#W#XJf#X;'S(o;'S;=`)]<%lO(oiJmX|W!O`Or(ors&osv(owx'}x#T(o#T#UKY#U;'S(o;'S;=`)]<%lO(oiKaX|W!O`Or(ors&osv(owx'}x#h(o#h#iK|#i;'S(o;'S;=`)]<%lO(oiLTX|W!O`Or(ors&osv(owx'}x#T(o#T#UH`#U;'S(o;'S;=`)]<%lO(oiLwX|W!O`Or(ors&osv(owx'}x#c(o#c#dMd#d;'S(o;'S;=`)]<%lO(oiMkX|W!O`Or(ors&osv(owx'}x#V(o#V#WNW#W;'S(o;'S;=`)]<%lO(oiN_X|W!O`Or(ors&osv(owx'}x#h(o#h#iNz#i;'S(o;'S;=`)]<%lO(oi! RX|W!O`Or(ors&osv(owx'}x#m(o#m#n! n#n;'S(o;'S;=`)]<%lO(oi! uX|W!O`Or(ors&osv(owx'}x#d(o#d#e!!b#e;'S(o;'S;=`)]<%lO(oi!!iX|W!O`Or(ors&osv(owx'}x#X(o#X#Y?y#Y;'S(o;'S;=`)]<%lO(oi!#_V!SP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(ok!$PXaQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo!$wX[UVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!%mZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!&`!a;'S$q;'S;=`)c<%lO$qk!&kX!RQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!'aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_#P$q#P#Q!(S#Q;'S$q;'S;=`)c<%lO$qk!(]ZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!)O!a;'S$q;'S;=`)c<%lO$qk!)ZXxQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$q",tokenizers:[im,am,om,lm,0,1,2,3,4],topRules:{Document:[0,6]},tokenPrec:0});function hm(e,t){let n=t&&t.getChild("TagName");return n?e.sliceString(n.from,n.to):""}function um(e,t){let n=t&&t.firstChild;return n&&"OpenTag"==n.name?hm(e,n):""}function dm(e){for(let t=e&&e.parent;t;t=t.parent)if("Element"==t.name)return t;return null}let fm=class{constructor(e,t,n){this.attrs=t,this.attrValues=n,this.children=[],this.name=e.name,this.completion=Object.assign(Object.assign({type:"type"},e.completion||{}),{label:this.name}),this.openCompletion=Object.assign(Object.assign({},this.completion),{label:"<"+this.name}),this.closeCompletion=Object.assign(Object.assign({},this.completion),{label:"",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=e.textContent?e.textContent.map(e=>({label:e,type:"text"})):[]}};const pm=/^[:\-\.\w\u00b7-\uffff]*$/;function mm(e){return Object.assign(Object.assign({type:"property"},e.completion||{}),{label:e.name})}function gm(e){return"string"==typeof e?{label:`"${e}"`,type:"constant"}:/^"/.test(e.label)?e:Object.assign(Object.assign({},e),{label:`"${e.label}"`})}function Qm(e,t){let n=[],s=[],i=Object.create(null);for(let e of t){let t=mm(e);n.push(t),e.global&&s.push(t),e.values&&(i[e.name]=e.values.map(gm))}let r=[],a=[],o=Object.create(null);for(let t of e){let e=s,l=i;t.attributes&&(e=e.concat(t.attributes.map(e=>"string"==typeof e?n.find(t=>t.label==e)||{label:e,type:"property"}:(e.values&&(l==i&&(l=Object.create(l)),l[e.name]=e.values.map(gm)),mm(e)))));let O=new fm(t,e,l);o[O.name]=O,r.push(O),t.top&&a.push(O)}a.length||(a=r);for(let t=0;t{var t;let{doc:n}=e.state,l=function(e,t){var n;let s=bl(e).resolveInner(t,-1),i=null;for(let e=s;!i&&e.parent;e=e.parent)"OpenTag"!=e.name&&"CloseTag"!=e.name&&"SelfClosingTag"!=e.name&&"MismatchedCloseTag"!=e.name||(i=e);if(i&&(i.to>t||i.lastChild.type.isError)){let e=i.parent;if("TagName"==s.name)return"CloseTag"==i.name||"MismatchedCloseTag"==i.name?{type:"closeTag",from:s.from,context:e}:{type:"openTag",from:s.from,context:dm(e)};if("AttributeName"==s.name)return{type:"attrName",from:s.from,context:i};if("AttributeValue"==s.name)return{type:"attrValue",from:s.from,context:i};let n=s==i||"Attribute"==s.name?s.childBefore(t):s;return"StartTag"==(null==n?void 0:n.name)?{type:"openTag",from:t,context:dm(e)}:"StartCloseTag"==(null==n?void 0:n.name)&&n.to<=t?{type:"closeTag",from:t,context:e}:"Is"==(null==n?void 0:n.name)?{type:"attrValue",from:t,context:i}:n?{type:"attrName",from:t,context:i}:null}if("StartCloseTag"==s.name)return{type:"closeTag",from:t,context:s.parent};for(;s.parent&&s.to==t&&!(null===(n=s.lastChild)||void 0===n?void 0:n.type.isError);)s=s.parent;return"Element"==s.name||"Text"==s.name||"Document"==s.name?{type:"tag",from:t,context:"Element"==s.name?s:dm(s)}:null}(e.state,e.pos);if(!l||"tag"==l.type&&!e.explicit)return null;let{type:O,from:c,context:h}=l;if("openTag"==O){let e=a,t=um(n,h);if(t){let n=o[t];e=(null==n?void 0:n.children)||r}return{from:c,options:e.map(e=>e.completion),validFor:pm}}if("closeTag"==O){let s=um(n,h);return s?{from:c,to:e.pos+(">"==n.sliceString(e.pos,e.pos+1)?1:0),options:[(null===(t=o[s])||void 0===t?void 0:t.closeNameCompletion)||{label:s+">",type:"type"}],validFor:pm}:null}if("attrName"==O){let e=o[hm(n,h)];return{from:c,options:(null==e?void 0:e.attrs)||s,validFor:pm}}if("attrValue"==O){let t=function(e,t,n){let s=t&&t.getChildren("Attribute").find(e=>e.from<=n&&e.to>=n),i=s&&s.getChild("AttributeName");return i?e.sliceString(i.from,i.to):""}(n,h,c);if(!t)return null;let s=o[hm(n,h)],r=((null==s?void 0:s.attrValues)||i)[t];return r&&r.length?{from:c,to:e.pos+('"'==n.sliceString(e.pos,e.pos+1)?1:0),options:r,validFor:/^"[^"]*"?$/}:null}if("tag"==O){let t=um(n,h),s=o[t],i=[],l=h&&h.lastChild;!t||l&&"CloseTag"==l.name&&hm(n,l)==t||i.push(s?s.closeCompletion:{label:"",type:"type",boost:2});let O=i.concat(((null==s?void 0:s.children)||(h?r:a)).map(e=>e.openCompletion));if(h&&(null==s?void 0:s.text.length)){let t=h.firstChild;t.to>e.pos-20&&!/\S/.test(e.state.sliceDoc(t.to,e.pos))&&(O=O.concat(s.text))}return{from:c,options:O,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}return null}}const $m=Xl.define({name:"xml",parser:cm.configure({props:[jl.add({Element(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"OpenTag CloseTag SelfClosingTag":e=>e.column(e.node.from)+e.unit}),Kl.add({Element(e){let t=e.firstChild,n=e.lastChild;return t&&"OpenTag"==t.name?{from:t.to,to:"CloseTag"==n.name?n.from:e.to}:null}}),RO.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/$/}});function xm(e={}){let t=[$m.data.of({autocomplete:Qm(e.elements||[],e.attributes||[])})];return!1!==e.autoCloseTags&&t.push(bm),new ql($m,t)}function Xm(e,t,n=e.length){if(!t)return"";let s=t.firstChild,i=s&&s.getChild("TagName");return i?e.sliceString(i.from,Math.min(i.to,n)):""}const bm=rr.inputHandler.of((e,t,n,s,i)=>{if(e.composing||e.state.readOnly||t!=n||">"!=s&&"/"!=s||!$m.isActiveAt(e.state,t,-1))return!1;let r=i(),{state:a}=r,o=a.changeByRange(e=>{var t,n,i;let r,{head:o}=e,l=a.doc.sliceString(o-1,o)==s,O=bl(a).resolveInner(o,-1);if(l&&">"==s&&"EndTag"==O.name){let s=O.parent;if("CloseTag"!=(null===(n=null===(t=s.parent)||void 0===t?void 0:t.lastChild)||void 0===n?void 0:n.name)&&(r=Xm(a.doc,s.parent,o))){return{range:e,changes:{from:o,to:o+(">"===a.doc.sliceString(o,o+1)?1:0),insert:``}}}}else if(l&&"/"==s&&"StartCloseTag"==O.name){let e=O.parent;if(O.from==o-2&&"CloseTag"!=(null===(i=e.lastChild)||void 0===i?void 0:i.name)&&(r=Xm(a.doc,e,o))){let e=o+(">"===a.doc.sliceString(o,o+1)?1:0),t=`${r}>`;return{range:Z.cursor(o+t.length,-1),changes:{from:o,to:e,insert:t}}}}return{range:e}});return!o.changes.empty&&(e.dispatch([r,a.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),ym=Go({String:fl.string,Number:fl.number,"True False":fl.bool,PropertyName:fl.propertyName,Null:fl.null,", :":fl.separator,"[ ]":fl.squareBracket,"{ }":fl.brace}),Sm=lp.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[ym],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),vm=Xl.define({name:"json",parser:Sm.configure({props:[jl.add({Object:Ll({except:/^\s*\}/}),Array:Ll({except:/^\s*\]/})}),Kl.add({"Object Array":Hl})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function wm(){return new ql(vm)}const Pm={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},km={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},_m={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function Dm(e){return 45==e||46==e||58==e||e>=65&&e<=90||95==e||e>=97&&e<=122||e>=161}let Tm=null,Wm=null,qm=0;function Cm(e,t){let n=e.pos+t;if(qm==n&&Wm==e)return Tm;let s=e.peek(t),i="";for(;Dm(s);)i+=String.fromCharCode(s),s=e.peek(++t);return Wm=e,qm=n,Tm=i?i.toLowerCase():s==Fm||s==Zm?void 0:null}const Fm=63,Zm=33;function Em(e,t){this.name=e,this.parent=t}const Vm=[6,10,7,8,9],Rm=new op({start:null,shift:(e,t,n,s)=>Vm.indexOf(t)>-1?new Em(Cm(s,1)||"",e):e,reduce:(e,t)=>21==t&&e?e.parent:e,reuse(e,t,n,s){let i=t.type.id;return 6==i||37==i?new Em(Cm(s,1)||"",e):e},strict:!1}),Am=new If((e,t)=>{if(60!=e.next)return void(e.next<0&&t.context&&e.acceptToken(58));e.advance();let n=47==e.next;n&&e.advance();let s=Cm(e,0);if(void 0===s)return;if(!s)return e.acceptToken(n?15:14);let i=t.context?t.context.name:null;if(n){if(s==i)return e.acceptToken(11);if(i&&km[i])return e.acceptToken(58,-2);if(t.dialectEnabled(0))return e.acceptToken(12);for(let e=t.context;e;e=e.parent)if(e.name==s)return;e.acceptToken(13)}else{if("script"==s)return e.acceptToken(7);if("style"==s)return e.acceptToken(8);if("textarea"==s)return e.acceptToken(9);if(Pm.hasOwnProperty(s))return e.acceptToken(10);i&&_m[i]&&_m[i][s]?e.acceptToken(58,-1):e.acceptToken(6)}},{contextual:!0}),jm=new If(e=>{for(let t=0,n=0;;n++){if(e.next<0){n&&e.acceptToken(59);break}if(45==e.next)t++;else{if(62==e.next&&t>=2){n>=3&&e.acceptToken(59,-2);break}t=0}e.advance()}});const zm=new If((e,t)=>{if(47==e.next&&62==e.peek(1)){let n=t.dialectEnabled(1)||function(e){for(;e;e=e.parent)if("svg"==e.name||"math"==e.name)return!0;return!1}(t.context);e.acceptToken(n?5:4,2)}else 62==e.next&&e.acceptToken(4,1)});function Ym(e,t,n){let s=2+e.length;return new If(i=>{for(let r=0,a=0,o=0;;o++){if(i.next<0){o&&i.acceptToken(t);break}if(0==r&&60==i.next||1==r&&47==i.next||r>=2&&ra?i.acceptToken(t,-a):i.acceptToken(n,-(a-2));break}if((10==i.next||13==i.next)&&o){i.acceptToken(t,1);break}r=a=0}i.advance()}})}const Um=Ym("script",55,1),Bm=Ym("style",56,2),Mm=Ym("textarea",57,3),Gm=Go({"Text RawText IncompleteTag IncompleteCloseTag":fl.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":fl.angleBracket,TagName:fl.tagName,"MismatchedCloseTag/TagName":[fl.tagName,fl.invalid],AttributeName:fl.attributeName,"AttributeValue UnquotedAttributeValue":fl.attributeValue,Is:fl.definitionOperator,"EntityReference CharacterReference":fl.character,Comment:fl.blockComment,ProcessingInst:fl.processingInstruction,DoctypeDecl:fl.documentMeta}),Im=lp.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:Rm,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[Gm],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let o=e.type.id;if(29==o)return Km(e,t,n);if(32==o)return Km(e,t,s);if(35==o)return Km(e,t,i);if(21==o&&r.length){let n,s=e.node,i=s.firstChild,a=i&&Nm(i,t);if(a)for(let e of r)if(e.tag==a&&(!e.attrs||e.attrs(n||(n=Lm(i,t))))){let t=s.lastChild,n=38==t.type.id?t.from:s.to;if(n>i.to)return{parser:e.parser,overlay:[{from:i.to,to:n}]}}}if(a&&24==o){let n,s=e.node;if(n=s.firstChild){let e=a[t.read(n.from,n.to)];if(e)for(let n of e){if(n.tagName&&n.tagName!=Nm(s.parent,t))continue;let e=s.lastChild;if(27==e.type.id){let t=e.from+1,s=e.lastChild,i=e.to-(s&&s.isError?0:1);if(i>t)return{parser:n.parser,overlay:[{from:t,to:i}],bracketed:!0}}else if(28==e.type.id)return{parser:n.parser,overlay:[{from:e.from,to:e.to}]}}}}return null})}const Jm=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288];function eg(e){return e>=65&&e<=90||e>=97&&e<=122||e>=161}function tg(e){return e>=48&&e<=57}function ng(e){return tg(e)||e>=97&&e<=102||e>=65&&e<=70}const sg=(e,t,n)=>(s,i)=>{for(let r=!1,a=0,o=0;;o++){let{next:l}=s;if(eg(l)||45==l||95==l||r&&tg(l))!r&&(45!=l||o>0)&&(r=!0),a===o&&45==l&&a++,s.advance();else{if(92!=l||10==s.peek(1)){r&&s.acceptToken(2==a&&i.canShift(2)?t:40==l?n:e);break}if(s.advance(),ng(s.next)){do{s.advance()}while(ng(s.next));32==s.next&&s.advance()}else s.next>-1&&s.advance();r=!0}}},ig=new If(sg(149,2,150),{contextual:!0}),rg=new If(sg(151,3,4),{contextual:!0}),ag=new If(e=>{if(Jm.includes(e.peek(-1))){let{next:t}=e;(eg(t)||95==t||35==t||46==t||42==t||91==t||58==t&&eg(e.peek(1))||45==t||38==t)&&e.acceptToken(148)}}),og=new If(e=>{if(!Jm.includes(e.peek(-1))){let{next:t}=e;if(37==t&&(e.advance(),e.acceptToken(1)),eg(t)){do{e.advance()}while(eg(e.next)||tg(e.next));e.acceptToken(1)}}}),lg=Go({"AtKeyword import charset namespace keyframes media supports font-feature-values":fl.definitionKeyword,"from to selector scope MatchFlag":fl.keyword,NamespaceName:fl.namespace,KeyframeName:fl.labelName,KeyframeRangeName:fl.operatorKeyword,TagName:fl.tagName,ClassName:fl.className,PseudoClassName:fl.constant(fl.className),IdName:fl.labelName,"FeatureName PropertyName":fl.propertyName,AttributeName:fl.attributeName,NumberLiteral:fl.number,KeywordQuery:fl.keyword,UnaryQueryOp:fl.operatorKeyword,"CallTag ValueName FontName":fl.atom,VariableName:fl.variableName,Callee:fl.operatorKeyword,Unit:fl.unit,"UniversalSelector NestingSelector":fl.definitionOperator,"MatchOp CompareOp":fl.compareOperator,"ChildOp SiblingOp, LogicOp":fl.logicOperator,BinOp:fl.arithmeticOperator,Important:fl.modifier,Comment:fl.blockComment,ColorLiteral:fl.color,"ParenthesizedContent StringLiteral":fl.string,":":fl.punctuation,"PseudoOp #":fl.derefOperator,"; , |":fl.separator,"( )":fl.paren,"[ ]":fl.squareBracket,"{ }":fl.brace}),Og={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:158,"url-prefix":158,domain:158,regexp:158},cg={__proto__:null,or:104,and:104,not:112,only:112,layer:212},hg={__proto__:null,selector:118,style:124,layer:208},ug={__proto__:null,"@import":204,"@media":216,"@charset":220,"@namespace":224,"@keyframes":230,"@supports":242,"@scope":246,"@font-feature-values":252},dg={__proto__:null,to:249},fg=lp.deserialize({version:14,states:"MrQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FqO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#ERO'dQdO'#ETO'oQdO'#E[O'oQdO'#E_OOQP'#Fq'#FqO)RQhO'#FQOOQS'#Fp'#FpOOQS'#FT'#FTQYQdOOO)YQdO'#EeO*iQhO'#EkO)YQdO'#EmO*pQdO'#EoO*{QdO'#ErO)}QhO'#ExO+TQdO'#EzO+`QdO'#E}O+eQaO'#CfO+lQ`O'#EbO+qQ`O'#F}O+|QdO'#F}QOQ`OOP,WO&jO'#CaPOOO)CA`)CA`OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:mO'dQdO,5:oO'oQdO,5:vO'oQdO,5:xO'oQdO,5:yO'oQdO'#F[O,nQ`O,58}O,vQdO'#EaOOQS,58},58}OOQP'#Cq'#CqOOQO'#EP'#EPOOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#ES'#ESOOQP,5:m,5:mO-XQpO'#EUO-dQdO'#EVO-iQ`O'#EVO-nQpO,5:oO.XQaO,5:vO.oQaO,5:yOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;lO)}QhO'#DeO0`Q`O'#DnO0eQhO'#D{OOQW'#Fw'#FwOOQS,5;l,5;lO0jQ`O'#DhO0oQ`O'#DkOOQS-E9R-E9ROOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5;POOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FtO6|Q`O'#DYO7RQ`O'#D|OOQ['#Ft'#FtO7WQhO'#GQO7fQ`O,5;VO7kQ!bO,5;XOOQS'#Eq'#EqO7sQ`O,5;ZO7xQdO,5;ZOOQO'#Et'#EtO8QQ`O,5;^O8VQhO,5;dO'oQdO'#DjOOQS,5;f,5;fO0jQ`O,5;fO8_QdO,5;fOOQS'#Fc'#FcO8gQdO'#FPO7fQ`O,5;iO8oQdO,5:|O9PQdO'#F^O9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:g,5:gOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FuOOQS'#Fu'#FuOOQS'#FV'#FVO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EgOOQW'#Eg'#EgOBuQ`O1G0kO4oQhO1G0kOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:hOCVQhO'#F`OCdQ`O,5vQhO'#DmOI_QhO'#DsOIgQhO'#DuOIlQ!jO'#FzOOQO'#Fz'#FzOIwQ`O'#DxOJPQ!bO'#DzOOQO'#Fy'#FyOJUQ`O1G/qOOQS-E9T-E9TOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJZQdO,5;ROOQS7+&V7+&VOJ`Q`O7+&VOJeQhO'#D]OJmQ`O,59vO)}QhO,59vOOQ[1G0S1G0SOJuQ`O1G0SOJzQhO,5;zOOQO-E9^-E9^OOQS7+&a7+&aOKYQbO'#DSOOQO'#Ew'#EwOKhQ`O'#EvOOQO'#Ev'#EvOKsQ`O'#FaOK{QdO,5;aOOQS,5;a,5;aOOQ[1G/p1G/pOOQS7+&l7+&lO7fQ`O7+&lOLWQ!fO'#F]O)YQdO'#F]OM_QdO7+&SOOQO7+&S7+&SOOQO,5;O,5;OOOQO1G1d1G1dOMrQ!bO<vQhO'#DtOOQO,5:_,5:_O! sQhO,5:aO! {QhO,5:fO)YQdO,5:dOOQW7+%]7+%]OOQO'#Ei'#EiO!!SQ`O1G0mOOQS<{AN>{O!$^Q`OAN>{O!$cQaO,5;uOOQO-E9X-E9XO!$mQdO,5;tOOQO-E9W-E9WOOQW<vQhO'#DwOOQO1G/{1G/{O!&aQ!bO1G0QO!&iQdO1G0OOJZQdO'#F_O!&pQ`O7+&XOOQW7+&X7+&XO!&xQ!bO1G/cOOQ[7+$|7+$|O!'TQhO7+$|P!'[Q`O'#FWOOQO,5;|,5;|OOQO-E9`-E9`OOQS1G1g1G1gOOQPG24gG24gO!'aQ`OAN>ZO)YQdO1G1_O!'fQ`O7+'mOOQO1G/z1G/zO!'nQ`O,5:cO!'sQhO7+%lOOQO,5;y,5;yOOQO-E9]-E9]OOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!r`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$_~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$_~!r`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$sYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!r`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!r`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!r`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!r`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!r`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!r`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!r`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!r`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!|S!r`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#SQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!r`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!r`$jYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!r`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!r`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!r`$jYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!r`$jYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!eYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!r`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!r`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!|SOy%jz;'S%j;'S;=`%{<%lO%jj@uV#PQ!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS#PQ!r`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!r`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!r`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!}WOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!}WOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!r`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!r`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!r`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!r`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!r`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!r`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!r`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$rQ!r`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$fUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#SQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[ag,og,ig,rg,1,2,3,4,new Gf("m~RRYZ[z{a~~g~aO$b~~dP!P!Qg~lO$c~~",28,155)],topRules:{StyleSheet:[0,6],Styles:[1,129]},dynamicPrecedences:{97:1},specialized:[{term:150,get:e=>Og[e]||-1},{term:151,get:e=>cg[e]||-1},{term:4,get:e=>hg[e]||-1},{term:28,get:e=>ug[e]||-1},{term:149,get:e=>dg[e]||-1}],tokenPrec:2444});let pg=null;function mg(){if(!pg&&"object"==typeof document&&document.body){let{style:e}=document.body,t=[],n=new Set;for(let s in e)"cssText"!=s&&"cssFloat"!=s&&"string"==typeof e[s]&&(/[A-Z]/.test(s)&&(s=s.replace(/[A-Z]/g,e=>"-"+e.toLowerCase())),n.has(s)||(t.push(s),n.add(s)));pg=t.sort().map(e=>({type:"property",label:e,apply:e+": "}))}return pg||[]}const gg=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(e=>({type:"class",label:e})),Qg=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(e=>({type:"keyword",label:e})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(e=>({type:"constant",label:e}))),$g=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(e=>({type:"type",label:e})),xg=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(e=>({type:"keyword",label:e})),Xg=/^(\w[\w-]*|-\w[\w-]*|)$/,bg=/^-(-[\w-]*)?$/;const yg=new vo,Sg=["Declaration"];function vg(e){for(let t=e;;){if(t.type.isTop)return t;if(!(t=t.parent))return e}}function wg(e,t,n){if(t.to-t.from>4096){let s=yg.get(t);if(s)return s;let i=[],r=new Set,a=t.cursor(ro.IncludeAnonymous);if(a.firstChild())do{for(let t of wg(e,a.node,n))r.has(t.label)||(r.add(t.label),i.push(t))}while(a.nextSibling());return yg.set(t,i),i}{let s=[],i=new Set;return t.cursor().iterate(t=>{var r;if(n(t)&&t.matchContext(Sg)&&":"==(null===(r=t.node.nextSibling)||void 0===r?void 0:r.name)){let n=e.sliceString(t.from,t.to);i.has(n)||(i.add(n),s.push({label:n,type:"variable"}))}}),s}}const Pg=e=>t=>{let{state:n,pos:s}=t,i=bl(n).resolveInner(s,-1),r=i.type.isError&&i.from==i.to-1&&"-"==n.doc.sliceString(i.from,i.to);if("PropertyName"==i.name||(r||"TagName"==i.name)&&/^(Block|Styles)$/.test(i.resolve(i.to).name))return{from:i.from,options:mg(),validFor:Xg};if("ValueName"==i.name)return{from:i.from,options:Qg,validFor:Xg};if("PseudoClassName"==i.name)return{from:i.from,options:gg,validFor:Xg};if(e(i)||(t.explicit||r)&&function(e,t){var n;if(("("==e.name||e.type.isError)&&(e=e.parent||e),"ArgList"!=e.name)return!1;let s=null===(n=e.parent)||void 0===n?void 0:n.firstChild;return"Callee"==(null==s?void 0:s.name)&&"var"==t.sliceString(s.from,s.to)}(i,n.doc))return{from:e(i)||r?i.from:s,options:wg(n.doc,vg(i),e),validFor:bg};if("TagName"==i.name){for(let{parent:e}=i;e;e=e.parent)if("Block"==e.name)return{from:i.from,options:mg(),validFor:Xg};return{from:i.from,options:$g,validFor:Xg}}if("AtKeyword"==i.name)return{from:i.from,options:xg,validFor:Xg};if(!t.explicit)return null;let a=i.resolve(s),o=a.childBefore(s);return o&&":"==o.name&&"PseudoClassSelector"==a.name?{from:s,options:gg,validFor:Xg}:o&&":"==o.name&&"Declaration"==a.name||"ArgList"==a.name?{from:s,options:Qg,validFor:Xg}:"Block"==a.name||"Styles"==a.name?{from:s,options:mg(),validFor:Xg}:null},kg=Pg(e=>"VariableName"==e.name),_g=Xl.define({name:"css",parser:fg.configure({props:[jl.add({Declaration:Ll()}),Kl.add({"Block KeyframeList":Hl})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});const Dg=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Tg=new op({start:!1,shift:(e,t)=>5==t||6==t||319==t?e:320==t,strict:!1}),Wg=new If((e,t)=>{let{next:n}=e;(125==n||-1==n||t.context)&&e.acceptToken(317)},{contextual:!0,fallback:!0}),qg=new If((e,t)=>{let n,{next:s}=e;Dg.indexOf(s)>-1||(47!=s||47!=(n=e.peek(1))&&42!=n)&&(125==s||59==s||-1==s||t.context||e.acceptToken(315))},{contextual:!0}),Cg=new If((e,t)=>{91!=e.next||t.context||e.acceptToken(316)},{contextual:!0}),Fg=new If((e,t)=>{let{next:n}=e;if(43==n||45==n){if(e.advance(),n==e.next){e.advance();let n=!t.context&&t.canShift(1);e.acceptToken(n?1:2)}}else 63==n&&46==e.peek(1)&&(e.advance(),e.advance(),(e.next<48||e.next>57)&&e.acceptToken(3))},{contextual:!0});function Zg(e,t){return e>=65&&e<=90||e>=97&&e<=122||95==e||e>=192||!t&&e>=48&&e<=57}const Eg=new If((e,t)=>{if(60!=e.next||!t.dialectEnabled(0))return;if(e.advance(),47==e.next)return;let n=0;for(;Dg.indexOf(e.next)>-1;)e.advance(),n++;if(Zg(e.next,!0)){for(e.advance(),n++;Zg(e.next,!1);)e.advance(),n++;for(;Dg.indexOf(e.next)>-1;)e.advance(),n++;if(44==e.next)return;for(let t=0;;t++){if(7==t){if(!Zg(e.next,!0))return;break}if(e.next!="extends".charCodeAt(t))break;e.advance(),n++}}e.acceptToken(4,-n)}),Vg=Go({"get set async static":fl.modifier,"for while do if else switch try catch finally return throw break continue default case":fl.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":fl.operatorKeyword,"let var const using function class extends":fl.definitionKeyword,"import export from":fl.moduleKeyword,"with debugger new":fl.keyword,TemplateString:fl.special(fl.string),super:fl.atom,BooleanLiteral:fl.bool,this:fl.self,null:fl.null,Star:fl.modifier,VariableName:fl.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":fl.function(fl.variableName),VariableDefinition:fl.definition(fl.variableName),Label:fl.labelName,PropertyName:fl.propertyName,PrivatePropertyName:fl.special(fl.propertyName),"CallExpression/MemberExpression/PropertyName":fl.function(fl.propertyName),"FunctionDeclaration/VariableDefinition":fl.function(fl.definition(fl.variableName)),"ClassDeclaration/VariableDefinition":fl.definition(fl.className),"NewExpression/VariableName":fl.className,PropertyDefinition:fl.definition(fl.propertyName),PrivatePropertyDefinition:fl.definition(fl.special(fl.propertyName)),UpdateOp:fl.updateOperator,"LineComment Hashbang":fl.lineComment,BlockComment:fl.blockComment,Number:fl.number,String:fl.string,Escape:fl.escape,ArithOp:fl.arithmeticOperator,LogicOp:fl.logicOperator,BitOp:fl.bitwiseOperator,CompareOp:fl.compareOperator,RegExp:fl.regexp,Equals:fl.definitionOperator,Arrow:fl.function(fl.punctuation),": Spread":fl.punctuation,"( )":fl.paren,"[ ]":fl.squareBracket,"{ }":fl.brace,"InterpolationStart InterpolationEnd":fl.special(fl.brace),".":fl.derefOperator,", ;":fl.separator,"@":fl.meta,TypeName:fl.typeName,TypeDefinition:fl.definition(fl.typeName),"type enum interface implements namespace module declare":fl.definitionKeyword,"abstract global Privacy readonly override":fl.modifier,"is keyof unique infer asserts":fl.operatorKeyword,JSXAttributeValue:fl.attributeValue,JSXText:fl.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":fl.angleBracket,"JSXIdentifier JSXNameSpacedName":fl.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":fl.attributeName,"JSXBuiltin/JSXIdentifier":fl.standard(fl.tagName)}),Rg={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,for:474,of:483,while:486,with:490,do:494,if:498,else:500,switch:504,case:510,try:516,catch:520,finally:524,return:528,throw:532,break:536,continue:540,debugger:544},Ag={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},jg={__proto__:null,"<":193},zg=lp.deserialize({version:14,states:"$EOQ%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Ik'#IkO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JqO6[Q!0MxO'#JrO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO7eQMhO'#F|O9[Q`O'#F{OOQ!0Lf'#Jr'#JrOOQ!0Lb'#Jq'#JqO9aQ`O'#GwOOQ['#K^'#K^O9lQ`O'#IXO9qQ!0LrO'#IYOOQ['#J_'#J_OOQ['#I^'#I^Q`QlOOQ`QlOOO9yQ!L^O'#DvO:QQlO'#EOO:XQlO'#EQO9gQ`O'#GsO:`QMhO'#CoO:nQ`O'#EnO:yQ`O'#EyO;OQMhO'#FeO;mQ`O'#GsOOQO'#K_'#K_O;rQ`O'#K_O`Q`O'#CeO>pQ`O'#HbO>xQ`O'#HhO>xQ`O'#HjO`QlO'#HlO>xQ`O'#HnO>xQ`O'#HqO>}Q`O'#HwO?SQ!0LsO'#H}O%[QlO'#IPO?_Q!0LsO'#IRO?jQ!0LsO'#ITO9qQ!0LrO'#IVO?uQ!0MxO'#CiO@wQpO'#DlQOQ`OOO%[QlO'#EQOA_Q`O'#ETO:`QMhO'#EnOAjQ`O'#EnOAuQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Ju'#JuO%[QlO'#JuOOQO'#Jx'#JxOOQO'#Ig'#IgOBuQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J|'#J|OCqQ!0MSO'#EgOC{QpO'#EWOOQO'#Jw'#JwODaQpO'#JxOEnQpO'#EWOC{QpO'#EgPE{O&2DjO'#CbPOOO)CD|)CD|OOOO'#I_'#I_OFWO#tO,59UOOQ!0Lh,59U,59UOOOO'#I`'#I`OFfO&jO,59UOFtQ!L^O'#DcOOOO'#Ib'#IbOF{O#@ItO,59{OOQ!0Lf,59{,59{OGZQlO'#IcOGnQ`O'#JsOImQ!fO'#JsO+}QlO'#JsOItQ`O,5:ROJ[Q`O'#EpOJiQ`O'#KSOJtQ`O'#KROJtQ`O'#KROJ|Q`O,5;^OKRQ`O'#KQOOQ!0Ln,5:^,5:^OKYQlO,5:^OMWQ!0MxO,5:fOMwQ`O,5:nONbQ!0LrO'#KPONiQ`O'#KOO9aQ`O'#KOON}Q`O'#KOO! VQ`O,5;]O! [Q`O'#KOO!#aQ!fO'#JrOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$PQ!fO,5:sOOQS'#Jy'#JyOOQO-EsOOQ['#Jg'#JgOOQ[,5>t,5>tOOQ[-E<[-E<[O!nQ!0MxO,5:jO%[QlO,5:jO!AUQ!0MxO,5:lOOQO,5@y,5@yO!AuQMhO,5=_O!BTQ!0LrO'#JhO9[Q`O'#JhO!BfQ!0LrO,59ZO!BqQpO,59ZO!ByQMhO,59ZO:`QMhO,59ZO!CUQ`O,5;ZO!C^Q`O'#HaO!CrQ`O'#KcO%[QlO,5;}O!9xQpO,5}Q`O'#HWO9gQ`O'#HYO!EZQ`O'#HYO:`QMhO'#H[O!E`Q`O'#H[OOQ[,5=p,5=pO!EeQ`O'#H]O!EvQ`O'#CoO!E{Q`O,59PO!FVQ`O,59PO!H[QlO,59POOQ[,59P,59PO!HlQ!0LrO,59PO%[QlO,59PO!JwQlO'#HdOOQ['#He'#HeOOQ['#Hf'#HfO`QlO,5=|O!K_Q`O,5=|O`QlO,5>SO`QlO,5>UO!KdQ`O,5>WO`QlO,5>YO!KiQ`O,5>]O!KnQlO,5>cOOQ[,5>i,5>iO%[QlO,5>iO9qQ!0LrO,5>kOOQ[,5>m,5>mO# xQ`O,5>mOOQ[,5>o,5>oO# xQ`O,5>oOOQ[,5>q,5>qO#!fQpO'#D_O%[QlO'#JuO##XQpO'#JuO##cQpO'#DmO##tQpO'#DmO#&VQlO'#DmO#&^Q`O'#JtO#&fQ`O,5:WO#&kQ`O'#EtO#&yQ`O'#KTO#'RQ`O,5;_O#'WQpO'#DmO#'eQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#'lQ`O,5:oO>}Q`O,5;YO!BqQpO,5;YO!ByQMhO,5;YO:`QMhO,5;YO#'tQ`O,5@aO#'yQ07dO,5:sOOQO-E}O+}QlO,5>}OOQO,5?T,5?TO#+RQlO'#IcOOQO-EOO$5PQ`O,5>OOOQ[1G3h1G3hO`QlO1G3hOOQ[1G3n1G3nOOQ[1G3p1G3pO>xQ`O1G3rO$5UQlO1G3tO$9YQlO'#HsOOQ[1G3w1G3wO$9gQ`O'#HyO>}Q`O'#H{OOQ[1G3}1G3}O$9oQlO1G3}O9qQ!0LrO1G4TOOQ[1G4V1G4VOOQ!0Lb'#G_'#G_O9qQ!0LrO1G4XO9qQ!0LrO1G4ZO$=vQ`O,5@aO!)PQlO,5;`O9aQ`O,5;`O>}Q`O,5:XO!)PQlO,5:XO!BqQpO,5:XO$={Q?MtO,5:XOOQO,5;`,5;`O$>VQpO'#IdO$>mQ`O,5@`OOQ!0Lf1G/r1G/rO$>uQpO'#IjO$?PQ`O,5@oOOQ!0Lb1G0y1G0yO##tQpO,5:XOOQO'#If'#IfO$?XQpO,5:qOOQ!0Ln,5:q,5:qO#'oQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO>}Q`O1G0tO!BqQpO1G0tO!ByQMhO1G0tOOQ!0Lb1G5{1G5{O!BfQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$?`Q!0LrO1G0mO$?kQ!0LrO1G0mO!BqQpO1G0^OC{QpO1G0^O$?yQ!0LrO1G0mOOQO1G0^1G0^O$@_Q!0MxO1G0mPOOO-E}O$@{Q`O1G5yO$ATQ`O1G6XO$A]Q!fO1G6YO9aQ`O,5?TO$AgQ!0MxO1G6VO%[QlO1G6VO$AwQ!0LrO1G6VO$BYQ`O1G6UO$BYQ`O1G6UO9aQ`O1G6UO$BbQ`O,5?WO9aQ`O,5?WOOQO,5?W,5?WO$BvQ`O,5?WO$){Q`O,5?WOOQO-E_OOQ[,5>_,5>_O%[QlO'#HtO%>RQ`O'#HvOOQ[,5>e,5>eO9aQ`O,5>eOOQ[,5>g,5>gOOQ[7+)i7+)iOOQ[7+)o7+)oOOQ[7+)s7+)sOOQ[7+)u7+)uO%>WQpO1G5{O%>rQ?MtO1G0zO%>|Q`O1G0zOOQO1G/s1G/sO%?XQ?MtO1G/sO>}Q`O1G/sO!)PQlO'#DmOOQO,5?O,5?OOOQO-E}Q`O7+&`O!BqQpO7+&`OOQO7+%x7+%xO$@_Q!0MxO7+&XOOQO7+&X7+&XO%[QlO7+&XO%?cQ!0LrO7+&XO!BfQ!0LrO7+%xO!BqQpO7+%xO%?nQ!0LrO7+&XO%?|Q!0MxO7++qO%[QlO7++qO%@^Q`O7++pO%@^Q`O7++pOOQO1G4r1G4rO9aQ`O1G4rO%@fQ`O1G4rOOQS7+%}7+%}O#'oQ`O<`OOQ[,5>b,5>bO&=hQ`O1G4PO9aQ`O7+&fO!)PQlO7+&fOOQO7+%_7+%_O&=mQ?MtO1G6YO>}Q`O7+%_OOQ!0Lf<}Q`O<SQ!0MxO<= ]O&>dQ`O<= [OOQO7+*^7+*^O9aQ`O7+*^OOQ[ANAkANAkO&>lQ!fOANAkO!&oQMhOANAkO#'oQ`OANAkO4UQ!fOANAkO&>sQ`OANAkO%[QlOANAkO&>{Q!0MzO7+'zO&A^Q!0MzO,5?`O&CiQ!0MzO,5?bO&EtQ!0MzO7+'|O&HVQ!fO1G4kO&HaQ?MtO7+&aO&JeQ?MvO,5=XO&LlQ?MvO,5=ZO&L|Q?MvO,5=XO&M^Q?MvO,5=ZO&MnQ?MvO,59uO' tQ?MvO,5}Q`O7+)kO'-dQ`O<QPPP!>YHxPPPPPPPPP!AiP!BvPPHx!DXPHxPHxHxHxHxHxPHx!EkP!HuP!K{P!LP!LZ!L_!L_P!HrP!Lc!LcP# iP# mHxPHx# s#$xCW@zP@zP@z@zP#&V@z@z#(i@z#+a@z#-m@z@z#.]#0q#0q#0v#1P#0q#1[PP#0qP@z#1t@z#5s@z@z6bPPP#9xPPP#:c#:cP#:cP#:y#:cPP#;PP#:vP#:v#;d#:v#S#>Y#>d#>j#>t#>z#?[#?b#@S#@f#@l#@r#AQ#Ag#C[#Cj#Cq#E]#Ek#G]#Gk#Gq#Gw#G}#HX#H_#He#Ho#IR#IXPPPPPPPPPPP#I_PPPPPPP#JS#MZ#Ns#Nz$ SPPP$&nP$&w$)p$0Z$0^$0a$1`$1c$1j$1rP$1x$1{P$2i$2m$3e$4s$4x$5`PP$5e$5k$5o$5r$5v$5z$6v$7_$7v$7z$7}$8Q$8W$8Z$8_$8cR!|RoqOXst!Z#d%l&p&r&s&u,n,s2S2VY!vQ'^-`1g5qQ%svQ%{yQ&S|Q&h!VS'U!e-WQ'd!iS'j!r!yU*h$|*X*lQ+l%|Q+y&UQ,_&bQ-^']Q-h'eQ-p'kQ0U*nQ1q,`R < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:379,context:Tg,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,236,242,244,246,248,251,257,263,265,267,269,271,273,274,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[Vg],skippedNodes:[0,5,6,277],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Y!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Y!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(VpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(VpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Vp(Y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Vp(Y!b'{0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(W#S$i&j'|0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Vp(Y!b'|0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(U':f$i&j(Y!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Y!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Y!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Y!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Y!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Vp(Y!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Y!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(VpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(VpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Vp(Y!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Y!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Y!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Y!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Y!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Y!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Vp(Y!b'{0/l$]#t(S,2j(d$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Vp(Y!b'|0/l$]#t(S,2j(d$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[qg,Cg,Fg,Eg,2,3,4,5,6,7,8,9,10,11,12,13,14,Wg,new Gf("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(b~~",141,339),new Gf("j~RQYZXz{^~^O(P~~aP!P!Qd~iO(Q~~",25,322)],topRules:{Script:[0,7],SingleExpression:[1,275],SingleClassItem:[2,276]},dialects:{jsx:0,ts:15098},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:326,get:e=>Rg[e]||-1},{term:342,get:e=>Ag[e]||-1},{term:95,get:e=>jg[e]||-1}],tokenPrec:15124}),Yg=[Du("function ${name}(${params}) {\n\t${}\n}",{label:"function",detail:"definition",type:"keyword"}),Du("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n\t${}\n}",{label:"for",detail:"loop",type:"keyword"}),Du("for (let ${name} of ${collection}) {\n\t${}\n}",{label:"for",detail:"of loop",type:"keyword"}),Du("do {\n\t${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),Du("while (${}) {\n\t${}\n}",{label:"while",detail:"loop",type:"keyword"}),Du("try {\n\t${}\n} catch (${error}) {\n\t${}\n}",{label:"try",detail:"/ catch block",type:"keyword"}),Du("if (${}) {\n\t${}\n}",{label:"if",detail:"block",type:"keyword"}),Du("if (${}) {\n\t${}\n} else {\n\t${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),Du("class ${name} {\n\tconstructor(${params}) {\n\t\t${}\n\t}\n}",{label:"class",detail:"definition",type:"keyword"}),Du('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),Du('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],Ug=Yg.concat([Du("interface ${name} {\n\t${}\n}",{label:"interface",detail:"definition",type:"keyword"}),Du("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),Du("enum ${name} {\n\t${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),Bg=new vo,Mg=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function Gg(e){return(t,n)=>{let s=t.node.getChild("VariableDefinition");return s&&n(s,e),!0}}const Ig=["FunctionDeclaration"],Lg={FunctionDeclaration:Gg("function"),ClassDeclaration:Gg("class"),ClassExpression:()=>!0,EnumDeclaration:Gg("constant"),TypeAliasDeclaration:Gg("type"),NamespaceDeclaration:Gg("namespace"),VariableDefinition(e,t){e.matchContext(Ig)||t(e,"variable")},TypeDefinition(e,t){t(e,"type")},__proto__:null};function Ng(e,t){let n=Bg.get(t);if(n)return n;let s=[],i=!0;function r(t,n){let i=e.sliceString(t.from,t.to);s.push({label:i,type:n})}return t.cursor(ro.IncludeAnonymous).iterate(t=>{if(i)i=!1;else if(t.name){let e=Lg[t.name];if(e&&e(t,r)||Mg.has(t.name))return!1}else if(t.to-t.from>8192){for(let n of Ng(e,t.node))s.push(n);return!1}}),Bg.set(t,s),s}const Kg=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Hg=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function Jg(e){let t=bl(e.state).resolveInner(e.pos,-1);if(Hg.indexOf(t.name)>-1)return null;let n="VariableName"==t.name||t.to-t.from<20&&Kg.test(e.state.sliceDoc(t.from,t.to));if(!n&&!e.explicit)return null;let s=[];for(let n=t;n;n=n.parent)Mg.has(n.name)&&(s=s.concat(Ng(e.state.doc,n)));return{options:s,from:n?t.from:e.pos,validFor:Kg}}const eQ=Xl.define({name:"javascript",parser:zg.configure({props:[jl.add({IfStatement:Ll({except:/^\s*({|else\b)/}),TryStatement:Ll({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:e=>e.baseIndent,SwitchBody:e=>{let t=e.textAfter,n=/^\s*\}/.test(t),s=/^\s*(case|default)\b/.test(t);return e.baseIndent+(n?0:s?1:2)*e.unit},Block:Gl({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":Ll({except:/^\s*{/}),JSXElement(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},JSXEscape(e){let t=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"JSXOpenTag JSXSelfClosingTag":e=>e.column(e.node.from)+e.unit}),Kl.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":Hl,BlockComment:e=>({from:e.from+2,to:e.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),tQ={test:e=>/^JSX/.test(e.name),facet:gl({commentTokens:{block:{open:"{/*",close:"*/}"}}})},nQ=eQ.configure({dialect:"ts"},"typescript"),sQ=eQ.configure({dialect:"jsx",props:[Ql.add(e=>e.isTop?[tQ]:void 0)]}),iQ=eQ.configure({dialect:"jsx ts",props:[Ql.add(e=>e.isTop?[tQ]:void 0)]},"typescript");let rQ=e=>({label:e,type:"keyword"});const aQ="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(rQ),oQ=aQ.concat(["declare","implements","private","protected","public"].map(rQ));function lQ(e={}){let t=e.jsx?e.typescript?iQ:sQ:e.typescript?nQ:eQ,n=e.typescript?Ug.concat(oQ):Yg.concat(aQ);return new ql(t,[eQ.data.of({autocomplete:(s=Hg,i=Dh(n),e=>{for(let t=bl(e.state).resolveInner(e.pos,-1);t;t=t.parent){if(s.indexOf(t.name)>-1)return null;if(t.type.isTop)break}return i(e)})}),eQ.data.of({autocomplete:Jg}),e.jsx?hQ:[]]);var s,i}function OQ(e,t,n=e.length){for(let s=null==t?void 0:t.firstChild;s;s=s.nextSibling)if("JSXIdentifier"==s.name||"JSXBuiltin"==s.name||"JSXNamespacedName"==s.name||"JSXMemberExpression"==s.name)return e.sliceString(s.from,Math.min(s.to,n));return""}const cQ="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),hQ=rr.inputHandler.of((e,t,n,s,i)=>{if((cQ?e.composing:e.compositionStarted)||e.state.readOnly||t!=n||">"!=s&&"/"!=s||!eQ.isActiveAt(e.state,t,-1))return!1;let r=i(),{state:a}=r,o=a.changeByRange(e=>{var t;let n,{head:i}=e,r=bl(a).resolveInner(i-1,-1);if("JSXStartTag"==r.name&&(r=r.parent),a.doc.sliceString(i-1,i)!=s||"JSXAttributeValue"==r.name&&r.to>i);else{if(">"==s&&"JSXFragmentTag"==r.name)return{range:e,changes:{from:i,insert:""}};if("/"==s&&"JSXStartCloseTag"==r.name){let e=r.parent,s=e.parent;if(s&&e.from==i-2&&((n=OQ(a.doc,s.firstChild,i))||"JSXFragmentTag"==(null===(t=s.firstChild)||void 0===t?void 0:t.name))){let e=`${n}>`;return{range:Z.cursor(i+e.length,-1),changes:{from:i,insert:e}}}}else if(">"==s){let t=function(e){for(;;){if("JSXOpenTag"==e.name||"JSXSelfClosingTag"==e.name||"JSXFragmentTag"==e.name)return e;if("JSXEscape"==e.name||!e.parent)return null;e=e.parent}}(r);if(t&&"JSXOpenTag"==t.name&&!/^\/?>|^<\//.test(a.doc.sliceString(i,i+2))&&(n=OQ(a.doc,t,i)))return{range:e,changes:{from:i,insert:``}}}}return{range:e}});return!o.changes.empty&&(e.dispatch([r,a.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),uQ=["_blank","_self","_top","_parent"],dQ=["ascii","utf-8","utf-16","latin1","latin1"],fQ=["get","post","put","delete"],pQ=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],mQ=["true","false"],gQ={},QQ={a:{attrs:{href:null,ping:null,type:null,media:null,target:uQ,hreflang:null}},abbr:gQ,address:gQ,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:gQ,aside:gQ,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:gQ,base:{attrs:{href:null,target:uQ}},bdi:gQ,bdo:gQ,blockquote:{attrs:{cite:null}},body:gQ,br:gQ,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:pQ,formmethod:fQ,formnovalidate:["novalidate"],formtarget:uQ,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:gQ,center:gQ,cite:gQ,code:gQ,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:gQ,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:gQ,div:gQ,dl:gQ,dt:gQ,em:gQ,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:gQ,figure:gQ,footer:gQ,form:{attrs:{action:null,name:null,"accept-charset":dQ,autocomplete:["on","off"],enctype:pQ,method:fQ,novalidate:["novalidate"],target:uQ}},h1:gQ,h2:gQ,h3:gQ,h4:gQ,h5:gQ,h6:gQ,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:gQ,hgroup:gQ,hr:gQ,html:{attrs:{manifest:null}},i:gQ,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:pQ,formmethod:fQ,formnovalidate:["novalidate"],formtarget:uQ,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:gQ,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:gQ,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:gQ,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:dQ,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:gQ,noscript:gQ,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:gQ,param:{attrs:{name:null,value:null}},pre:gQ,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:gQ,rt:gQ,ruby:gQ,samp:gQ,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:dQ}},section:gQ,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:gQ,source:{attrs:{src:null,type:null,media:null}},span:gQ,strong:gQ,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:gQ,summary:gQ,sup:gQ,table:gQ,tbody:gQ,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:gQ,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:gQ,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:gQ,time:{attrs:{datetime:null}},title:gQ,tr:gQ,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:gQ,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:gQ},$Q={accesskey:null,class:null,contenteditable:mQ,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:mQ,autocorrect:mQ,autocapitalize:mQ,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":mQ,"aria-autocomplete":["inline","list","both","none"],"aria-busy":mQ,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":mQ,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":mQ,"aria-hidden":mQ,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":mQ,"aria-multiselectable":mQ,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":mQ,"aria-relevant":null,"aria-required":mQ,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},xQ="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(e=>"on"+e);for(let e of xQ)$Q[e]=null;class XQ{constructor(e,t){this.tags={...QQ,...e},this.globalAttrs={...$Q,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}function bQ(e,t,n=e.length){if(!t)return"";let s=t.firstChild,i=s&&s.getChild("TagName");return i?e.sliceString(i.from,Math.min(i.to,n)):""}function yQ(e,t=!1){for(;e;e=e.parent)if("Element"==e.name){if(!t)return e;t=!1}return null}function SQ(e,t,n){let s=n.tags[bQ(e,yQ(t))];return(null==s?void 0:s.children)||n.allTags}function vQ(e,t){let n=[];for(let s=yQ(t);s&&!s.type.isTop;s=yQ(s.parent)){let i=bQ(e,s);if(i&&"CloseTag"==s.lastChild.name)break;i&&n.indexOf(i)<0&&("EndTag"==t.name||t.from>=s.firstChild.to)&&n.push(i)}return n}XQ.default=new XQ;const wQ=/^[:\-\.\w\u00b7-\uffff]*$/;function PQ(e,t,n,s,i){let r=/\s*>/.test(e.sliceDoc(i,i+5))?"":">",a=yQ(n,"StartTag"==n.name||"TagName"==n.name);return{from:s,to:i,options:SQ(e.doc,a,t).map(e=>({label:e,type:"type"})).concat(vQ(e.doc,n).map((e,t)=>({label:"/"+e,apply:"/"+e+r,type:"type",boost:99-t}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function kQ(e,t,n,s){let i=/\s*>/.test(e.sliceDoc(s,s+5))?"":">";return{from:n,to:s,options:vQ(e.doc,t).map((e,t)=>({label:e,apply:e+i,type:"type",boost:99-t})),validFor:wQ}}function _Q(e,t){let{state:n,pos:s}=t,i=bl(n).resolveInner(s,-1),r=i.resolve(s);for(let e,t=s;r==i&&(e=i.childBefore(t));){let n=e.lastChild;if(!n||!n.type.isError||n.from({label:e,type:"property"})),validFor:wQ}}(n,e,i,"AttributeName"==i.name?i.from:s,s):"Is"==i.name||"AttributeValue"==i.name||"UnquotedAttributeValue"==i.name?function(e,t,n,s,i){var r;let a,o=null===(r=n.parent)||void 0===r?void 0:r.getChild("AttributeName"),l=[];if(o){let r=e.sliceDoc(o.from,o.to),O=t.globalAttrs[r];if(!O){let s=yQ(n),i=s?t.tags[bQ(e.doc,s)]:null;O=(null==i?void 0:i.attrs)&&i.attrs[r]}if(O){let t=e.sliceDoc(s,i).toLowerCase(),n='"',r='"';/^['"]/.test(t)?(a='"'==t[0]?/^[^"]*$/:/^[^']*$/,n="",r=e.sliceDoc(i,i+1)==t[0]?"":t[0],t=t.slice(1),s++):a=/^[^\s<>='"]*$/;for(let e of O)l.push({label:e,apply:n+e+r,type:"constant"})}}return{from:s,to:i,options:l,validFor:a}}(n,e,i,"Is"==i.name?s:i.from,s):!t.explicit||"Element"!=r.name&&"Text"!=r.name&&"Document"!=r.name?null:function(e,t,n,s){let i=[],r=0;for(let s of SQ(e.doc,n,t))i.push({label:"<"+s,type:"type"});for(let t of vQ(e.doc,n))i.push({label:"",type:"type",boost:99-r++});return{from:s,to:s,options:i,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}(n,e,i,s)}function DQ(e){let{extraTags:t,extraGlobalAttributes:n}=e,s=n||t?new XQ(t,n):XQ.default;return e=>_Q(s,e)}const TQ=eQ.parser.configure({top:"SingleExpression"}),WQ=[{tag:"script",attrs:e=>"text/typescript"==e.type||"ts"==e.lang,parser:nQ.parser},{tag:"script",attrs:e=>"text/babel"==e.type||"text/jsx"==e.type,parser:sQ.parser},{tag:"script",attrs:e=>"text/typescript-jsx"==e.type,parser:iQ.parser},{tag:"script",attrs:e=>/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(e.type),parser:TQ},{tag:"script",attrs:e=>!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type),parser:eQ.parser},{tag:"style",attrs:e=>(!e.lang||"css"==e.lang)&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type)),parser:_g.parser}],qQ=[{name:"style",parser:_g.parser.configure({top:"Styles"})}].concat(xQ.map(e=>({name:e,parser:eQ.parser}))),CQ=Xl.define({name:"html",parser:Im.configure({props:[jl.add({Element(e){let t=/^(\s*)(<\/)?/.exec(e.textAfter);return e.node.to<=e.pos+t[0].length?e.continue():e.lineIndent(e.node.from)+(t[2]?0:e.unit)},"OpenTag CloseTag SelfClosingTag":e=>e.column(e.node.from)+e.unit,Document(e){if(e.pos+/\s*/.exec(e.textAfter)[0].lengthe.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),FQ=CQ.configure({wrap:Hm(WQ,qQ)});function ZQ(e={}){let t,n="";!1===e.matchClosingTags&&(n="noMatch"),!0===e.selfClosingTags&&(n=(n?n+" ":"")+"selfClosing"),(e.nestedLanguages&&e.nestedLanguages.length||e.nestedAttributes&&e.nestedAttributes.length)&&(t=Hm((e.nestedLanguages||[]).concat(WQ),(e.nestedAttributes||[]).concat(qQ)));let s=t?CQ.configure({wrap:t,dialect:n}):n?FQ.configure({dialect:n}):FQ;return new ql(s,[FQ.data.of({autocomplete:DQ(e)}),!1!==e.autoCloseTags?VQ:[],lQ().support,new ql(_g,_g.data.of({autocomplete:kg})).support])}const EQ=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" "));const VQ=rr.inputHandler.of((e,t,n,s,i)=>{if(e.composing||e.state.readOnly||t!=n||">"!=s&&"/"!=s||!FQ.isActiveAt(e.state,t,-1))return!1;let r=i(),{state:a}=r,o=a.changeByRange(e=>{var t;let n,i=a.doc.sliceString(e.from-1,e.to)==s,{head:r}=e,o=bl(a).resolveInner(r,-1);if(i&&">"==s&&"EndTag"==o.name){let t=o.parent;if((n=bQ(a.doc,t.parent,r))&&!EQ.has(n)&&!function(e,t,n){for(var s;;){if("CloseTag"!=(null===(s=t.lastChild)||void 0===s?void 0:s.name))return!1;let i=t.parent;if(!i||bQ(e,i)!=n)return!0;t=i}}(a.doc,t.parent,n)){return{range:e,changes:{from:r,to:r+(">"===a.doc.sliceString(r,r+1)?1:0),insert:``}}}}else if(i&&"/"==s&&"IncompleteCloseTag"==o.name){let e=o.parent;if(o.from==r-2&&"CloseTag"!=(null===(t=e.lastChild)||void 0===t?void 0:t.name)&&(n=bQ(a.doc,e,r))&&!EQ.has(n)){let e=r+(">"===a.doc.sliceString(r,r+1)?1:0),t=`${n}>`;return{range:Z.cursor(r+t.length,-1),changes:{from:r,to:e,insert:t}}}}return{range:e}});return!o.changes.empty&&(e.dispatch([r,a.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});class RQ{static create(e,t,n,s,i){return new RQ(e,t,n,s+(s<<8)+e+(t<<4)|0,i,[],[])}constructor(e,t,n,s,i,r,a){this.type=e,this.value=t,this.from=n,this.hash=s,this.end=i,this.children=r,this.positions=a,this.hashProp=[[Ha.contextHash,s]]}addChild(e,t){e.prop(Ha.contextHash)!=this.hash&&(e=new ao(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let n=this.children.length-1;return n>=0&&(t=Math.max(t,this.positions[n]+this.children[n].length+this.from)),new ao(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(e,t,n)=>new ao(to.none,e,t,n,this.hashProp)})}}var AQ;!function(e){e[e.Document=1]="Document",e[e.CodeBlock=2]="CodeBlock",e[e.FencedCode=3]="FencedCode",e[e.Blockquote=4]="Blockquote",e[e.HorizontalRule=5]="HorizontalRule",e[e.BulletList=6]="BulletList",e[e.OrderedList=7]="OrderedList",e[e.ListItem=8]="ListItem",e[e.ATXHeading1=9]="ATXHeading1",e[e.ATXHeading2=10]="ATXHeading2",e[e.ATXHeading3=11]="ATXHeading3",e[e.ATXHeading4=12]="ATXHeading4",e[e.ATXHeading5=13]="ATXHeading5",e[e.ATXHeading6=14]="ATXHeading6",e[e.SetextHeading1=15]="SetextHeading1",e[e.SetextHeading2=16]="SetextHeading2",e[e.HTMLBlock=17]="HTMLBlock",e[e.LinkReference=18]="LinkReference",e[e.Paragraph=19]="Paragraph",e[e.CommentBlock=20]="CommentBlock",e[e.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",e[e.Escape=22]="Escape",e[e.Entity=23]="Entity",e[e.HardBreak=24]="HardBreak",e[e.Emphasis=25]="Emphasis",e[e.StrongEmphasis=26]="StrongEmphasis",e[e.Link=27]="Link",e[e.Image=28]="Image",e[e.InlineCode=29]="InlineCode",e[e.HTMLTag=30]="HTMLTag",e[e.Comment=31]="Comment",e[e.ProcessingInstruction=32]="ProcessingInstruction",e[e.Autolink=33]="Autolink",e[e.HeaderMark=34]="HeaderMark",e[e.QuoteMark=35]="QuoteMark",e[e.ListMark=36]="ListMark",e[e.LinkMark=37]="LinkMark",e[e.EmphasisMark=38]="EmphasisMark",e[e.CodeMark=39]="CodeMark",e[e.CodeText=40]="CodeText",e[e.CodeInfo=41]="CodeInfo",e[e.LinkTitle=42]="LinkTitle",e[e.LinkLabel=43]="LinkLabel",e[e.URL=44]="URL"}(AQ||(AQ={}));class jQ{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}}class zQ{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return MQ(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,n=0){for(let s=t;s=t.stack[n.depth+1].value+n.baseIndent)return!0;if(n.indent>=n.baseIndent+4)return!1;let s=(e.type==AQ.OrderedList?JQ:HQ)(n,t,!1);return s>0&&(e.type!=AQ.BulletList||NQ(n,t,!1)<0)&&n.text.charCodeAt(n.pos+s-1)==e.value}const UQ={[AQ.Blockquote]:(e,t,n)=>62==n.next&&(n.markers.push(P$(AQ.QuoteMark,t.lineStart+n.pos,t.lineStart+n.pos+1)),n.moveBase(n.pos+(BQ(n.text.charCodeAt(n.pos+1))?2:1)),e.end=t.lineStart+n.text.length,!0),[AQ.ListItem]:(e,t,n)=>!(n.indent-1)&&(n.moveBaseColumn(n.baseIndent+e.value),!0),[AQ.OrderedList]:YQ,[AQ.BulletList]:YQ,[AQ.Document]:()=>!0};function BQ(e){return 32==e||9==e||10==e||13==e}function MQ(e,t=0){for(;tn&&BQ(e.charCodeAt(t-1));)t--;return t}function IQ(e){if(96!=e.next&&126!=e.next)return-1;let t=e.pos+1;for(;t-1&&e.depth==t.stack.length&&t.parser.leafBlockParsers.indexOf(d$.SetextHeading)>-1||s<3?-1:1}function KQ(e,t){for(let n=e.stack.length-1;n>=0;n--)if(e.stack[n].type==t)return!0;return!1}function HQ(e,t,n){return 45!=e.next&&43!=e.next&&42!=e.next||e.pos!=e.text.length-1&&!BQ(e.text.charCodeAt(e.pos+1))||!(!n||KQ(t,AQ.BulletList)||e.skipSpace(e.pos+2)=48&&i<=57;){if(s++,s==e.text.length)return-1;i=e.text.charCodeAt(s)}return s==e.pos||s>e.pos+9||46!=i&&41!=i||se.pos+1||49!=e.next)?-1:s+1-e.pos}function e$(e){if(35!=e.next)return-1;let t=e.pos+1;for(;t6?-1:n}function t$(e){if(45!=e.next&&61!=e.next||e.indent>=e.baseIndent+4)return-1;let t=e.pos+1;for(;t/,i$=/\?>/,r$=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec(s);if(r)return e.append(P$(AQ.Comment,n,n+1+r[0].length));let a=/^\?[^]*?\?>/.exec(s);if(a)return e.append(P$(AQ.ProcessingInstruction,n,n+1+a[0].length));let o=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(s);return o?e.append(P$(AQ.HTMLTag,n,n+1+o[0].length)):-1},Emphasis(e,t,n){if(95!=t&&42!=t)return-1;let s=n+1;for(;e.char(s)==t;)s++;let i=e.slice(n-1,n),r=e.slice(s,s+1),a=C$.test(i),o=C$.test(r),l=/\s|^$/.test(i),O=/\s|^$/.test(r),c=!O&&(!o||l||a),h=!l&&(!a||O||o),u=c&&(42==t||!h||a),d=h&&(42==t||!c||o);return e.append(new W$(95==t?k$:_$,n,s,(u?1:0)|(d?2:0)))},HardBreak(e,t,n){if(92==t&&10==e.char(n+1))return e.append(P$(AQ.HardBreak,n,n+2));if(32==t){let t=n+1;for(;32==e.char(t);)t++;if(10==e.char(t)&&t>=n+2)return e.append(P$(AQ.HardBreak,n,t+1))}return-1},Link:(e,t,n)=>91==t?e.append(new W$(D$,n,n+1,1)):-1,Image:(e,t,n)=>33==t&&91==e.char(n+1)?e.append(new W$(T$,n,n+2,1)):-1,LinkEnd(e,t,n){if(93!=t)return-1;for(let t=e.parts.length-1;t>=0;t--){let s=e.parts[t];if(s instanceof W$&&(s.type==D$||s.type==T$)){if(!s.side||e.skipSpace(s.to)==n&&!/[(\[]/.test(e.slice(n+1,n+2)))return e.parts[t]=null,-1;let i=e.takeContent(t),r=e.parts[t]=Z$(e,i,s.type==D$?AQ.Link:AQ.Image,s.from,n+1);if(s.type==D$)for(let n=0;nt?P$(AQ.URL,t+n,i+n):i==e.length&&null}}function V$(e,t,n){let s=e.charCodeAt(t);if(39!=s&&34!=s&&40!=s)return!1;let i=40==s?41:s;for(let s=t+1,r=!1;s=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,n,s,i){return this.append(new W$(e,t,n,(s?1:0)|(i?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof W$&&(t.type==D$||t.type==T$))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let t=e;t=e;a--){let e=this.parts[a];if(e instanceof W$&&1&e.side&&e.type==n.type&&!(i&&(1&n.side||2&e.side)&&(e.to-e.from+r)%3==0&&((e.to-e.from)%3||r%3))){s=e;break}}if(!s)continue;let o=n.type.resolve,l=[],O=s.from,c=n.to;if(i){let e=Math.min(2,s.to-s.from,r);O=s.to-e,c=n.from+e,o=1==e?"Emphasis":"StrongEmphasis"}s.type.mark&&l.push(this.elt(s.type.mark,O,s.to));for(let e=a+1;e=0;t--){let n=this.parts[t];if(n instanceof W$&&n.type==e&&1&n.side)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}getDelimiterAt(e){let t=this.parts[e];return t instanceof W$?t:null}skipSpace(e){return MQ(this.text,e-this.offset)+this.offset}elt(e,t,n,s){return"string"==typeof e?P$(this.parser.getNodeType(e),t,n,s):new w$(e,t)}}function j$(e,t){if(!t.length)return e;if(!e.length)return t;let n=e.slice(),s=0;for(let e of t){for(;s(e?e-1:0))return!1;if(this.fragmentEnd<0){let e=this.fragment.to;for(;e>0&&"\n"!=this.input.read(e-1,e);)e--;this.fragmentEnd=e?e-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let s=e+this.fragment.offset;for(;n.to<=s;)if(!n.parent())return!1;for(;;){if(n.from>=s)return this.fragment.from<=t;if(!n.childAfter(s))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(Ha.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,s=this.fragmentEnd-(this.fragment.openEnd?1:0),i=e.absoluteLineStart,r=i,a=e.block.children.length,o=r,l=a;for(;;){if(t.to-n>s){if(t.type.isAnonymous&&t.firstChild())continue;break}let i=U$(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,i);else{let n=new ao(e.parser.nodeSet.types[AQ.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(n,t.tree),e.addNode(n,i)}if(t.type.is("Block")&&(z$.indexOf(t.type.id)<0?(r=t.to-n,a=e.block.children.length):(r=o,a=l),o=t.to-n,l=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return r-i}}function U$(e,t){let n=e;for(let s=1;sO$[e]),Object.keys(O$).map(e=>d$[e]),Object.keys(O$),f$,UQ,Object.keys(F$).map(e=>F$[e]),Object.keys(F$),[]);function G$(e,t,n){let s=[];for(let i=e.firstChild,r=t;;i=i.nextSibling){let e=i?i.from:n;if(e>r&&s.push({from:r,to:e}),!i)break;r=i.to}return s}const I$={resolve:"Strikethrough",mark:"StrikethroughMark"},L$={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":fl.strikethrough}},{name:"StrikethroughMark",style:fl.processingInstruction}],parseInline:[{name:"Strikethrough",parse(e,t,n){if(126!=t||126!=e.char(n+1)||126==e.char(n+2))return-1;let s=e.slice(n-1,n),i=e.slice(n+2,n+3),r=/\s|^$/.test(s),a=/\s|^$/.test(i),o=C$.test(s),l=C$.test(i);return e.addDelimiter(I$,n,n+2,!a&&(!l||r||o),!r&&(!o||a||l))},after:"Emphasis"}]};function N$(e,t,n=0,s,i=0){let r=0,a=!0,o=-1,l=-1,O=!1,c=()=>{s.push(e.elt("TableCell",i+o,i+l,e.parser.parseInline(t.slice(o,l),i+o)))};for(let h=n;h-1)&&r++,a=!1,s&&(o>-1&&c(),s.push(e.elt("TableDelimiter",h+i,h+i+1))),o=l=-1),O=!O&&92==n}return o>-1&&(r++,s&&c()),r}function K$(e,t){for(let n=t;n\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/;class J${constructor(){this.rows=null}nextLine(e,t,n){if(null==this.rows){let s;if(this.rows=!1,(45==t.next||58==t.next||124==t.next)&&H$.test(s=t.text.slice(t.pos))){let i=[];N$(e,n.content,0,i,n.start)==N$(e,s,0)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,i),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let n=[];N$(e,t.text,t.pos,n,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,n))}return!1}finish(e,t){return!!this.rows&&(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0)}}const ex={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":fl.heading}},"TableRow",{name:"TableCell",style:fl.content},{name:"TableDelimiter",style:fl.processingInstruction}],parseBlock:[{name:"Table",leaf:(e,t)=>K$(t.content,0)?new J$:null,endLeaf(e,t,n){if(n.parsers.some(e=>e instanceof J$)||!K$(t.text,t.basePos))return!1;let s=e.peekLine();return H$.test(s)&&N$(e,t.text,t.basePos)==N$(e,s,t.basePos)},before:"SetextHeading"}]};class tx{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}}const nx={defineNodes:[{name:"Task",block:!0,style:fl.list},{name:"TaskMarker",style:fl.atom}],parseBlock:[{name:"TaskList",leaf:(e,t)=>/^\[[ xX]\][ \t]/.test(t.content)&&"ListItem"==e.parentType().name?new tx:null,after:"SetextHeading"}]},sx=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,ix=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,rx=/[\w-]+\.[\w-]+($|[/:])/,ax=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,ox=/\/[a-zA-Z\d@.]+/gy;function lx(e,t,n,s){let i=0;for(let r=t;r-1)return-1;let s=t+n[0].length;for(;;){let n,i=e[s-1];if(/[?!.,:*_~]/.test(i)||")"==i&&lx(e,t,s,")")>lx(e,t,s,"("))s--;else{if(";"!=i||!(n=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(e.slice(t,s))))break;s=t+n.index}}return s}(e.text,s+i[0].length),r>-1&&e.hasOpenLink){r=s+/([^\[\]]|\[[^\]]*\])*/.exec(e.text.slice(s,r))[0].length}}else i[3]?r=Ox(e.text,s):(r=Ox(e.text,s+i[0].length),r>-1&&"xmpp:"==i[0]&&(ox.lastIndex=r,i=ox.exec(e.text),i&&(r=i.index+i[0].length)));return r<0?-1:(e.addElement(e.elt("URL",n,r+e.offset)),r+e.offset)}}]}];function hx(e,t,n){return(s,i,r)=>{if(i!=e||s.char(r+1)==e)return-1;let a=[s.elt(n,r,r+1)];for(let i=r+1;i!e.is("Block")||e.is("Document")||null!=Qx(e)||function(e){return"OrderedList"==e.name||"BulletList"==e.name}(e)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),mx.add(Qx),jl.add({Document:()=>null}),ml.add({Document:px})]});function Qx(e){let t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}function $x(e,t){let n=e;for(;;){let e,s=n.nextSibling;if(!s||null!=(e=Qx(s.type))&&e<=t)break;n=s}return n.to}const xx=Nl.of((e,t,n)=>{for(let s=bl(e).resolveInner(n,-1);s&&!(s.fromn)return{from:n,to:t}}return null});function Xx(e){return new $l(px,e,[],"markdown")}const bx=Xx(gx),yx=Xx(gx.configure([cx,dx,ux,fx,{props:[Kl.add({Table:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}]));class Sx{constructor(e,t,n,s,i,r,a){this.node=e,this.from=t,this.to=n,this.spaceBefore=s,this.spaceAfter=i,this.type=r,this.item=a}blank(e,t=!0){let n=this.spaceBefore+("Blockquote"==this.node.name?">":"");if(null!=e){for(;n.length0;e--)n+=" ";return n+(t?this.spaceAfter:"")}marker(e,t){let n="OrderedList"==this.node.name?String(+wx(this.item,e)[2]+t):"";return this.spaceBefore+n+this.type+this.spaceAfter}}function vx(e,t){let n=[],s=[];for(let t=e;t;t=t.parent){if("FencedCode"==t.name)return s;"ListItem"!=t.name&&"Blockquote"!=t.name||n.push(t)}for(let e=n.length-1;e>=0;e--){let i,r=n[e],a=t.lineAt(r.from),o=r.from-a.from;if("Blockquote"==r.name&&(i=/^ *>( ?)/.exec(a.text.slice(o))))s.push(new Sx(r,o,o+i[0].length,"",i[1],">",null));else if("ListItem"==r.name&&"OrderedList"==r.parent.name&&(i=/^( *)\d+([.)])( *)/.exec(a.text.slice(o)))){let e=i[3],t=i[0].length;e.length>=4&&(e=e.slice(0,e.length-4),t-=4),s.push(new Sx(r.parent,o,o+t,i[1],e,i[2],r))}else if("ListItem"==r.name&&"BulletList"==r.parent.name&&(i=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(o)))){let e=i[4],t=i[0].length;e.length>4&&(e=e.slice(0,e.length-4),t-=4);let n=i[2];i[3]&&(n+=i[3].replace(/[xX]/," ")),s.push(new Sx(r.parent,o,o+t,i[1],e,n,r))}}return s}function wx(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function Px(e,t,n,s=0){for(let i=-1,r=e;;){if("ListItem"==r.name){let e=wx(r,t),a=+e[2];if(i>=0){if(a!=i+1)return;n.push({from:r.from+e[1].length,to:r.from+e[0].length,insert:String(i+2+s)})}i=a}let e=r.nextSibling;if(!e)break;r=e}}function kx(e,t){let n=/^[ \t]*/.exec(e)[0].length;if(!n||"\t"!=t.facet(Zl))return e;let s="";for(let t=Be(e,4,n);t>0;)t>=4?(s+="\t",t-=4):(s+=" ",t--);return s+e.slice(n)}const _x=(e={})=>({state:t,dispatch:n})=>{let s=bl(t),{doc:i}=t,r=null,a=t.changeByRange(n=>{if(!n.empty||!yx.isActiveAt(t,n.from,-1)&&!yx.isActiveAt(t,n.from,1))return r={range:n};let a=n.from,o=i.lineAt(a),l=vx(s.resolveInner(a,-1),i);for(;l.length&&l[l.length-1].from>a-o.from;)l.pop();if(!l.length)return r={range:n};let O=l[l.length-1];if(O.to-O.spaceAfter.length>a-o.from)return r={range:n};let c=a>=O.to-O.spaceAfter.length&&!/\S/.test(o.text.slice(O.to));if(O.item&&c){if(O.item.from]*$/.test(o.text.slice(0,O.to)))return r={range:n};let s=O.node.firstChild,c=O.node.getChild("ListItem","ListItem");if(s.to>=a||c&&c.to0&&!/[^\s>]/.test(i.lineAt(o.from-1).text)||!1===e.nonTightLists){let e,t=l.length>1?l[l.length-2]:null,n="";t&&t.item?(e=o.from+t.from,n=t.marker(i,1)):e=o.from+(t?t.to:0);let s=[{from:e,to:a,insert:n}];return"OrderedList"==O.node.name&&Px(O.item,i,s,-2),t&&"OrderedList"==t.node.name&&Px(t.item,i,s),{range:Z.cursor(e+n.length),changes:s}}{let e=Tx(l,t,o);return{range:Z.cursor(a+e.length+1),changes:{from:o.from,insert:e+t.lineBreak}}}}if("Blockquote"==O.node.name&&c&&o.from){let e=i.lineAt(o.from-1),s=/>\s*$/.exec(e.text);if(s&&s.index==O.from){let i=t.changes([{from:e.from+s.index,to:e.to},{from:o.from+O.from,to:o.to}]);return{range:n.map(i),changes:i}}}let h=[];"OrderedList"==O.node.name&&Px(O.item,i,h);let u=O.item&&O.item.from]*/.exec(o.text)[0].length>=O.to)for(let e=0,t=l.length-1;e<=t;e++)d+=e!=t||u?l[e].blank(eo.from&&/\s/.test(o.text.charAt(f-o.from-1));)f--;return d=kx(d,t),function(e,t){if("OrderedList"!=e.name&&"BulletList"!=e.name)return!1;let n=e.firstChild,s=e.getChild("ListItem","ListItem");if(!s)return!1;let i=t.lineAt(n.to),r=t.lineAt(s.from),a=/^[\s>]*$/.test(i.text);return i.number+(a?0:1){let n=bl(e),s=null,i=e.changeByRange(t=>{let i=t.from,{doc:r}=e;if(t.empty&&yx.isActiveAt(e,t.from)){let t=r.lineAt(i),s=vx(function(e,t){let n=e.resolveInner(t,-1),s=t;Dx(n)&&(s=n.from,n=n.parent);for(let e;e=n.childBefore(s);)if(Dx(e))s=e.from;else{if("OrderedList"!=e.name&&"BulletList"!=e.name)break;n=e.lastChild,s=n.to}return n}(n,i),r);if(s.length){let n=s[s.length-1],r=n.to-n.spaceAfter.length+(n.spaceAfter?1:0);if(i-t.from>r&&!/\S/.test(t.text.slice(r,i-t.from)))return{range:Z.cursor(t.from+r),changes:{from:t.from+r,to:i}};if(i-t.from==r&&(n.item&&t.from<=n.item.from||/^[\s>]*$/.test(t.text.slice(0,n.to)))){let s=t.from+n.from;if(n.item&&n.node.from{var n;let{main:s}=t.state.selection;if(s.empty)return!1;let i=null===(n=e.clipboardData)||void 0===n?void 0:n.getData("text/plain");if(!i||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(i))return!1;if(/^www\./.test(i)&&(i="https://"+i),!yx.isActiveAt(t.state,s.from,1))return!1;let r=bl(t.state),a=!1;return r.iterate({from:s.from,to:s.to,enter:e=>{(e.from>s.from||Ex.test(e.name))&&(a=!0)},leave:e=>{e.to{if(/^\s*$/.test(e.state.doc.toString()))return[];const t=[],n=e.state.doc.length;return bl(e.state).iterate({enter(s){if(!s.type.isError)return;const i=function(e){for(;e&&(e.type.isAnonymous||e.type.isError);)e=e.parent;return e?.type.name??"top-level"}(s.node.parent),r=e.state.doc.sliceString(s.from,s.to).trim();let a;a=s.from===n&&s.from===s.to?`Unexpected end-of-input while parsing ${i}`:r?`Unexpected “${r}” while parsing ${i}`:`Syntax error while parsing ${i}`,t.push({from:s.from,to:s.to,severity:"error",source:"parser",message:a})}}),t});const Ax="14px",jx="JetBrains Mono, Consolas, monospace",zx="1.6",Yx="none",Ux="line-through",Bx="1px 3px",Mx="3px",Gx="none",Ix="8px",Lx="0.9em",Nx="500",Kx="none",Hx="4px",Jx="2px 10px",eX="2px",tX="4px",nX="0 5px",sX="0 2px",iX="12px",rX="12px",aX="6px",oX="4px",lX="2px 6px",OX="4px",cX="3px",hX="1.3",uX="4px 8px",dX="8px",fX="#f5f5f5",pX="#212121",mX="#757575",gX="#9e9e9e",QX="#424242",$X="#fafafa",xX="#f44336",XX="#ff3e00",bX="#FF00E9FF",yX="#ff9800",SX="#00acc1",vX="#3949ab",wX="#8e24aa",PX="#43a047",kX="#00897b",_X="#1e88e5",DX=xX,TX="#ffffff",WX=fX,qX=gX,CX=SX,FX=yX,ZX=SX,EX=wX,VX="#ECEFF180",RX="#e6ffed80",AX="#ffebe980",jX="#28a745",zX="#d73a49",YX=[rr.theme({"&":{color:pX,backgroundColor:TX,fontSize:Ax,fontFamily:jx},".cm-content":{caretColor:qX,lineHeight:zx},".cm-cursor, .cm-dropCursor":{borderLeftColor:qX,borderLeftWidth:"2px"},".cm-fat-cursor":{backgroundColor:`${pX}99`,color:TX},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"#DDEEFF"},".cm-selectionLayer":{zIndex:100},".cm-searchMatch":{backgroundColor:"#FFA72680",outline:"1px solid #ffc107",color:pX,borderRadius:oX,"& span":{color:pX}},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:SX,color:TX,padding:lX,"& span":{color:TX}},".cm-search.cm-panel.cm-textfield":{color:pX,borderRadius:oX,padding:lX},".cm-panels":{backgroundColor:"#eeeeee",color:pX,borderRadius:"4px",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)"},".cm-panels.cm-panels-top":{borderBottom:`1px solid ${gX}`},".cm-panels.cm-panels-bottom":{borderTop:`1px solid ${gX}`},".cm-panel button":{backgroundColor:WX,color:pX,border:Kx,borderRadius:Hx,padding:Jx},".cm-panel button:hover":{backgroundColor:"#CFD8DC"},".cm-activeLine":{backgroundColor:"#00000008",borderRadius:"2px",zIndex:1},".cm-gutters":{backgroundColor:$X,color:mX,border:Gx,borderRight:`1px solid ${gX}`,paddingRight:Ix},".cm-activeLineGutter":{backgroundColor:"#E0E0E0",color:pX,fontWeight:Nx},".cm-lineNumbers":{fontSize:Lx},".cm-foldGutter":{fontSize:Lx},".cm-foldGutter .cm-gutterElement":{color:mX,cursor:"pointer",transition:"color 0.15s ease"},".cm-foldGutter .cm-gutterElement:hover":{color:pX},".cm-insertedLine":{textDecoration:Yx,backgroundColor:RX,color:jX,padding:Bx,borderRadius:Mx},"ins.cm-insertedLine, ins.cm-insertedLine:not(:has(.cm-changedText))":{textDecoration:Yx,backgroundColor:`${RX} !important`,color:jX,padding:Bx,borderRadius:Mx,border:`1px solid ${jX}30`},"ins.cm-insertedLine .cm-changedText":{background:"transparent !important"},".cm-deletedLine":{textDecoration:Ux,backgroundColor:AX,color:zX,padding:Bx,borderRadius:Mx},"del.cm-deletedLine, del, del:not(:has(.cm-deletedText))":{textDecoration:Ux,backgroundColor:`${AX} !important`,color:zX,padding:Bx,borderRadius:Mx,border:`1px solid ${zX}30`},"del .cm-deletedText, del .cm-changedText":{background:"transparent !important"},".cm-tooltip":{backgroundColor:WX,border:`1px solid ${gX}`,borderRadius:OX,padding:uX,boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)"},".cm-tooltip-autocomplete":{"& > ul":{backgroundColor:WX,border:"none"},"& > ul > li":{padding:uX,lineHeight:hX},"& > ul > li[aria-selected]":{backgroundColor:VX,color:pX,borderRadius:cX},"& > ul > li:hover":{backgroundColor:VX},"& > ul > li > span.cm-completionIcon":{color:mX,paddingRight:dX},"& > ul > li > span.cm-completionDetail":{color:mX,fontStyle:"italic"}},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:WX,borderBottomColor:WX},".cm-diagnostic":{"&-error":{borderLeft:`3px solid ${DX}`},"&-warning":{borderLeft:`3px solid ${FX}`},"&-info":{borderLeft:`3px solid ${ZX}`}},".cm-lintPoint-error":{borderBottom:`2px wavy ${DX}`},".cm-lintPoint-warning":{borderBottom:`2px wavy ${FX}`},".cm-matchingBracket":{backgroundColor:"#DDEEFF80",outline:`1px solid ${CX}`,borderRadius:eX},".cm-nonmatchingBracket":{backgroundColor:`${DX}20`,outline:`1px solid ${DX}`,borderRadius:eX},".cm-selectionMatch":{backgroundColor:"#90a4ae26",outline:`1px solid ${mX}30`,borderRadius:eX},".cm-foldPlaceholder":{backgroundColor:fX,color:mX,border:`1px dotted ${mX}70`,borderRadius:tX,padding:nX,margin:sX},"&.cm-focused":{outline:"none",boxShadow:`0 0 0 2px ${TX}, 0 0 0 3px ${SX}40`},"& .cm-scroller::-webkit-scrollbar":{width:iX,height:rX},"& .cm-scroller::-webkit-scrollbar-track":{background:$X},"& .cm-scroller::-webkit-scrollbar-thumb":{backgroundColor:mX,borderRadius:aX,border:`3px solid ${$X}`},"& .cm-scroller::-webkit-scrollbar-thumb:hover":{backgroundColor:pX},".cm-ghostText":{opacity:"0.5",color:mX}},{dark:!1}),wO(bO.define([{tag:fl.keyword,color:SX,fontWeight:"bold"},{tag:fl.controlKeyword,color:SX,fontWeight:"bold"},{tag:fl.moduleKeyword,color:SX,fontWeight:"bold"},{tag:[fl.name,fl.deleted,fl.character,fl.macroName],color:QX},{tag:[fl.variableName],color:QX},{tag:[fl.propertyName],color:kX,fontStyle:"normal"},{tag:[fl.typeName],color:yX},{tag:[fl.className],color:yX,fontStyle:"italic"},{tag:[fl.namespace],color:vX,fontStyle:"italic"},{tag:[fl.operator,fl.operatorKeyword],color:vX},{tag:[fl.bracket],color:wX},{tag:[fl.brace],color:wX},{tag:[fl.punctuation],color:mX},{tag:[fl.function(fl.variableName)],color:XX},{tag:[fl.labelName],color:_X,fontStyle:"italic"},{tag:[fl.definition(fl.function(fl.variableName))],color:XX},{tag:[fl.definition(fl.variableName)],color:bX},{tag:fl.number,color:yX},{tag:fl.changed,color:yX},{tag:fl.annotation,color:DX,fontStyle:"italic"},{tag:fl.modifier,color:yX,fontStyle:"italic"},{tag:fl.self,color:yX},{tag:[fl.color,fl.constant(fl.name),fl.standard(fl.name)],color:yX},{tag:[fl.atom,fl.bool],color:wX},{tag:[fl.processingInstruction,fl.inserted],color:PX},{tag:fl.string,color:PX},{tag:[fl.special(fl.string),fl.regexp],color:bX},{tag:fl.definition(fl.typeName),color:bX,fontWeight:"bold"},{tag:[fl.definition(fl.name),fl.separator],color:bX},{tag:fl.meta,color:mX},{tag:fl.comment,fontStyle:"italic",color:mX},{tag:fl.docComment,fontStyle:"italic",color:mX},{tag:[fl.tagName],color:XX},{tag:[fl.attributeName],color:QX},{tag:[fl.heading],fontWeight:"bold",color:kX},{tag:fl.heading1,color:_X},{tag:fl.heading2,color:yX},{tag:fl.heading3,color:SX},{tag:fl.heading4,color:vX},{tag:fl.heading5,color:wX},{tag:fl.heading6,color:PX},{tag:[fl.strong],fontWeight:"bold",color:vX},{tag:[fl.emphasis],fontStyle:"italic",color:yX},{tag:[fl.link],color:EX,fontWeight:"500",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[fl.url],color:ZX,textDecoration:"underline",textUnderlineOffset:"2px"},{tag:[fl.invalid],color:pX,textDecoration:"underline wavy",borderBottom:`1px dotted ${xX}`},{tag:[fl.strikethrough],color:DX,textDecoration:"line-through"},{tag:fl.constant(fl.name),color:XX},{tag:fl.deleted,color:DX},{tag:fl.squareBracket,color:xX},{tag:fl.angleBracket,color:pX},{tag:fl.monospace,color:pX},{tag:[fl.contentSeparator],color:SX},{tag:fl.quote,color:PX}]))],UX="#e06c75",BX="#abb2bf",MX="#7d8799",GX="#d19a66",IX="#2c313a",LX="#282c34",NX="#353a42",KX="#528bff",HX=[rr.theme({"&":{color:BX,backgroundColor:LX},".cm-content":{caretColor:KX},".cm-cursor, .cm-dropCursor":{borderLeftColor:KX},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"#3E4451"},".cm-panels":{backgroundColor:"#21252b",color:BX},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:LX,color:MX,border:"none"},".cm-activeLineGutter":{backgroundColor:IX},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:NX},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:NX,borderBottomColor:NX},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:IX,color:BX}}},{dark:!0}),wO(bO.define([{tag:fl.keyword,color:"#c678dd"},{tag:[fl.name,fl.deleted,fl.character,fl.propertyName,fl.macroName],color:UX},{tag:[fl.function(fl.variableName),fl.labelName],color:"#61afef"},{tag:[fl.color,fl.constant(fl.name),fl.standard(fl.name)],color:GX},{tag:[fl.definition(fl.name),fl.separator],color:BX},{tag:[fl.typeName,fl.className,fl.number,fl.changed,fl.annotation,fl.modifier,fl.self,fl.namespace],color:"#e5c07b"},{tag:[fl.operator,fl.operatorKeyword,fl.url,fl.escape,fl.regexp,fl.link,fl.special(fl.string)],color:"#56b6c2"},{tag:[fl.meta,fl.comment],color:MX},{tag:fl.strong,fontWeight:"bold"},{tag:fl.emphasis,fontStyle:"italic"},{tag:fl.strikethrough,textDecoration:"line-through"},{tag:fl.link,color:MX,textDecoration:"underline"},{tag:fl.heading,fontWeight:"bold",color:UX},{tag:[fl.atom,fl.bool,fl.special(fl.variableName)],color:GX},{tag:[fl.processingInstruction,fl.string,fl.inserted],color:"#98c379"},{tag:fl.invalid,color:"#ffffff"}]))],JX=window.matchMedia("(prefers-color-scheme: dark)"),eb=()=>JX.matches?HX:YX,tb=function(e={}){let{codeLanguages:t,defaultCodeLanguage:n,addKeymap:s=!0,base:{parser:i}=bx,completeHTMLTags:r=!0,pasteURLAsLink:a=!0,htmlTagLanguage:o=qx}=e;if(!(i instanceof Q$))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let l,O=e.extensions?[e.extensions]:[],c=[o.support,xx];a&&c.push(Vx),n instanceof ql?(c.push(n.support),l=n.language):n&&(l=n);let h=t||l?(u=t,d=l,e=>{if(e&&u){let t=null;if(e=/\S*/.exec(e)[0],t="function"==typeof u?u(e):Cl.matchLanguageName(u,e,!0),t instanceof Cl)return t.support?t.support.language.parser:wl.getSkippingParser(t.load());if(t)return t.parser}return d?d.parser:null}):void 0;var u,d;O.push(function(e){let{codeParser:t,htmlParser:n}=e,s=_o((e,s)=>{let i=e.type.id;if(!t||i!=AQ.CodeBlock&&i!=AQ.FencedCode){if(n&&(i==AQ.HTMLBlock||i==AQ.HTMLTag||i==AQ.CommentBlock))return{parser:n,overlay:G$(e.node,e.from,e.to)}}else{let n="";if(i==AQ.FencedCode){let t=e.node.getChild(AQ.CodeInfo);t&&(n=s.read(t.from,t.to))}let r=t(n);if(r)return{parser:r,overlay:e=>e.type.id==AQ.CodeText,bracketed:i==AQ.FencedCode}}return null});return{wrap:s}}({codeParser:h,htmlParser:o.language.parser})),s&&c.push(H.high(dr.of(Wx)));let f=Xx(i.configure(O));return r&&c.push(f.data.of({autocomplete:Cx})),new ql(f,c)}({codeLanguages:[Cl.of({name:"XQuery",alias:["xquery","xq","xqm","xquery-fiddle"],support:Lp()}),Cl.of({name:"XML",alias:["xml","xhtml","svg"],support:xm()}),Cl.of({name:"HTML",alias:["html"],support:ZQ()}),Cl.of({name:"JSON",alias:["json"],support:wm()}),Cl.of({name:"JavaScript",alias:["javascript","js"],support:lQ()}),Cl.of({name:"TypeScript",alias:["typescript","ts"],support:lQ({typescript:!0})})]}),nb=tb.language.parser,sb=new Set(["pre","code","call","result","xmlsyntax","query"]),ib=(e,t)=>{const n=e.getChild("OpenTag")?.getChild("TagName");return n?t.read(n.from,n.to):""},rb=$m.configure({wrap:_o((e,t)=>((e,t)=>{if("Text"!==e.name)return!1;for(let n=e.node.parent;n;n=n.parent)if("Element"===n.name&&sb.has(ib(n,t)))return!1;return!0})(e,t)?{parser:nb}:null)}),ab={xquery:()=>Lp(),xml:()=>xm(),"xml-markdown":()=>new ql(rb,tb.support),html:()=>ZQ(),json:()=>wm()},ob=e=>ab[e]?ab[e]():[];window.CM6={fromTextArea:function(e,t){const n=!!(t=t||{}).readOnly;let s=t.language;const i=new ee,r=new ee,a=new ee,o=new ee,l=new ee,O=[Pe.readOnly.of(!0)],c=e=>t.parseErrors&&"html"!==e?[[Ef(),Rx]]:[],h=rr.theme({"&":{border:"1px solid var(--border, #aaa)"},"&.cm-focused":{outline:"none"},".cm-scroller":{overflow:"auto"}}),u=(t.extraKeys||[]).map(e=>({key:e.key,run:e.run,preventDefault:!0})),d=[];t.onChange&&d.push(t.onChange);const f=rr.updateListener.of(n=>{if(n.docChanged){e.value=n.state.doc.toString();for(const e of d)e()}n.selectionSet&&t.onSelectionChange?.()}),p=n?[Ba(),xO(),dr.of([...wh,...hO])]:[Ba(),xO(),Ir,Ia,[gd,md],i.of(cc()),[Cr,Fr],rr.mouseSelectionStyle.of((e,t)=>{return(n=t).altKey&&0==n.button?Kr(e,t):null;var n}),ea(),Pe.transactionFilter.of(e=>{if(!e.docChanged||!e.isUserEvent("input.type")&&!e.isUserEvent("input.complete"))return e;let t=e.startState.languageDataAt("indentOnInput",e.startState.selection.main.head);if(!t.length)return e;let n=e.newDoc,{head:s}=e.newSelection.main,i=n.lineAt(s);if(s>i.from+200)return e;let r=n.sliceString(i.from,s);if(!t.some(e=>e.test(r)))return e;let{state:a}=e,o=-1,l=[];for(let{head:e}of a.selection.ranges){let t=a.doc.lineAt(e);if(t.from==o)continue;o=t.from;let n=Rl(a,t.from);if(null==n)continue;let s=/^\s*/.exec(t.text)[0],i=Vl(a,n);s!=i&&l.push({from:t.from,to:t.from+s.length,insert:i})}return l.length?[e,{changes:l,sequential:!0}]:e}),[Au,Fu],Lu(),dr.of([...u,...ju,...wh,...Md,..._c,...hO,...Nu,...ff,Ph])],m=Pe.create({doc:e.value,extensions:[h,a.of(eb()),Yr(),Pr(),VO(),wO(_O,{fallback:!0}),rr.lineWrapping,o.of(ob(t.language)),l.of(c(t.language)),r.of(n?O:[]),...p,f]}),g=new rr({state:m});e.style.display="none",e.form&&e.form.addEventListener("submit",()=>{e.value=g.state.doc.toString()}),e.parentNode.insertBefore(g.dom,e.nextSibling);const Q=()=>g.dispatch({effects:a.reconfigure(eb())});return JX.addEventListener("change",Q),{view:g,dom:g.dom,getValue:()=>g.state.doc.toString(),setValue(e){(e=>{g.dispatch({changes:{from:0,to:g.state.doc.length,insert:e}})})(null==e?"":String(e))},selectionStart:()=>g.state.selection.main.from,scrollTop:()=>g.scrollDOM.scrollTop,visibleHeight:()=>g.scrollDOM.clientHeight,textOffsetAtHeight:e=>{const t=g.lineBlockAtHeight(Math.max(0,Math.min(g.contentHeight,e))),n=g.coordsAtPos(t.from);return n?g.posAtCoords({x:n.left,y:g.documentTop+t.top+Math.max(0,Math.min(t.height,e-t.top))})??t.from:t.from},selectLine:e=>{const t=g.state.doc.line(Math.min(Math.max(1,0|e),g.state.doc.lines));g.dispatch({selection:Z.range(t.from,t.to),effects:rr.scrollIntoView(t.from,{y:"center"})}),g.focus()},onScroll:e=>(g.scrollDOM.addEventListener("scroll",e),()=>g.scrollDOM.removeEventListener("scroll",e)),historySize:()=>({undo:gc(g.state),redo:0}),clearHistory(){g.dispatch({effects:i.reconfigure([])}),g.dispatch({effects:i.reconfigure(cc())})},setCursor(e){const t=Math.min(Math.max(1,1+(0|e.line)),g.state.doc.lines),n=g.state.doc.line(t),s=Math.min(n.from+Math.max(0,0|e.ch),n.to);g.dispatch({selection:Z.cursor(s),scrollIntoView:!0})},setOption(e,t){"readOnly"===e&&g.dispatch({effects:r.reconfigure(t?O:[])})},focus(){g.focus()},hasFocus:()=>g.hasFocus,setLanguage(e){e!==s&&(s=e,g.dispatch({effects:[o.reconfigure(ob(e)),l.reconfigure(c(e))]}),yl(g,g.viewport.to,100))},setSize(e,t){g.dom.style.height="number"==typeof t?t+"px":t||""},destroy(){JX.removeEventListener("change",Q),g.destroy(),e.style.display=""}}},EditorView:rr,EditorState:Pe,EditorSelection:Z}}(); +"use strict";(()=>{var Du=Object.defineProperty;var ju=(n,e,t)=>e in n?Du(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var Q=(n,e,t)=>ju(n,typeof e!="symbol"?e+"":e,t);var v3=[],Ci=[];(()=>{let n="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,1n,9,16,o,,x,1i,3,,i,,7,a,2,t,3,1k,,,7,2,2,2,3,9,,a,2,q,,2,3,1k,,,5,4,2,2,3,3,,u,2,3,,b,3,1k,,,8,,3,,3,k,2,m,6,,3,1k,,,7,2,2,2,3,7,3,a,2,u,,1n,5,3,3,,4,9,,14,5,1j,,,7,,3,,4,7,2,b,2,t,3,1k,,,7,,3,,4,7,2,b,2,f,,c,4,1j,2,,7,,3,,4,9,,a,2,t,3,1y,,4,6,,,,8,i,2,1p,,,8,c,8,2q,,,a,b,7,21,2,r,,,,,,4,2,1d,k,,2,5,b,,10,9,,2u,b,,6,n,4,4,3,g,4,d,,,3,6,,f,,jj,3,qa,4,s,3,t,2,u,2,1s,w,9,,19,3,,,39,2,y,,3a,c,4,c,63,5,1l,a,,,,,2,o,2,,1c,1a,2,c,k,5,1b,h,12,9,c,3,u,d,1k,e,1c,k,48,3,,l,4,,6,,2,3,5i,1s,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,n,5,4,,2b,2,1e,i,q,i,d,,12,8,p,d,18,4,1b,e,10,,1v,e,c,,8,2,1a,,1f,,,3,2,2,5,2,,,15,5,5,2,6k,8,,2,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,1t,5,8t,2,25,6,1y,b,1d,4,3e,3,1h,f,15,,2,2,a,4,19,b,7,,1p,3,10,e,g,2,18,,c,3,1c,e,8,4,,2,2k,c,6,,2,,4d,c,l,4,1j,2,,7,2,2,2,3,9,,a,2,2,7,3,5,1v,9,,,2,,,4,,5,,,e,2,2a,i,n,,29,k,6j,7,2,9,r,2,2a,h,2y,d,2t,3,2,a,74,f,6t,6,,2,2,4,,,,2,3x,7,2,7,3,,s,a,14,7,,4,8,,9,b,1a,g,5i,8,5j,8,,8,2a,m,,e,3e,6,3,,,2,,7,,,1u,5,,2,,5,9n,4,9,2,,,1c,7,3,5,n,,44l,,6,f,8ug,i,1xc,5,1n,7,t4,,,1j,7,4,29,,b,2,f57,2,3mp,1a,2,n,f2,5,3,6,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,2s,,4g,7,af,,1p,4,e4,4,72,2,6r,,2,,7,2,5,,d6,7,31,7,240,5".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(n=Ci[r])e=r+1;else return!0;if(e==t)return!1}}function $i(n){return n>=127462&&n<=127487}var Pi=8205;function qi(n,e,t=!0,r=!0){return(t?Ai:Nu)(n,e,r)}function Ai(n,e,t){if(e==n.length)return e;e&&_i(n.charCodeAt(e))&&Ri(n.charCodeAt(e-1))&&e--;let r=k3(n,e);for(e+=Ti(r);e=0&&$i(k3(n,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function Nu(n,e,t){for(;e>1;){let r=Ai(n,e-2,t);if(r=56320&&n<57344}function Ri(n){return n>=55296&&n<56320}function Ti(n){return n<65536?1:2}var W=class n{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,r){[e,t]=oe(this,e,t);let i=[];return this.decompose(0,e,i,2),r.length&&r.decompose(0,r.length,i,3),this.decompose(t,this.length,i,1),re.from(i,this.length-(t-e)+r.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=oe(this,e,t);let r=[];return this.decompose(e,t,r,0),re.from(r,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),r=this.length-this.scanIdentical(e,-1),i=new $2(this),s=new $2(e);for(let o=t,a=t;;){if(i.next(o),s.next(o),o=0,i.lineBreak!=s.lineBreak||i.done!=s.done||i.value!=s.value)return!1;if(a+=i.value.length,i.done||a>=r)return!0}}iter(e=1){return new $2(this,e)}iterRange(e,t=this.length){return new u4(this,e,t)}iterLines(e,t){let r;if(e==null)r=this.iter();else{t==null&&(t=this.lines+1);let i=this.line(e).from;r=this.iterRange(i,Math.max(i,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new d4(r)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?n.empty:e.length<=32?new U6(e):re.from(U6.split(e,[]))}},U6=class n extends W{constructor(e,t=Iu(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,r,i){for(let s=0;;s++){let o=this.text[s],a=i+o.length;if((t?r:a)>=e)return new Q3(i,a,r,o);i=a+1,r++}}decompose(e,t,r,i){let s=e<=0&&t>=this.length?this:new n(Xi(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(i&1){let o=r.pop(),a=c4(s.text,o.text.slice(),0,s.length);if(a.length<=32)r.push(new n(a,o.length+s.length));else{let l=a.length>>1;r.push(new n(a.slice(0,l)),new n(a.slice(l)))}}else r.push(s)}replace(e,t,r){if(!(r instanceof n))return super.replace(e,t,r);[e,t]=oe(this,e,t);let i=c4(this.text,c4(r.text,Xi(this.text,0,e)),t),s=this.length+r.length-(t-e);return i.length<=32?new n(i,s):re.from(n.split(i,[]),s)}sliceString(e,t=this.length,r=` +`){[e,t]=oe(this,e,t);let i="";for(let s=0,o=0;s<=t&&oe&&o&&(i+=r),es&&(i+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return i}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let r=[],i=-1;for(let s of e)r.push(s),i+=s.length+1,r.length==32&&(t.push(new n(r,i)),r=[],i=-1);return i>-1&&t.push(new n(r,i)),t}},re=class n extends W{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let r of e)this.lines+=r.lines}lineInner(e,t,r,i){for(let s=0;;s++){let o=this.children[s],a=i+o.length,l=r+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,r,i);i=a+1,r=l+1}}decompose(e,t,r,i){for(let s=0,o=0;o<=t&&s=o){let c=i&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?r.push(a):a.decompose(e-o,t-o,r,c)}o=l+1}}replace(e,t,r){if([e,t]=oe(this,e,t),r.lines=s&&t<=a){let l=o.replace(e-s,t-s,r),c=this.lines-o.lines+l.lines;if(l.lines>4&&l.lines>c>>6){let u=this.children.slice();return u[i]=l,new n(u,this.length-(t-e)+r.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,r)}sliceString(e,t=this.length,r=` +`){[e,t]=oe(this,e,t);let i="";for(let s=0,o=0;se&&s&&(i+=r),eo&&(i+=a.sliceString(e-o,t-o,r)),o=l+1}return i}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof n))return 0;let r=0,[i,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;i+=t,s+=t){if(i==o||s==a)return r;let l=this.children[i],c=e.children[s];if(l!=c)return r+l.scanIdentical(c,t);r+=l.length+1}}static from(e,t=e.reduce((r,i)=>r+i.length+1,-1)){let r=0;for(let p of e)r+=p.lines;if(r<32){let p=[];for(let f of e)f.flatten(p);return new U6(p,t)}let i=Math.max(32,r>>5),s=i<<1,o=i>>1,a=[],l=0,c=-1,u=[];function d(p){let f;if(p.lines>s&&p instanceof n)for(let m of p.children)d(m);else p.lines>o&&(l>o||!l)?(h(),a.push(p)):p instanceof U6&&l&&(f=u[u.length-1])instanceof U6&&p.lines+f.lines<=32?(l+=p.lines,c+=p.length+1,u[u.length-1]=new U6(f.text.concat(p.text),f.length+1+p.length)):(l+p.lines>i&&h(),l+=p.lines,c+=p.length+1,u.push(p))}function h(){l!=0&&(a.push(u.length==1?u[0]:n.from(u,c)),c=-1,l=u.length=0)}for(let p of e)d(p);return h(),a.length==1?a[0]:new n(a,t)}};W.empty=new U6([""],0);function Iu(n){let e=-1;for(let t of n)e+=t.length+1;return e}function c4(n,e,t=0,r=1e9){for(let i=0,s=0,o=!0;s=t&&(l>r&&(a=a.slice(0,r-i)),i0?1:(e instanceof U6?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let r=this.nodes.length-1,i=this.nodes[r],s=this.offsets[r],o=s>>1,a=i instanceof U6?i.text.length:i.children.length;if(o==(t>0?a:0)){if(r==0)return this.done=!0,this.value="",this;t>0&&this.offsets[r-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[r]+=t,e==0)return this.lineBreak=!0,this.value=` +`,this;e--}else if(i instanceof U6){let l=i.text[o+(t<0?-1:0)];if(this.offsets[r]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=i.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[r]+=t):(t<0&&this.offsets[r]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof U6?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},u4=class{constructor(e,t,r){this.value="",this.done=!1,this.cursor=new $2(e,t>r?-1:1),this.pos=t>r?e.length:0,this.from=Math.min(t,r),this.to=Math.max(t,r)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let r=t<0?this.pos-this.from:this.to-this.pos;e>r&&(e=r),r-=e;let{value:i}=this.cursor.next(e);return this.pos+=(i.length+e)*t,this.value=i.length<=r?i:t<0?i.slice(i.length-r):i.slice(0,r),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},d4=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:r,value:i}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):r?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=i,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(W.prototype[Symbol.iterator]=function(){return this.iter()},$2.prototype[Symbol.iterator]=u4.prototype[Symbol.iterator]=d4.prototype[Symbol.iterator]=function(){return this});var Q3=class{constructor(e,t,r,i){this.from=e,this.to=t,this.number=r,this.text=i}get length(){return this.to-this.from}};function oe(n,e,t){return e=Math.max(0,Math.min(n.length,e)),[e,Math.max(e,Math.min(n.length,t))]}function d6(n,e,t=!0,r=!0){return qi(n,e,t,r)}function Wu(n){return n>=56320&&n<57344}function zu(n){return n>=55296&&n<56320}function k6(n,e){let t=n.charCodeAt(e);if(!zu(t)||e+1==n.length)return t;let r=n.charCodeAt(e+1);return Wu(r)?(t-55296<<10)+(r-56320)+65536:t}function Je(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function G6(n){return n<65536?1:2}var $3=/\r\n?|\n/,g6=(function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n})(g6||(g6={})),B5=class n{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return s+(e-i);s+=a}else{if(r!=g6.Simple&&c>=e&&(r==g6.TrackDel&&ie||r==g6.TrackBefore&&ie))return null;if(c>e||c==e&&t<0&&!a)return e==i||t<0?s:s+l;s+=l}i=c}if(e>i)throw new RangeError(`Position ${e} is out of range for changeset of length ${i}`);return s}touchesRange(e,t=e){for(let r=0,i=0;r=0&&i<=t&&a>=e)return it?"cover":!0;i=a}return!1}toString(){let e="";for(let t=0;t=0?":"+i:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new n(e)}static create(e){return new n(e)}},A6=class n extends B5{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return P3(this,(t,r,i,s,o)=>e=e.replace(i,i+(r-t),o),!1),e}mapDesc(e,t=!1){return T3(this,e,t,!0)}invert(e){let t=this.sections.slice(),r=[];for(let i=0,s=0;i=0){t[i]=a,t[i+1]=o;let l=i>>1;for(;r.length0&&J5(r,t,s.text),s.forward(u),a+=u}let c=e[o++];for(;a>1].toJSON()))}return e}static of(e,t,r){let i=[],s=[],o=0,a=null;function l(u=!1){if(!u&&!i.length)return;oh||d<0||h>t)throw new RangeError(`Invalid change range ${d} to ${h} (in doc of length ${t})`);let f=p?typeof p=="string"?W.of(p.split(r||$3)):p:W.empty,m=f.length;if(d==h&&m==0)return;do&&P6(i,d-o,-1),P6(i,h-d,m),J5(s,i,f),o=h}}return c(e),l(!a),a}static empty(e){return new n(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],r=[];for(let i=0;ia&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;r.length=0&&t<=0&&t==n[i+1]?n[i]+=e:i>=0&&e==0&&n[i]==0?n[i+1]+=t:r?(n[i]+=e,n[i+1]+=t):n.push(e,t)}function J5(n,e,t){if(t.length==0)return;let r=e.length-2>>1;if(r>1])),!(t||o==n.sections.length||n.sections[o+1]<0);)a=n.sections[o++],l=n.sections[o++];e(i,c,s,u,d),i=c,s=u}}}function T3(n,e,t,r=!1){let i=[],s=r?[]:null,o=new P2(n),a=new P2(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);P6(i,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len=0&&l=0){let c=0,u=o.len;for(;u;)if(a.ins==-1){let d=Math.min(u,a.len);c+=d,u-=d,a.forward(d)}else if(a.ins==0&&a.lenl||o.ins>=0&&o.len>l)&&(a||r.length>c),s.forward2(l),o.forward(l)}}}}var P2=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?W.empty:e[t]}textBit(e){let{inserted:t}=this.set,r=this.i-2>>1;return r>=t.length&&!e?W.empty:t[r].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},v2=class n{constructor(e,t,r,i){this.from=e,this.to=t,this.flags=r,this.goalColumn=i}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let r,i;return this.empty?r=i=e.mapPos(this.from,t):(r=e.mapPos(this.from,1),i=e.mapPos(this.to,-1)),r==this.from&&i==this.to?this:new n(r,i,this.flags,this.goalColumn)}extend(e,t=e,r=0){if(e<=this.anchor&&t>=this.anchor)return w.range(e,t,void 0,void 0,r);let i=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return w.range(this.anchor,i,void 0,void 0,r)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return w.range(e.anchor,e.head)}static create(e,t,r,i){return new n(e,t,r,i)}},w=class n{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:n.create(this.ranges.map(r=>r.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let r=0;re.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new n(e.ranges.map(t=>v2.fromJSON(t)),e.main)}static single(e,t=e){return new n([n.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let r=0,i=0;ii.from-s.from),t=e.indexOf(r);for(let i=1;is.head?n.range(l,a):n.range(a,l))}}return new n(e,t)}};function Di(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var Z3=0,C=class n{constructor(e,t,r,i,s){this.combine=e,this.compareInput=t,this.compare=r,this.isStatic=i,this.id=Z3++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new n(e.combine||(t=>t),e.compareInput||((t,r)=>t===r),e.compare||(e.combine?(t,r)=>t===r:L3),!!e.static,e.enables)}of(e){return new ie([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new ie(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new ie(e,this,2,t)}from(e,t){return t||(t=r=>r),this.compute([e],r=>t(r.field(e)))}};function L3(n,e){return n==e||n.length==e.length&&n.every((t,r)=>t===e[r])}var ie=class{constructor(e,t,r,i){this.dependencies=e,this.facet=t,this.type=r,this.value=i,this.id=Z3++}dynamicSlot(e){var t;let r=this.value,i=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,c=!1,u=[];for(let d of this.dependencies)d=="doc"?l=!0:d=="selection"?c=!0:(((t=e[d.id])!==null&&t!==void 0?t:1)&1)==0&&u.push(e[d.id]);return{create(d){return d.values[o]=r(d),1},update(d,h){if(l&&h.docChanged||c&&(h.docChanged||h.selection)||C3(d,u)){let p=r(d);if(a?!Mi(p,d.values[o],i):!i(p,d.values[o]))return d.values[o]=p,1}return 0},reconfigure:(d,h)=>{let p,f=h.config.address[s];if(f!=null){let m=p4(h,f);if(this.dependencies.every(b=>b instanceof C?h.facet(b)===d.facet(b):b instanceof o6?h.field(b,!1)==d.field(b,!1):!0)||(a?Mi(p=r(d),m,i):i(p=r(d),m)))return d.values[o]=m,0}else p=r(d);return d.values[o]=p,1}}}get extension(){return this}};function Mi(n,e,t){if(n.length!=e.length)return!1;for(let r=0;rn[l.id]),i=t.map(l=>l.type),s=r.filter(l=>!(l&1)),o=n[e.id]>>1;function a(l){let c=[];for(let u=0;ur===i),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(o4).find(r=>r.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:r=>(r.values[t]=this.create(r),1),update:(r,i)=>{let s=r.values[t],o=this.updateF(s,i);return this.compareF(s,o)?0:(r.values[t]=o,1)},reconfigure:(r,i)=>{let s=r.facet(o4),o=i.facet(o4),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(r.values[t]=a.create(r),1):i.config.address[this.id]!=null?(r.values[t]=i.field(this),0):(r.values[t]=this.create(r),1)}}}init(e){return[this,o4.of({field:this,create:e})]}get extension(){return this}},w2={lowest:4,low:3,default:2,high:1,highest:0};function Ye(n){return e=>new h4(e,n)}var b6={highest:Ye(w2.highest),high:Ye(w2.high),default:Ye(w2.default),low:Ye(w2.low),lowest:Ye(w2.lowest)},h4=class{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}},q5=class n{of(e){return new Ge(this,e)}reconfigure(e){return n.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},Ge=class{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}},f4=class n{constructor(e,t,r,i,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=r,this.address=i,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,r){let i=[],s=Object.create(null),o=new Map;for(let h of Yu(e,t,o))h instanceof o6?i.push(h):(s[h.facet.id]||(s[h.facet.id]=[])).push(h);let a=Object.create(null),l=[],c=[];for(let h of i)a[h.id]=c.length<<1,c.push(p=>h.slot(p));let u=r?.config.facets;for(let h in s){let p=s[h],f=p[0].facet,m=u&&u[h]||[];if(p.every(b=>b.type==0))if(a[f.id]=l.length<<1|1,L3(m,p))l.push(r.facet(f));else{let b=f.combine(p.map(g=>g.value));l.push(r&&f.compare(b,r.facet(f))?r.facet(f):b)}else{for(let b of p)b.type==0?(a[b.id]=l.length<<1|1,l.push(b.value)):(a[b.id]=c.length<<1,c.push(g=>b.dynamicSlot(g)));a[f.id]=c.length<<1,c.push(b=>Vu(b,f,p))}}let d=c.map(h=>h(a));return new n(e,o,d,a,l,s)}};function Yu(n,e,t){let r=[[],[],[],[],[]],i=new Map;function s(o,a){let l=i.get(o);if(l!=null){if(l<=a)return;let c=r[l].indexOf(o);c>-1&&r[l].splice(c,1),o instanceof Ge&&t.delete(o.compartment)}if(i.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof Ge){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),s(c,a)}else if(o instanceof h4)s(o.inner,o.prec);else if(o instanceof o6)r[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof ie)r[a].push(o),o.facet.extensions&&s(o.facet.extensions,w2.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(c==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,a)}}return s(n,w2.default),r.reduce((o,a)=>o.concat(a))}function Ue(n,e){if(e&1)return 2;let t=e>>1,r=n.status[t];if(r==4)throw new Error("Cyclic dependency between fields and/or facets");if(r&2)return r;n.status[t]=4;let i=n.computeSlot(n,n.config.dynamicSlots[t]);return n.status[t]=2|i}function p4(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}var ji=C.define(),q3=C.define({combine:n=>n.some(e=>e),static:!0}),Bi=C.define({combine:n=>n.length?n[0]:void 0,static:!0}),Ni=C.define(),Ii=C.define(),Wi=C.define(),zi=C.define({combine:n=>n.length?n[0]:!1}),L6=class{constructor(e,t){this.type=e,this.value=t}static define(){return new A3}},A3=class{of(e){return new L6(this,e)}},_3=class{constructor(e){this.map=e}of(e){return new L(this,e)}},L=class n{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new n(this.type,t)}is(e){return this.type==e}static define(e={}){return new _3(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let r=[];for(let i of e){let s=i.map(t);s&&r.push(s)}return r}};L.reconfigure=L.define();L.appendConfig=L.define();var p6=class n{constructor(e,t,r,i,s,o){this.startState=e,this.changes=t,this.selection=r,this.effects=i,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,r&&Di(r,t.newLength),s.some(a=>a.type==n.time)||(this.annotations=s.concat(n.time.of(Date.now())))}static create(e,t,r,i,s,o){return new n(e,t,r,i,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(n.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};p6.time=L6.define();p6.userEvent=L6.define();p6.addToHistory=L6.define();p6.remote=L6.define();function Uu(n,e){let t=[];for(let r=0,i=0;;){let s,o;if(r=n[r]))s=n[r++],o=n[r++];else if(i=0;i--){let s=r[i](n);s instanceof p6?n=s:Array.isArray(s)&&s.length==1&&s[0]instanceof p6?n=s[0]:n=Yi(e,se(s),!1)}return n}function Hu(n){let e=n.startState,t=e.facet(Wi),r=n;for(let i=t.length-1;i>=0;i--){let s=t[i](n);s&&Object.keys(s).length&&(r=Vi(r,R3(e,s,n.changes.newLength),!0))}return r==n?n:p6.create(e,n.changes,n.selection,r.effects,r.annotations,r.scrollIntoView)}var Ku=[];function se(n){return n==null?Ku:Array.isArray(n)?n:[n]}var r6=(function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n})(r6||(r6={})),Ju=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,X3;try{X3=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function ed(n){if(X3)return X3.test(n);for(let e=0;e"\x80"&&(t.toUpperCase()!=t.toLowerCase()||Ju.test(t)))return!0}return!1}function td(n){return e=>{if(!/\S/.test(e))return r6.Space;if(ed(e))return r6.Word;for(let t=0;t-1)return r6.Word;return r6.Other}}var K=class n{constructor(e,t,r,i,s,o){this.config=e,this.doc=t,this.selection=r,this.values=i,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;ai.set(c,l)),t=null),i.set(a.value.compartment,a.value.extension)):a.is(L.reconfigure)?(t=null,r=a.value):a.is(L.appendConfig)&&(t=null,r=se(r).concat(a.value));let s;t?s=e.startState.values.slice():(t=f4.resolve(r,i,this),s=new n(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(q3)?e.newSelection:e.newSelection.asSingle();new n(t,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:w.cursor(t.from+e.length,-1)}))}changeByRange(e){let t=this.selection,r=e(t.ranges[0]),i=this.changes(r.changes),s=[r.range],o=se(r.effects);for(let a=1;ao.spec.fromJSON(a,l)))}}return n.create({doc:e.doc,selection:w.fromJSON(e.selection),extensions:t.extensions?i.concat([t.extensions]):i})}static create(e={}){let t=f4.resolve(e.extensions||[],new Map),r=e.doc instanceof W?e.doc:W.of((e.doc||"").split(t.staticFacet(n.lineSeparator)||$3)),i=e.selection?e.selection instanceof w?e.selection:w.single(e.selection.anchor,e.selection.head):w.single(0);return Di(i,r.length),t.staticFacet(q3)||(i=i.asSingle()),new n(t,r,i,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(n.tabSize)}get lineBreak(){return this.facet(n.lineSeparator)||` +`}get readOnly(){return this.facet(zi)}phrase(e,...t){for(let r of this.facet(n.phrases))if(Object.prototype.hasOwnProperty.call(r,e)){e=r[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(r,i)=>{if(i=="$")return"$";let s=+(i||1);return!s||s>t.length?r:t[s-1]})),e}languageDataAt(e,t,r=-1){let i=[];for(let s of this.facet(ji))for(let o of s(this,t,r))Object.prototype.hasOwnProperty.call(o,e)&&i.push(o[e]);return i}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return td(t.length?t[0]:"")}wordAt(e){let{text:t,from:r,length:i}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-r,a=e-r;for(;o>0;){let l=d6(t,o,!1);if(s(t.slice(l,o))!=r6.Word)break;o=l}for(;an.length?n[0]:4});K.lineSeparator=Bi;K.readOnly=zi;K.phrases=C.define({compare(n,e){let t=Object.keys(n),r=Object.keys(e);return t.length==r.length&&t.every(i=>n[i]==e[i])}});K.languageData=ji;K.changeFilter=Ni;K.transactionFilter=Ii;K.transactionExtender=Wi;q5.reconfigure=L.define();function v6(n,e,t={}){let r={};for(let i of n)for(let s of Object.keys(i)){let o=i[s],a=r[s];if(a===void 0)r[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))r[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let i in e)r[i]===void 0&&(r[i]=e[i]);return r}var o5=class{eq(e){return this==e}range(e,t=e){return He.create(e,t,this)}};o5.prototype.startSide=o5.prototype.endSide=0;o5.prototype.point=!1;o5.prototype.mapMode=g6.TrackDel;function D3(n,e){return n==e||n.constructor==e.constructor&&n.eq(e)}var He=class n{constructor(e,t,r){this.from=e,this.to=t,this.value=r}static create(e,t,r){return new n(e,t,r)}};function M3(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}var E3=class n{constructor(e,t,r,i){this.from=e,this.to=t,this.value=r,this.maxPoint=i}get length(){return ne(this.to)}findIndex(e,t,r,i=0){let s=r?this.to:this.from;for(let o=i,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(r?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,r,i){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(r,1e9,!1,s);sb||m==b&&h.startSide>0&&h.endSide<=0)continue;if(!((b-m||h.endSide-h.startSide)<0))if(c<0&&(c=m),h.point&&(u=Math.max(u,b-m)),(m-r||h.startSide-i)>=0)o.push(h),a.push(m-c),l.push(b-c),r=b,i=h.endSide;else{if(m==b)for(let g=o.length;g>0;g--){if((m-(l[g-1]+c)||h.startSide-o[g-1].endSide)>=0){o.splice(g,0,h),a.splice(g,0,m-c),l.splice(g,0,b-c);continue e}if((m-(a[g-1]+c)||h.endSide-o[g-1].startSide)>0)break}s(m,b,h)}}return{mapped:o.length?new n(a,l,o,u):null,pos:c}}},z=class n{constructor(e,t,r,i){this.chunkPos=e,this.chunk=t,this.nextLayer=r,this.maxPoint=i}static create(e,t,r,i){return new n(e,t,r,i)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:r=!1,filterFrom:i=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(r&&(t=t.slice().sort(M3)),this.isEmpty)return t.length?n.of(t):this;let a=new m4(this,null,-1).goto(0),l=0,c=[],u=new T6;for(;a.value||l=0){let d=t[l++];u.addInner(d.from,d.to,d.value,!1)||c.push(d)}else a.rangeIndex==1&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||sa.to||s{s||(s=new T6),s.addRange(l,c,u,!1)};for(let l=0;l=s&&e<=s+o.length&&o.between(s,e-s,t-s,r)===!1)return}this.nextLayer.between(e,t,r)}}iter(e=0){return Ke.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Ke.from(e).goto(t)}static compare(e,t,r,i,s=-1){let o=e.filter(d=>d.maxPoint>0||!d.isEmpty&&d.maxPoint>=s),a=t.filter(d=>d.maxPoint>0||!d.isEmpty&&d.maxPoint>=s),l=Ei(o,a,r),c=new Q2(o,l,s),u=new Q2(a,l,s);r.iterGaps((d,h,p)=>Fi(c,d,u,h,p,i)),r.empty&&r.length==0&&Fi(c,0,u,0,0,i)}static eq(e,t,r=0,i){i==null&&(i=999999999);let s=e.filter(u=>!u.isEmpty&&t.indexOf(u)<0),o=t.filter(u=>!u.isEmpty&&e.indexOf(u)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=Ei(s,o),l=new Q2(s,a,0).goto(r),c=new Q2(o,a,0).goto(r);for(;;){if(l.to!=c.to||!F3(l.active,c.active)||l.point&&(!c.point||!D3(l.point,c.point)))return!1;if(l.to>i)return!0;l.next(),c.next()}}static spans(e,t,r,i,s=-1){let o=new Q2(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,r);if(o.point){let u=o.activeForPoint(o.to),d=o.pointFroma&&(i.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>r)return l+(o.point&&o.to>r?1:0);a=o.to,o.next()}}static of(e,t=!1){let r=new T6;for(let i of e instanceof He?[e]:t?nd(e):e)r.add(i.from,i.to,i.value);return r.finish()}static join(e){if(!e.length)return n.empty;let t=ne(e);for(let r=e.length-2;r>=0;r--)for(let i=e[r];i!=n.empty;i=i.nextLayer)t=new n(i.chunkPos,i.chunk,t,Math.max(i.maxPoint,t.maxPoint));return t}};z.empty=new z([],[],null,-1);function ne(n){return n[n.length-1]}function nd(n){if(n.length>1)for(let e=n[0],t=1;t0)return n.slice().sort(M3);e=r}return n}z.empty.nextLayer=z.empty;var T6=class n{finishChunk(e){this.chunks.push(new E3(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,r){this.addRange(e,t,r,!0)}addRange(e,t,r,i){this.addInner(e,t,r,i)||(this.nextLayer||(this.nextLayer=new n)).addRange(e,t,r,i)}addInner(e,t,r,i){let s=e-this.lastTo||r.startSide-this.last.endSide;if(i&&s<=0&&(e-this.lastFrom||r.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return s<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=r,this.lastFrom=e,this.lastTo=t,this.value.push(r),r.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let r=t.value.length-1;return this.last=t.value[r],this.lastFrom=t.from[r]+e,this.lastTo=t.to[r]+e,!0}finish(){return this.finishInner(z.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=z.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function Ei(n,e,t){let r=new Map;for(let s of n)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=r&&i.push(new m4(o,t,r,s));return i.length==1?i[0]:new n(i)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let r of this.heap)r.goto(e,t);for(let r=this.heap.length>>1;r>=0;r--)w3(this.heap,r);return this.next(),this}forward(e,t){for(let r of this.heap)r.forward(e,t);for(let r=this.heap.length>>1;r>=0;r--)w3(this.heap,r);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),w3(this.heap,0)}}};function w3(n,e){for(let t=n[e];;){let r=(e<<1)+1;if(r>=n.length)break;let i=n[r];if(r+1=0&&(i=n[r+1],r++),t.compare(i)<0)break;n[r]=t,n[e]=i,e=r}}var Q2=class{constructor(e,t,r){this.minPoint=r,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Ke.from(e,t,r)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){a4(this.active,e),a4(this.activeTo,e),a4(this.activeRank,e),this.minActive=Zi(this.active,this.activeTo)}addActive(e){let t=0,{value:r,to:i,rank:s}=this.cursor;for(;t0;)t++;l4(this.active,t,r),l4(this.activeTo,t,i),l4(this.activeRank,t,s),e&&l4(e,t,this.cursor.from),this.minActive=Zi(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let r=this.openStart<0?[]:null;for(;;){let i=this.minActive;if(i>-1&&(this.activeTo[i]-this.cursor.from||this.active[i].endSide-this.cursor.startSide)<0){if(this.activeTo[i]>e){this.to=this.activeTo[i],this.endSide=this.active[i].endSide;break}this.removeActive(i),r&&a4(r,i)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(r),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&r[i]=0&&!(this.activeRank[r]e||this.activeTo[r]==e&&this.active[r].endSide>=this.point.endSide)&&t.push(this.active[r]);return t.reverse()}openEnd(e){let t=0;for(let r=this.activeTo.length-1;r>=0&&this.activeTo[r]>e;r--)t++;return t}};function Fi(n,e,t,r,i,s){n.goto(e),t.goto(r);let o=r+i,a=r,l=r-e,c=!!s.boundChange;for(let u=!1;;){let d=n.to+l-t.to,h=d||n.endSide-t.endSide,p=h<0?n.to+l:t.to,f=Math.min(p,o);if(n.point||t.point?(n.point&&t.point&&D3(n.point,t.point)&&F3(n.activeForPoint(n.to),t.activeForPoint(t.to))||s.comparePoint(a,f,n.point,t.point),u=!1):(u&&(s.boundChange(a),u=!1),f>a&&!F3(n.active,t.active)&&s.compareRange(a,f,n.active,t.active),c&&fo)break;a=p,h<=0&&n.next(),h>=0&&t.next()}}function F3(n,e){if(n.length!=e.length)return!1;for(let t=0;t=e;r--)n[r+1]=n[r];n[e]=t}function Zi(n,e){let t=-1,r=1e9;for(let i=0;i=e)return i;if(i==n.length)break;s+=n.charCodeAt(i)==9?t-s%t:1,i=d6(n,i)}return r===!0?-1:n.length}var Ui=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),j3=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Gi=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},a5=class{constructor(e,t){this.rules=[];let{finish:r}=t||{};function i(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,c){let u=[],d=/^@(\w+)\b/.exec(o[0]),h=d&&d[1]=="keyframes";if(d&&a==null)return l.push(o[0]+";");for(let p in a){let f=a[p];if(/&/.test(p))s(p.split(/,\s*/).map(m=>o.map(b=>m.replace(/&/,b))).reduce((m,b)=>m.concat(b)),f,l);else if(f&&typeof f=="object"){if(!d)throw new RangeError("The value of a property ("+p+") should be a primitive value.");s(i(p),f,u,h)}else f!=null&&u.push(p.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+f+";")}(u.length||h)&&l.push((r&&!d&&!c?o.map(r):o).join(", ")+" {"+u.join(" ")+"}")}for(let o in e)s(i(o),e[o],this.rules)}getRules(){return this.rules.join(` +`)}static newName(){let e=Gi[Ui]||1;return Gi[Ui]=e+1,"\u037C"+e.toString(36)}static mount(e,t,r){let i=e[j3],s=r&&r.nonce;i?s&&i.setNonce(s):i=new B3(e,s),i.mount(Array.isArray(t)?t:[t],e)}},Hi=new Map,B3=class{constructor(e,t){let r=e.ownerDocument||e,i=r.defaultView;if(!e.head&&e.adoptedStyleSheets&&i.CSSStyleSheet){let s=Hi.get(r);if(s)return e[j3]=s;this.sheet=new i.CSSStyleSheet,Hi.set(r,this)}else this.styleTag=r.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[j3]=this}mount(e,t){let r=this.sheet,i=0,s=0,o=!1;for(let a=0;a-1&&(this.modules.splice(c,1),o=!0,s--,c=-1),c==-1){if(this.modules.splice(s++,0,l),o=!0,r)for(let u=0;u",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},rd=typeof navigator<"u"&&/Mac/.test(navigator.platform),id=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(m6=0;m6<10;m6++)N5[48+m6]=N5[96+m6]=String(m6);var m6;for(m6=1;m6<=24;m6++)N5[m6+111]="F"+m6;var m6;for(m6=65;m6<=90;m6++)N5[m6]=String.fromCharCode(m6+32),ae[m6]=String.fromCharCode(m6);var m6;for(O4 in N5)ae.hasOwnProperty(O4)||(ae[O4]=N5[O4]);var O4;function Ki(n){var e=rd&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||id&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?ae:N5)[n.keyCode]||n.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function J(){var n=arguments[0];typeof n=="string"&&(n=document.createElement(n));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){var i=t[r];typeof i=="string"?n.setAttribute(r,i):i!=null&&(n[r]=i)}e++}for(;e2),A={mac:ns||/Mac/.test(R6.platform),windows:/Win/.test(R6.platform),linux:/Linux|X11/.test(R6.platform),ie:G4,ie_version:Zs?H3.documentMode||6:J3?+J3[1]:K3?+K3[1]:0,gecko:es,gecko_version:es?+(/Firefox\/(\d+)/.exec(R6.userAgent)||[0,0])[1]:0,chrome:!!N3,chrome_version:N3?+N3[1]:0,ios:ns,android:/Android\b/.test(R6.userAgent),webkit:ts,webkit_version:ts?+(/\bAppleWebKit\/(\d+)/.exec(R6.userAgent)||[0,0])[1]:0,safari:e0,safari_version:e0?+(/\bVersion\/(\d+(\.\d+)?)/.exec(R6.userAgent)||[0,0])[1]:0,tabSize:H3.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Y0(n,e){for(let t in n)t=="class"&&e.class?e.class+=" "+n.class:t=="style"&&e.style?e.style+=";"+n.style:e[t]=n[t];return e}var R4=Object.create(null);function U0(n,e,t){if(n==e)return!0;n||(n=R4),e||(e=R4);let r=Object.keys(n),i=Object.keys(e);if(r.length-0!=i.length-0)return!1;for(let s of r)if(s!=t&&(i.indexOf(s)==-1||n[s]!==e[s]))return!1;return!0}function sd(n,e){for(let t=n.attributes.length-1;t>=0;t--){let r=n.attributes[t].name;e[r]==null&&n.removeAttribute(r)}for(let t in e){let r=e[t];t=="style"?n.style.cssText=r:n.getAttribute(t)!=r&&n.setAttribute(t,r)}}function rs(n,e,t){let r=!1;if(e)for(let i in e)t&&i in t||(r=!0,i=="style"?n.style.cssText="":n.removeAttribute(i));if(t)for(let i in t)e&&e[i]==t[i]||(r=!0,i=="style"?n.style.cssText=t[i]:n.setAttribute(i,t[i]));return r}function od(n){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new A2(e,t,t,r,e.widget||null,!1)}static replace(e){let t=!!e.block,r,i;if(e.isBlockGap)r=-5e8,i=4e8;else{let{start:s,end:o}=Ls(e,t);r=(s?t?-3e8:-1:5e8)-1,i=(o?t?2e8:1:-6e8)+1}return new A2(e,r,i,t,e.widget||null,!0)}static line(e){return new ft(e)}static set(e,t=!1){return z.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};_.none=z.empty;var ht=class n extends _{constructor(e){let{start:t,end:r}=Ls(e);super(t?-1:5e8,r?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Y0(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||R4}eq(e){return this==e||e instanceof n&&this.tagName==e.tagName&&U0(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};ht.prototype.point=!1;var ft=class n extends _{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof n&&this.spec.class==e.spec.class&&U0(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};ft.prototype.mapMode=g6.TrackBefore;ft.prototype.point=!0;var A2=class n extends _{constructor(e,t,r,i,s,o){super(t,r,s,e),this.block=i,this.isReplace=o,this.mapMode=i?t<=0?g6.TrackBefore:g6.TrackAfter:g6.TrackDel}get type(){return this.startSide!=this.endSide?w6.WidgetRange:this.startSide<=0?w6.WidgetBefore:w6.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof n&&ad(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};A2.prototype.point=!0;function Ls(n,e=!1){let{inclusiveStart:t,inclusiveEnd:r}=n;return t==null&&(t=n.inclusive),r==null&&(r=n.inclusive),{start:t??e,end:r??e}}function ad(n,e){return n==e||!!(n&&e&&n.compare(e))}function fe(n,e,t,r=0){let i=t.length-1;i>=0&&t[i]+r>=n?t[i]=Math.max(t[i],e):t.push(n,e)}var X4=class n extends o5{constructor(e,t,r){super(),this.tagName=e,this.attributes=t,this.rank=r}eq(e){return e==this||e instanceof n&&this.tagName==e.tagName&&U0(this.attributes,e.attributes)}static create(e){return new n(e.tagName,e.attributes||R4,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return z.of(e,t)}};X4.prototype.startSide=X4.prototype.endSide=-1;var y6=n=>n.nodeType==1,me=n=>n.nodeType==3;function pt(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function t0(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function rt(n,e){if(!e.anchorNode)return!1;try{return t0(n,e.anchorNode)}catch{return!1}}function P4(n){return me(n)?mt(n,0,n.nodeValue.length).getClientRects():y6(n)?n.getClientRects():[]}function it(n,e,t,r){return t?is(n,e,t,r,-1)||is(n,e,t,r,1):!1}function n2(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function M4(n){return y6(n)&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(n.nodeName)}function is(n,e,t,r,i){for(;;){if(n==t&&e==r)return!0;if(e==(i<0?0:z5(n))){if(n.nodeName=="DIV")return!1;let s=n.parentNode;if(!s||!y6(s))return!1;e=n2(n)+(i<0?0:1),n=s}else if(y6(n)){if(n=n.childNodes[e+(i<0?-1:0)],y6(n)&&(n.nodeName=="IMG"||n.nodeName=="BR"||n.contentEditable=="false"))return!1;e=i<0?z5(n):0}else return!1}}function z5(n){return me(n)?n.nodeValue.length:n.childNodes.length}function E4(n,e){let{left:t,right:r}=n;if(t==r)return n;let i=e?t:r;return{left:i,right:i,top:n.top,bottom:n.bottom}}function ld(n){let e=n.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:n.innerWidth,top:0,bottom:n.innerHeight}}function Ds(n,e){let t=e.width/n.offsetWidth,r=e.height/n.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-n.offsetWidth)<1)&&(t=1),(r>.995&&r<1.005||!isFinite(r)||Math.abs(e.height-n.offsetHeight)<1)&&(r=1),{scaleX:t,scaleY:r}}function cd(n,e,t,r,i,s,o,a){let l=n.ownerDocument,c=l.defaultView||window;for(let u=n,d=!1;u&&!d;)if(y6(u)){let h,p=u==l.body,f=1,m=1;if(p)h=ld(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(u).position)&&(d=!0),u.scrollHeight<=u.clientHeight&&u.scrollWidth<=u.clientWidth){u=u.assignedSlot||u.parentNode;continue}let x=u.getBoundingClientRect();({scaleX:f,scaleY:m}=Ds(u,x)),h={left:x.left,right:x.left+u.clientWidth*f,top:x.top,bottom:x.top+u.clientHeight*m}}let b=0,g=0;if(i=="nearest")e.top0&&e.bottom>h.bottom+g&&(g=e.bottom-h.bottom+o)):e.bottom>h.bottom-o&&(g=e.bottom-h.bottom+o,t<0&&e.top-g0&&e.right>h.right+b&&(b=e.right-h.right+s)):e.right>h.right-s&&(b=e.right-h.right+s,t<0&&e.lefth.bottom||e.lefth.right)&&(e={left:Math.max(e.left,h.left),right:Math.min(e.right,h.right),top:Math.max(e.top,h.top),bottom:Math.min(e.bottom,h.bottom)}),u=u.assignedSlot||u.parentNode}else if(u.nodeType==11)u=u.host;else break}function js(n,e=!0){let t=n.ownerDocument,r=null,i=null;for(let s=n.parentNode;s&&!(s==t.body||(!e||r)&&i);)if(y6(s))!i&&s.scrollHeight>s.clientHeight&&(i=s),e&&!r&&s.scrollWidth>s.clientWidth&&(r=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:r,y:i}}var n0=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:r}=e;this.set(t,Math.min(e.anchorOffset,t?z5(t):0),r,Math.min(e.focusOffset,r?z5(r):0))}set(e,t,r,i){this.anchorNode=e,this.anchorOffset=t,this.focusNode=r,this.focusOffset=i}};function Bs(n){let e=[];for(let t=n;t;t=t.nodeType==11?t.host:t.parentNode)y6(t)&&e.push({node:t,left:t.scrollLeft,top:t.scrollTop});return e}function Ns(n,e=!0){for(let{node:t,left:r,top:i}of n)e&&t.scrollTop!=i&&(t.scrollTop=i),t.scrollLeft!=r&&(t.scrollLeft=r)}var T2=null;A.safari&&A.safari_version>=26&&(T2=!1);function Is(n){if(n.setActive)return n.setActive();if(T2)return n.focus(T2);let e=Bs(n);n.focus(T2==null?{get preventScroll(){return T2={preventScroll:!0},!0}}:void 0),T2||(T2=!1,Ns(e))}var ss;function mt(n,e,t=e){let r=ss||(ss=document.createRange());return r.setEnd(n,t),r.setStart(n,e),r}function pe(n,e,t,r){let i={key:e,code:e,keyCode:t,which:t,cancelable:!0};r&&({altKey:i.altKey,ctrlKey:i.ctrlKey,shiftKey:i.shiftKey,metaKey:i.metaKey}=r);let s=new KeyboardEvent("keydown",i);s.synthetic=!0,n.dispatchEvent(s);let o=new KeyboardEvent("keyup",i);return o.synthetic=!0,n.dispatchEvent(o),s.defaultPrevented||o.defaultPrevented}function ud(n){for(;n;){if(n&&(n.nodeType==9||n.nodeType==11&&n.host))return n;n=n.assignedSlot||n.parentNode}return null}function dd(n,e){let t=e.focusNode,r=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=r)return!1;for(r=Math.min(r,z5(t));;)if(r){if(!y6(t))return!1;let i=t.childNodes[r-1];i.contentEditable=="false"?r--:(t=i,r=z5(t))}else{if(t==n)return!0;r=n2(t),t=t.parentNode}}function Ws(n){return n instanceof Window?n.pageYOffset>Math.max(0,n.document.documentElement.scrollHeight-n.innerHeight-4):n.scrollTop>Math.max(1,n.scrollHeight-n.clientHeight-4)}function zs(n,e){for(let t=n,r=e;;){if(me(t)&&r>0)return{node:t,offset:r};if(y6(t)&&r>0){if(t.contentEditable=="false")return null;t=t.childNodes[r-1],r=z5(t)}else if(t.parentNode&&!M4(t))r=n2(t),t=t.parentNode;else return null}}function Vs(n,e){for(let t=n,r=e;;){if(me(t)&&r=t){if(a.level==r)return o;(s<0||(i!=0?i<0?a.fromt:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function Gs(n,e){if(n.length!=e.length)return!1;for(let t=0;t=0;m-=3)if(A5[m+1]==-p){let b=A5[m+2],g=b&2?i:b&4?b&1?s:i:0;g&&(a6[d]=a6[A5[m]]=g),a=m;break}}else{if(A5.length==189)break;A5[a++]=d,A5[a++]=h,A5[a++]=l}else if((f=a6[d])==2||f==1){let m=f==i;l=m?0:1;for(let b=a-3;b>=0;b-=3){let g=A5[b+2];if(g&2)break;if(m)A5[b+2]|=2;else{if(g&4)break;A5[b+2]|=4}}}}}function Od(n,e,t,r){for(let i=0,s=r;i<=t.length;i++){let o=i?t[i-1].to:n,a=il;)f==b&&(f=t[--m].from,b=m?t[m-1].to:n),a6[--f]=p;l=u}else s=c,l++}}}function i0(n,e,t,r,i,s,o){let a=r%2?2:1;if(r%2==i%2)for(let l=e,c=0;ll&&o.push(new u5(l,m.from,p));let b=m.direction==_2!=!(p%2);s0(n,b?r+1:r,i,m.inner,m.from,m.to,o),l=m.to}f=m.to}else{if(f==t||(u?a6[f]!=a:a6[f]==a))break;f++}h?i0(n,l,f,r+1,i,h,o):le;){let u=!0,d=!1;if(!c||l>s[c-1].to){let m=a6[l-1];m!=a&&(u=!1,d=m==16)}let h=!u&&a==1?[]:null,p=u?r:r+1,f=l;e:for(;;)if(c&&f==s[c-1].to){if(d)break e;let m=s[--c];if(!u)for(let b=m.from,g=c;;){if(b==e)break e;if(g&&s[g-1].to==b)b=s[--g].from;else{if(a6[b-1]==a)break e;break}}if(h)h.push(m);else{m.toa6.length;)a6[a6.length]=256;let r=[],i=e==_2?0:1;return s0(n,i,i,t,0,n.length,r),r}function Hs(n){return[new u5(0,n,0)]}var Ks="";function xd(n,e,t,r,i){var s;if(!n.length)return null;let o=r.head-n.from,a;if(r.head==n.from&&r.assoc<0){if(!i)return null;o=e[a=0].side(!1,t)}else if(r.head==n.to&&r.assoc>0){if(i)return null;o=e[a=e.length-1].side(!0,t)}else a=u5.find(e,o,(s=r.bidiLevel)!==null&&s!==void 0?s:-1,r.assoc);let l=e[a],c=l.side(i,t);if(o==c){let h=a+=i?1:-1;if(h<0||h>=e.length)return null;l=e[a=h],o=l.side(!i,t),c=l.side(i,t)}let u=d6(n.text,o,l.forward(i,t));(ul.to)&&(u=c),Ks=n.text.slice(Math.min(o,u),Math.max(o,u));let d=a==(i?e.length-1:0)?null:e[a+(i?1:-1)];if(u==c){if(!d)return i?w.cursor(n.to,1):w.cursor(n.from,-1);if(d.level+(i?0:1)n.some(e=>e)}),oo=C.define({combine:n=>n.some(e=>e)}),ao=C.define(),st=class n{constructor(e,t,r,i,s,o=!1){this.range=e,this.y=t,this.x=r,this.yMargin=i,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new n(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new n(w.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},b4=L.define({map:(n,e)=>n.map(e)}),lo=L.define();function x6(n,e,t){let r=n.facet(no);r.length?r[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var I5=C.define({combine:n=>n.length?n[0]:!0}),Sd=0,ce=C.define({combine(n){return n.filter((e,t)=>{for(let r=0;r{let l=[];return o&&l.push(H4.of(c=>{let u=c.plugin(a);return u?o(u):_.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return n.define((r,i)=>new e(r,i),t)}},ot=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(r){if(x6(t.state,r,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){x6(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(r){x6(e.state,r,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},co=C.define(),J0=C.define(),H4=C.define(),uo=C.define(),e1=C.define(),gt=C.define(),ho=C.define();function os(n,e){let t=n.state.facet(ho);if(!t.length)return t;let r=t.map(s=>s instanceof Function?s(n):s),i=[];return z.spans(r,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,u=o-e.from,d=i;for(let h=a.length-1;h>=0;h--,l--){let p=a[h].spec.bidiIsolate,f;if(p==null&&(p=yd(e.text,c,u)),l>0&&d.length&&(f=d[d.length-1]).to==c&&f.direction==p)f.to=u,d=f.inner;else{let m={from:c,to:u,direction:p,inner:[]};d.push(m),d=m.inner}}}}),i}var fo=C.define();function t1(n){let e=0,t=0,r=0,i=0;for(let s of n.state.facet(fo)){let o=s(n);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(r=Math.max(r,o.top)),o.bottom!=null&&(i=Math.max(i,o.bottom)))}return{left:e,right:t,top:r,bottom:i}}var et=C.define(),S5=class n{constructor(e,t,r,i){this.fromA=e,this.toA=t,this.fromB=r,this.toB=i}join(e){return new n(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,r=this;for(;t>0;t--){let i=e[t-1];if(!(i.fromA>r.toA)){if(i.toAi.push(new S5(s,o,a,l))),this.changedRanges=i}static create(e,t,r){return new n(e,t,r)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},kd=[],c6=class{constructor(e,t,r=0){this.dom=e,this.length=t,this.flags=r,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return kd}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&sd(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let r=t;for(let i of this.children){if(i==e)return r;r+=i.length+i.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,r){return null}domPosFor(e,t){let r=n2(this.dom),i=this.length?e>0:t>0;return new _5(this.parent.dom,r+(i?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof Oe)return e;return null}static get(e){return e.cmTile}},ge=class extends c6{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,r=null,i,s=e?.node==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,i=r?r.nextSibling:t.firstChild,s&&i!=a.dom&&(s.written=!0),a.dom.parentNode==t)for(;i&&i!=a.dom;)i=as(i);else t.insertBefore(a.dom,i);r=a.dom}for(i=r?r.nextSibling:t.firstChild,s&&i&&(s.written=!0);i;)i=as(i);this.length=o}};function as(n){let e=n.nextSibling;return n.parentNode.removeChild(n),e}var Oe=class extends ge{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=c6.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],r=this,i=0,s=0;;)if(i==r.children.length){if(!t.length)return;r=r.parent,r.breakAfter&&s++,i=t.pop()}else{let o=r.children[i++];if(o instanceof W5)t.push(i),r=o,i=0;else{let a=s+o.length,l=e(o,s);if(l!==void 0)return l;s=a+o.breakAfter}}}resolveBlock(e,t){let r,i=-1,s,o=-1;if(this.blockTiles((a,l)=>{let c=l+a.length;if(e>=l&&e<=c){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(r=void 0)}(le||e==l&&(t>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-l)}}),!r&&!s)throw new Error("No tile at position "+e);return r&&t<0||!s?{tile:r,offset:i}:{tile:s,offset:o}}},W5=class n extends ge{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let r=new n(t||document.createElement(e.tagName),e);return t||(r.flags|=4),r}},be=class n extends ge{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,r){let i=new n(t||document.createElement("div"),e);return(!t||!r)&&(i.flags|=4),i}get domAttrs(){return this.attrs}resolveInline(e,t,r=!1){let i=null,s=-1,o=null,a=-1;function l(u,d){for(let h=0,p=0;h=d&&(f.isComposite()?l(f,d-p):(!o||r&&o.isHidden&&(t>0&&!(o.flags&32)||r&&wd(o,f)))&&(m>d||f.flags&32&&t<=1)?(o=f,a=d-p):(p=-1)&&(i=f,s=d-p)),p=m}}l(this,e);let c=(t<0?i:o)||i||o;return c?{tile:c,offset:c==i?s:a}:null}coordsIn(e,t,r){let i=this.resolveInline(e,t,!0);return i?i.tile.coordsIn(Math.max(0,i.offset),t,r):vd(this)}domIn(e,t){let r=this.resolveInline(e,t);if(r){let{tile:i,offset:s}=r;if(this.dom.contains(i.dom))return i.isText()?new _5(i.dom,Math.min(i.dom.nodeValue.length,s)):i.domPosFor(s,i.flags&16?1:i.flags&32?-1:t);let o=r.tile.parent,a=!1;for(let l of o.children){if(a)return new _5(l.dom,0);l==r.tile&&(a=!0)}}return new _5(this.dom,0)}};function vd(n){let e=n.dom.lastChild;if(!e)return n.dom.getBoundingClientRect();let t=P4(e);return t[t.length-1]||null}function wd(n,e){let t=n.coordsIn(0,1),r=e.coordsIn(0,1);return t&&r&&r.topi&&(e=i);let s=e,o=e,a=0;e==0&&t<0||e==i&&t>=0?A.chrome||A.gecko||(e?(s--,a=1):o=0)?0:l.length-1];return A.safari&&!a&&c.width==0&&(c=Array.prototype.find.call(l,u=>u.width)||c),r==null?c:E4(c,(a?a>0:t<0)==r)}static of(e,t){let r=new n(t||document.createTextNode(e),e);return t||(r.flags|=2),r}},R2=class n extends c6{constructor(e,t,r,i){super(e,t,i),this.widget=r}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,r){let i=this.widget.coordsAt(this.dom,e,t);if(i)return i;if(r)return E4(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?s.length-1:0;o=s[l],!(e>0?l==0:l==s.length-1||o.top0==r)}},a0=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,r){let{tile:i,index:s,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(i.isComposite())if(o){if(!e)break;r&&r.break(),e--,o=!1}else if(s==i.children.length){if(!e&&!a.length)break;r&&r.leave(i),o=!!i.breakAfter,{tile:i,index:s}=a.pop(),s++}else{let l=i.children[s],c=l.breakAfter;(t>0?l.length<=e:l.length=0;a--){let l=t.marks[a],c=i.lastChild;if(c instanceof D6&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(I3(l.dom)),i=c;else{let{dom:u}=l;this.cache.reused.get(l)&&c6.get(l.dom)&&(u=I3(l.dom));let d=D6.of(l.mark,u);i.append(d),i=d}this.cache.reused.set(l,2)}let s=c6.get(e.text);s&&this.cache.reused.set(s,2);let o=new C2(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,i.append(o)}addInlineWidget(e,t,r){let i=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);i||this.flushBuffer();let s=this.ensureMarks(t,r);!i&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,r){this.flushBuffer(),this.ensureMarks(t,r).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var r;e||(e=po);let i=be.start(e,t||((r=this.cache.find(be))===null||r===void 0?void 0:r.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=i)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var r;let i=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(t>0&&(a=i.lastChild)&&a instanceof D6&&a.mark.eq(o))i=a,t--;else{let l=D6.of(o,(r=this.cache.find(D6,c=>c.mark.eq(o)))===null||r===void 0?void 0:r.dom);i.append(l),i=l,t=0}}return i}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!ls(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(A.ios&&ls(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(W3,0,32)||new R2(W3.toDOM(),0,W3,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let t=e.rank*102+e.value.rank,r=new l0(e.from,e.to,e.value,t),i=this.wrappers.length;for(;i>0&&(this.wrappers[i-1].rank-r.rank||this.wrappers[i-1].to-r.to)<0;)i--;this.wrappers.splice(i,0,r)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let r of this.wrappers){let i=t.lastChild;if(r.fromo.wrapper.eq(r.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),r=this.cache.find(xe,void 0,1);return r&&(r.flags=t),r||new xe(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},u0=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:i,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=i;let a=this.textOff=Math.min(e,i.length);return s?null:i.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),r=this.text.slice(this.textOff,t);return this.textOff=t,r}},Z4=[R2,be,C2,D6,xe,W5,Oe];for(let n=0;n[]),this.index=Z4.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,r=this.buckets[t];r.length<6?r.push(e):r[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,r=2){let i=e.bucket,s=this.buckets[i],o=this.index[i];for(let a=0;a{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let r=t&&this.getCompositionContext(t.text);for(let i=0,s=0,o=0;;){let a=oi){let c=l-i;this.preserve(c,!o,!a),i=l,s+=c}if(!a)break;t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.forward(a.fromA,t.range.fromA,t.range.fromA{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof D6&&i.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?i.length&&(i.length=s=0):o instanceof D6&&(i.shift(),s=Math.min(s,i.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let r=null,i=this.builder,s=-1,o=z.spans(this.decorations,e,t,{point:(a,l,c,u,d,h)=>{if(c instanceof A2){if(this.disallowBlockEffectsFor[h]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=u.length,d>u.length)i.continueWidget(l-a);else{let p=c.widget||(c.block?r2.block:r2.inline),f=Qd(c),m=this.cache.findWidget(p,l-a,f)||R2.of(p,this.view,l-a,f);c.block?(c.startSide>0&&i.addLineStartIfNotCovered(r),i.addBlockWidget(m)):(i.ensureLine(r),i.addInlineWidget(m,u,d))}r=null}else r=$d(r,c);l>a&&this.text.skip(l-a)},span:(a,l,c,u)=>{for(let d=a;d-1&&(this.openWidget=o>s),this.openWidget||i.addLineStartIfNotCovered(r),this.openMarks=o}forward(e,t,r=1){t-e<=10?this.old.advance(t-e,r,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,r,this.reuseWalker))}getCompositionContext(e){let t=[],r=null;for(let i=e.parentNode;;i=i.parentNode){let s=c6.get(i);if(i==this.view.contentDOM)break;s instanceof D6?t.push(s):s?.isLine()?r=s:s instanceof W5||(i.nodeName=="DIV"&&!r?r=new be(i,po):r||t.push(D6.of(new ht({tagName:i.nodeName.toLowerCase(),attributes:od(i)}),i)))}return r?{line:r,marks:t}:null}};function ls(n,e){let t=r=>{for(let i of r.children)if((e?i.isText():i.length)||t(i))return!0;return!1};return t(n)}function Qd(n){let e=n.isReplace?(n.startSide<0?64:0)|(n.endSide>0?128:0):n.startSide>0?32:16;return n.block&&(e|=256),e}var po={class:"cm-line"};function $d(n,e){let t=e.spec.attributes,r=e.spec.class;return!t&&!r||(n||(n={class:"cm-line"}),t&&Y0(t,n),r&&(n.class+=" "+r)),n}function Pd(n){let e=[];for(let t=n.parents.length;t>1;t--){let r=t==n.parents.length?n.tile:n.parents[t].tile;r instanceof D6&&e.push(r.mark)}return e}function I3(n){let e=c6.get(n);return e&&e.setDOM(n.cloneNode()),n}var r2=class extends X6{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};r2.inline=new r2("span");r2.block=new r2("div");var W3=new class extends X6{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},L4=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=_.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new Oe(e,e.contentDOM),this.updateInner([new S5(0,0,0,e.state.doc.length)],null)}update(e){var t;let r=e.changedRanges;this.minWidth>0&&r.length&&(r.every(({fromA:u,toA:d})=>dthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let i=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?i=this.domChanged.newSel.head:!Md(e.changes,this.hasComposition)&&!e.selectionSet&&(i=e.state.selection.main.head));let s=i>-1?Cd(this.view,e.changes,i):null;if(this.domChanged=null,this.hasComposition){let{from:u,to:d}=this.hasComposition;r=new S5(u,d,e.changes.mapPos(u,-1),e.changes.mapPos(d,1)).addToSet(r.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(A.ie||A.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=_d(o,this.decorations,e.changes);l.length&&(r=S5.extendWithRanges(r,l));let c=Rd(a,this.blockWrappers,e.changes);return c.length&&(r=S5.extendWithRanges(r,c)),s&&!r.some(u=>u.fromA<=s.range.fromA&&u.toA>=s.range.toA)&&(r=s.range.addToSet(r.slice())),this.tile.flags&2&&r.length==0?!1:(this.updateInner(r,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:r}=this.view;r.ignore(()=>{if(t||e.length){let o=this.tile,a=new h0(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&c6.get(t.text)&&a.cache.reused.set(c6.get(t.text),2),this.tile=a.run(e,t),f0(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=A.chrome||A.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||r.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let i=[];if(this.view.viewport.from||this.view.viewport.to-1)&&rt(r,this.view.observer.selectionRange)&&!(i&&r.contains(i));if(!(s||t||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,u;if(l.empty?u=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(u=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),A.gecko&&l.empty&&!this.hasComposition&&Td(c)){let h=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(h,c.node.childNodes[c.offset]||null)),c=u=new _5(h,0),a=!0}let d=this.view.observer.selectionRange;(a||!d.focusNode||(!it(c.node,c.offset,d.anchorNode,d.anchorOffset)||!it(u.node,u.offset,d.focusNode,d.focusOffset))&&!this.suppressWidgetCursorChange(d,l))&&(this.view.observer.ignore(()=>{A.android&&A.chrome&&r.contains(d.focusNode)&&Xd(d.focusNode,r)&&(r.blur(),r.focus({preventScroll:!0}));let h=pt(this.view.root);if(h)if(l.empty){if(A.gecko){let p=qd(c.node,c.offset);if(p&&p!=3){let f=(p==1?zs:Vs)(c.node,c.offset);f&&(c=new _5(f.node,f.offset))}}h.collapse(c.node,c.offset),l.bidiLevel!=null&&h.caretBidiLevel!==void 0&&(h.caretBidiLevel=l.bidiLevel)}else if(h.extend){h.collapse(c.node,c.offset);try{h.extend(u.node,u.offset)}catch{}}else{let p=document.createRange();l.anchor>l.head&&([c,u]=[u,c]),p.setEnd(u.node,u.offset),p.setStart(c.node,c.offset),h.removeAllRanges(),h.addRange(p)}o&&this.view.root.activeElement==r&&(r.blur(),i&&i.focus())}),this.view.observer.setSelectionRange(c,u)),this.impreciseAnchor=c.precise?null:new _5(d.anchorNode,d.anchorOffset),this.impreciseHead=u.precise?null:new _5(d.focusNode,d.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&it(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,r=pt(e.root),{anchorNode:i,anchorOffset:s}=e.observer.selectionRange;if(!r||!t.empty||!t.assoc||!r.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let u=this.domAtPos(t.head+t.assoc,t.assoc);r.collapse(u.node,u.offset),r.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let d=e.observer.selectionRange;e.docView.posFromDOM(d.anchorNode,d.anchorOffset)!=t.from&&r.collapse(i,s)}posFromDOM(e,t){let r=this.tile.nearest(e);if(!r)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let i=r.posAtStart;if(r.isComposite()){let s;if(e==r.dom)s=r.dom.childNodes[t];else{let o=z5(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==r.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==r.dom.firstChild)return i;for(;s&&!c6.get(s);)s=s.nextSibling;if(!s)return i+r.length;for(let o=0,a=i;;o++){let l=r.children[o];if(l.dom==s)return a;a+=l.length+l.breakAfter}}else return r.isText()?e==r.dom?i+t:i+(t?r.length:0):i}domAtPos(e,t){let{tile:r,offset:i}=this.tile.resolveBlock(e,t);return r.isWidget()?r.domPosFor(i,t):r.domIn(i,t)}inlineDOMNearPos(e,t){let r,i=-1,s=!1,o,a=-1,l=!1;return this.tile.blockTiles((c,u)=>{if(c.isWidget()){if(c.flags&32&&u>=e)return!0;c.flags&16&&(s=!0)}else{let d=u+c.length;if(u<=e&&(r=c,i=e-u,s=d=e&&!o&&(o=c,a=e-u,l=u>e),u>e&&o)return!0}}),!r&&!o?this.domAtPos(e,t):(s&&o?r=null:l&&r&&(o=null),r&&t<0||!o?r.domIn(i,t):o.domIn(a,t))}coordsAt(e,t,r){let{tile:i,offset:s}=this.tile.resolveBlock(e,t);return i.isWidget()?i.widget instanceof at?null:i.coordsInWidget(s,t,!0):i.coordsIn(s,t,r)}lineAt(e,t){let{tile:r}=this.tile.resolveBlock(e,t);return r.isLine()?r:null}coordsForChar(e){let{tile:t,offset:r}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function i(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let l=i(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(s.isText()&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==e6.LTR,c=0,u=(d,h,p)=>{for(let f=0;fi);f++){let m=d.children[f],b=h+m.length,g=m.dom.getBoundingClientRect(),{height:x}=g;if(p&&!f&&(c+=g.top-p.top),m instanceof W5)b>r&&u(m,h,g);else if(h>=r&&(c>0&&t.push(-c),t.push(x+c),c=0,o)){let y=m.dom.lastChild,v=y?P4(y):[];if(v.length){let S=v[v.length-1],k=l?S.right-g.left:g.right-S.left;k>a&&(a=k,this.minWidth=s,this.minWidthFrom=h,this.minWidthTo=b)}}p&&f==d.children.length-1&&(c+=p.bottom-g.bottom),h=b+m.breakAfter}};return u(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?e6.RTL:e6.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let u=P4(c.dom);if(u.length!=1)return;a+=u[0].width,l=u[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let t=document.createElement("div"),r,i,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=P4(t.firstChild)[0];r=t.getBoundingClientRect().height,i=o&&o.width?o.width/27:7,s=o&&o.height?o.height:r,t.remove()}),{lineHeight:r,charWidth:i,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let r=0,i=0;;i++){let s=i==t.viewports.length?null:t.viewports[i],o=s?s.from-1:this.view.state.doc.length;if(o>r){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(r).top)/this.view.scaleY;e.push(_.replace({widget:new at(a),block:!0,inclusive:!0,isBlockGap:!0}).range(r,o))}if(!s)break;r=s.to+1}return _.set(e)}updateDeco(){let e=1,t=this.view.state.facet(H4).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),r=!1,i=this.view.state.facet(e1).map((s,o)=>{let a=typeof s=="function";return a&&(r=!0),a?s(this.view):s});for(i.length&&(this.dynamicDecorationMap[e++]=r,t.push(z.join(i))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(ao))try{if(c(this.view,e.range,e))return!0}catch(u){x6(this.view.state,u,"scroll handler")}let{range:t}=e,r=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),i;if(!r)return;!t.empty&&(i=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(r={left:Math.min(r.left,i.left),top:Math.min(r.top,i.top),right:Math.max(r.right,i.right),bottom:Math.max(r.bottom,i.bottom)});let s=t1(this.view),o={left:r.left-s.left,top:r.top-s.top,right:r.right+s.right,bottom:r.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;if(cd(this.view.scrollDOM,o,t.head1&&(r.top>window.visualViewport.offsetTop+window.visualViewport.height||r.bottomr.isWidget()||r.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){f0(this.tile)}};function f0(n,e){let t=e?.get(n);if(t!=1){t==null&&n.destroy();for(let r of n.children)f0(r,e)}}function Td(n){return y6(n.node)&&n.node.firstChild&&(n.offset==0||n.node.childNodes[n.offset-1].contentEditable=="false")&&(n.offset==n.node.childNodes.length||n.node.childNodes[n.offset].contentEditable=="false")}function mo(n,e){let t=n.observer.selectionRange;if(!t.focusNode)return null;let r=zs(t.focusNode,t.focusOffset),i=Vs(t.focusNode,t.focusOffset),s=r||i;if(i&&r&&i.node!=r.node){let a=c6.get(i.node);if(!a||a.isText()&&a.text!=i.node.nodeValue)s=i;else if(n.docView.lastCompositionAfterCursor){let l=c6.get(r.node);!l||l.isText()&&l.text!=r.node.nodeValue||(s=i)}}if(n.docView.lastCompositionAfterCursor=s!=r,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function Cd(n,e,t){let r=mo(n,t);if(!r)return null;let{node:i,from:s,to:o}=r,a=i.nodeValue;if(/[\n\r]/.test(a)||n.state.doc.sliceString(r.from,r.to)!=a)return null;let l=e.invertedDesc;return{range:new S5(l.mapPos(s),l.mapPos(o),s,o),text:i}}function qd(n,e){return y6(n)?(e&&n.childNodes[e-1].contentEditable=="false"?1:0)|(e{re.from&&(t=!0)}),t}var at=class extends X6{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function Ed(n,e,t=1){let r=n.charCategorizer(e),i=n.doc.lineAt(e),s=e-i.from;if(i.length==0)return w.cursor(e);s==0?t=1:s==i.length&&(t=-1);let o=s,a=s;t<0?o=d6(i.text,s,!1):a=d6(i.text,s);let l=r(i.text.slice(o,a));for(;o>0;){let c=d6(i.text,o,!1);if(r(i.text.slice(c,o))!=l)break;o=c}for(;an.defaultLineHeight*1.5){let a=n.viewState.heightOracle.textHeight,l=Math.floor((i-t.top-(n.defaultLineHeight-a)*.5)/a);s+=l*n.viewState.heightOracle.lineLength}let o=n.state.sliceDoc(t.from,t.to);return t.from+g4(o,s,n.state.tabSize)}function m0(n,e,t){let r=n.lineBlockAt(e);if(Array.isArray(r.type)){let i;for(let s of r.type){if(s.from>e)break;if(!(s.toe)return s;(!i||s.type==w6.Text&&(i.type!=s.type||(t<0?s.frome)))&&(i=s)}}return i||r}return r}function Zd(n,e,t,r){let i=m0(n,e.head,e.assoc||-1),s=!r||i.type!=w6.Text||!(n.lineWrapping||i.widgetLineBreaks)?null:n.coordsAtPos(e.assoc<0&&e.head>i.from?e.head-1:e.head);if(s){let o=n.dom.getBoundingClientRect(),a=n.textDirectionAt(i.from),l=n.posAtCoords({x:t==(a==e6.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return w.cursor(l,t?-1:1)}return w.cursor(t?i.to:i.from,t?-1:1)}function cs(n,e,t,r){let i=n.state.doc.lineAt(e.head),s=n.bidiSpans(i),o=n.textDirectionAt(i.from);for(let a=e,l=null;;){let c=xd(i,s,o,a,t),u=Ks;if(!c){if(i.number==(t?n.state.doc.lines:1))return a;u=` +`,i=n.state.doc.line(i.number+(t?1:-1)),s=n.bidiSpans(i),c=t?w.cursor(i.from,-1):w.cursor(i.to,1)}if(l){if(!l(u))return a}else{if(!r)return c;l=r(u)}a=c}}function Ld(n,e,t){let r=n.state.charCategorizer(e),i=r(t);return s=>{let o=r(s);return i==r6.Space&&(i=o),i==o}}function Dd(n,e,t,r){let i=e.head,s=t?1:-1;if(i==(t?n.state.doc.length:0))return w.cursor(i,e.assoc);let o=e.goalColumn,a,l=n.contentDOM.getBoundingClientRect(),c=n.coordsAtPos(i,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),u=n.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let f=n.viewState.lineBlockAt(i);o==null&&(o=Math.min(l.right-l.left,n.defaultCharacterWidth*(i-f.from))),a=(s<0?f.top:f.bottom)+u}let d=l.left+o,h=n.viewState.heightOracle.textHeight>>1,p=r??h;for(let f=0;;f+=h){let m=a+(p+f)*s,b=g0(n,{x:d,y:m},!1,s);if(t?m>l.bottom:ma:x{if(e>s&&ei(n)),t.from,e.head>t.from?-1:1);return r==t.from?t:w.cursor(r,rn.viewState.docHeight)return new c5(n.state.doc.length,-1);if(c=n.elementAtHeight(l),r==null)break;if(c.type==w6.Text){if(r<0?c.ton.viewport.to)break;let h=n.docView.coordsAt(r<0?c.from:c.to,r>0?-1:1);if(h&&(r<0?h.top<=l+s:h.bottom>=l+s))break}let d=n.viewState.heightOracle.textHeight/2;l=r>0?c.bottom+d:c.top-d}if(n.viewport.from>=c.to||n.viewport.to<=c.from){if(t)return null;if(c.type==w6.Text){let d=Fd(n,i,c,o,a);return new c5(d,d==c.from?1:-1)}}if(c.type!=w6.Text)return l<(c.top+c.bottom)/2?new c5(c.from,1):new c5(c.to,-1);let u=n.docView.lineAt(c.from,2);return(!u||u.length!=c.length)&&(u=n.docView.lineAt(c.from,-2)),new O0(n,o,a,n.textDirectionAt(c.from)).scanTile(u,c.from)}var O0=class{constructor(e,t,r,i){this.view=e,this.x=t,this.y=r,this.baseDir=i,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||r.length&&(r[0].level!=this.baseDir||r[0].to+i.from>1;t:if(o.has(m)){for(let x=1;x=s&&(y-=f),!o.has(y)){m=y;break t}}break e}o.add(m);let b=t(m),g=0;if(b)for(let x=0;x1))if(y.bottomthis.y)(!c||c.top>y.top)&&(c=y),g=-1;else{let v=y.left>this.x?this.x-y.left:y.right(f+f+m)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(f+m+m)/3)return this.y=c.top+1,this.scan(e,t,!0)}let p=(a?this.dirAt(e[u],1):this.baseDir)==e6.LTR;return{i:u,after:this.x>(h.left+h.right)/2==p}}scanText(e,t){let r=[];for(let s=0;s{let o=r[s]-t,a=r[s+1]-t;return mt(e.dom,o,a).getClientRects()});return i.after?new c5(r[i.i+1],-1):new c5(r[i.i],1)}scanTile(e,t){if(!e.length)return new c5(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let r=[t];for(let a=0,l=t;a{let l=e.children[a];return l.flags&48?null:(y6(l.dom)?l.dom:mt(l.dom,0,l.length)).getClientRects()}),s=e.children[i.i],o=r[i.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):i.after?new c5(r[i.i+1],-1):new c5(o,1)}},le="\uFFFF",b0=class{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(K.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=le}readRange(e,t){if(!e)return this;let r=e.parentNode;for(let i=e;;){this.findPointBefore(r,i);let s=this.text.length;this.readNode(i);let o=c6.get(i),a=i.nextSibling;if(a==t){o?.breakAfter&&!a&&r!=this.view.contentDOM&&this.lineBreak();break}let l=c6.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:M4(i))||M4(a)&&(i.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!Bd(a,t)&&this.lineBreak(),i=a}return this.findPointBefore(r,t),this}readTextNode(e){let t=e.nodeValue;for(let r of this.points)r.node==e&&(r.pos=this.text.length+Math.min(r.offset,t.length));for(let r=0,i=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,r),o=this.lineSeparator.length):(a=i.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(r,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);r=s+o}}readNode(e){let t=c6.get(e),r=t&&t.overrideDOMText;if(r!=null){this.findPointInside(e,r.length);for(let i=r.iter();!i.next().done;)i.lineBreak?this.lineBreak():this.append(i.value)}else me(e)?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():y6(e)&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let r of this.points)r.node==e&&e.childNodes[r.offset]==t&&(r.pos=this.text.length)}findPointInside(e,t){for(let r of this.points)(me(e)?r.node==e:e.contains(r.node))&&(r.pos=this.text.length+(jd(e,r.node,r.offset)?t:0))}};function jd(n,e,t){for(;;){if(!e||t-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView,a=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=Oo(e.docView.tile,t,r,0))){let l=s||o?[]:Id(e),c=new b0(l,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=Wd(l,this.bounds.from)}else{let l=e.observer.selectionRange,c=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!t0(e.contentDOM,l.focusNode)?a.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),u=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!t0(e.contentDOM,l.anchorNode)?a.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),d=e.viewport;if((A.ios||A.chrome)&&c!=u&&Math.min(c,u)<=a.main.from&&Math.max(c,u)>=a.main.to&&(d.from>0||d.to-1&&a.ranges.length>1)this.newSel=a.replaceRange(w.range(u,c));else if(e.lineWrapping&&u==c&&!(a.main.empty&&a.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let h=e.coordsAtPos(c,-1),p=0;h&&(p=e.inputState.lastTouchY<=h.bottom?-1:1),this.newSel=w.create([w.cursor(c,p)])}else this.newSel=w.single(u,c)}}};function Oo(n,e,t,r){if(n.isComposite()){let i=-1,s=-1,o=-1,a=-1;for(let l=0,c=r,u=r;lt)return Oo(d,e,t,c);if(h>=e&&i==-1&&(i=l,s=c),c>t&&d.dom.parentNode==n.dom){o=l,a=u;break}u=h,c=h+d.breakAfter}return{from:s,to:a<0?r+n.length:a,startDOM:(i?n.children[i-1].dom.nextSibling:null)||n.dom.firstChild,endDOM:o=0?n.children[o].dom:null}}else return n.isText()?{from:r,to:r+n.length,startDOM:n.dom,endDOM:n.dom.nextSibling}:null}function bo(n,e){let t,{newSel:r}=e,{state:i}=n,s=i.selection.main,o=n.inputState.lastKeyTime>Date.now()-100?n.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:l}=e.bounds,c=s.from,u=null;(o===8||A.android&&e.text.length=a&&s.to<=l&&(e.typeOver||d!=e.text)&&d.slice(0,s.from-a)==e.text.slice(0,s.from-a)&&d.slice(s.to-a)==e.text.slice(h=e.text.length-(d.length-(s.to-a)))?t={from:s.from,to:s.to,insert:W.of(e.text.slice(s.from-a,h).split(le))}:(p=xo(d,e.text,c-a,u))&&(A.chrome&&o==13&&p.toB==p.from+2&&e.text.slice(p.from,p.toB)==le+le&&p.toB--,t={from:a+p.from,to:a+p.toA,insert:W.of(e.text.slice(p.from,p.toB).split(le))})}else r&&(!n.hasFocus&&i.facet(I5)||y0(r,s))&&(r=null);if(!t&&!r)return!1;if((A.mac||A.android)&&t&&t.from==t.to&&t.from==s.head-1&&/^\. ?$/.test(t.insert.toString())&&n.contentDOM.getAttribute("autocorrect")=="off"?(r&&t.insert.length==2&&(r=w.single(r.main.anchor-1,r.main.head-1)),t={from:t.from,to:t.to,insert:W.of([t.insert.toString().replace("."," ")])}):i.doc.lineAt(s.from).toDate.now()-50?t={from:s.from,to:s.to,insert:i.toText(n.inputState.insertingText)}:A.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==` + `&&n.lineWrapping&&(r&&(r=w.single(r.main.anchor-1,r.main.head-1)),t={from:s.from,to:s.to,insert:W.of([" "])}),t)return n1(n,t,r,o);if(r&&!y0(r,s)){let a=!1,l="select";return n.inputState.lastSelectionTime>Date.now()-50&&(n.inputState.lastSelectionOrigin=="select"&&(a=!0),l=n.inputState.lastSelectionOrigin,l=="select.pointer"&&(r=go(i.facet(gt).map(c=>c(n)),r))),n.dispatch({selection:r,scrollIntoView:a,userEvent:l}),!0}else return!1}function n1(n,e,t,r=-1){if(A.ios&&n.inputState.flushIOSKey(e))return!0;let i=n.state.selection.main;if(A.android&&(e.to==i.to&&(e.from==i.from||e.from==i.from-1&&n.state.sliceDoc(e.from,i.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&pe(n.contentDOM,"Enter",13)||(e.from==i.from-1&&e.to==i.to&&e.insert.length==0||r==8&&e.insert.lengthi.head)&&pe(n.contentDOM,"Backspace",8)||e.from==i.from&&e.to==i.to+1&&e.insert.length==0&&pe(n.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();n.inputState.composing>=0&&n.inputState.composing++;let o,a=()=>o||(o=Nd(n,e,t));return n.state.facet(ro).some(l=>l(n,e.from,e.to,s,a))||n.dispatch(a()),!0}function Nd(n,e,t){let r,i=n.state,s=i.selection.main,o=-1;if(e.from==e.to&&e.froms.to){let l=e.fromd(n)),c,l);e.from==u&&(o=u)}if(o>-1)r={changes:e,selection:w.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&n.inputState.composing<0){let l=s.frome.to?i.sliceDoc(e.to,s.to):"";r=i.replaceSelection(n.state.toText(l+e.insert.sliceString(0,void 0,n.state.lineBreak)+c))}else{let l=i.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(i.selection.ranges.length>1&&(n.inputState.composing>=0||n.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let u=n.state.sliceDoc(e.from,e.to),d,h=t&&mo(n,t.main.head);if(h){let f=e.insert.length-(e.to-e.from);d={from:h.from,to:h.to-f}}else d=n.state.doc.lineAt(s.head);let p=s.to-e.to;r=i.changeByRange(f=>{if(f.from==s.from&&f.to==s.to)return{changes:l,range:c||f.map(l)};let m=f.to-p,b=m-u.length;if(n.state.sliceDoc(b,m)!=u||m>=d.from&&b<=d.to)return{range:f};let g=i.changes({from:b,to:m,insert:e.insert}),x=f.to-s.to;return{changes:g,range:c?w.range(Math.max(0,c.anchor+x),Math.max(0,c.head+x)):f.map(g)}})}else r={changes:l,selection:c&&i.selection.replaceRange(c)}}let a="input.type";return(n.composing||n.inputState.compositionPendingChange&&n.inputState.compositionEndedAt>Date.now()-50)&&(n.inputState.compositionPendingChange=!1,a+=".compose",n.inputState.compositionFirstChange&&(a+=".start",n.inputState.compositionFirstChange=!1)),i.update(r,{userEvent:a,scrollIntoView:!0})}function xo(n,e,t,r){let i=Math.min(n.length,e.length),s=0;for(;s0&&a>0&&n.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(r=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function Id(n){let e=[];if(n.root.activeElement!=n.contentDOM)return e;let{anchorNode:t,anchorOffset:r,focusNode:i,focusOffset:s}=n.observer.selectionRange;return t&&(e.push(new D4(t,r)),(i!=t||s!=r)&&e.push(new D4(i,s))),e}function Wd(n,e){if(n.length==0)return null;let t=n[0].pos,r=n.length==2?n[1].pos:t;return t<0||r<0?null:t==r?w.create([w.cursor(r+e,-1)]):w.single(t+e,r+e)}function y0(n,e){return e.head==n.main.head&&e.anchor==n.main.anchor}var S0=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,A.safari&&e.contentDOM.addEventListener("input",()=>null),A.gecko&&oh(e.contentDOM.ownerDocument)}handleEvent(e){!Jd(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let r=this.handlers[e];if(r){for(let i of r.observers)i(this.view,t);for(let i of r.handlers){if(t.defaultPrevented)break;if(i(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=Vd(e),r=this.handlers,i=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=r[s];a&&o!=!a.handlers.length&&(i.removeEventListener(s,this.handleEvent),a=null),a||i.addEventListener(s,this.handleEvent,{passive:o})}for(let s in r)s!="scroll"&&!t[s]&&i.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&So.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),A.android&&A.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(A.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(yo.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||Yd.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};t.shiftKey&&A.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&zd(this.view.win)&&(t.shiftKey=!1);let r=this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t};return setTimeout(()=>{this.pendingIOSKey==r&&this.flushIOSKey()},50),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||this.view.observer.pendingRecords().length||t.key=="Enter"&&e&&e.from0?!0:A.safari&&!A.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function zd(n){return n.visualViewport?n.visualViewport.height*n.visualViewport.scale/n.document.documentElement.clientHeight<.85:!1}function us(n,e){return(t,r)=>{try{return e.call(n,r,t)}catch(i){x6(t.state,i)}}}function Vd(n){let e=Object.create(null);function t(r){return e[r]||(e[r]={observers:[],handlers:[]})}for(let r of n){let i=r.spec,s=i&&i.plugin.domEventHandlers,o=i&&i.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&t(a).handlers.push(us(r.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(us(r.value,l))}}for(let r in k5)t(r).handlers.push(k5[r]);for(let r in M6)t(r).observers.push(M6[r]);return e}var yo=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Yd="dthko",So=[16,17,18,20,91,92,224,225],x4=6;function y4(n){return Math.max(0,n)*.7+8}function Ud(n,e){return Math.max(Math.abs(n.clientX-e.clientX),Math.abs(n.clientY-e.clientY))}var k0=class{constructor(e,t,r,i){this.view=e,this.startEvent=t,this.style=r,this.mustSelect=i,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=js(e.contentDOM),this.atoms=e.state.facet(gt).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(K.allowMultipleSelections)&&Gd(e,t),this.dragging=Kd(e,t)&&wo(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&Ud(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,r=0,i=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:i,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=t1(this.view);e.clientX-l.left<=i+x4?t=-y4(i-e.clientX):e.clientX+l.right>=o-x4&&(t=y4(e.clientX-o)),e.clientY-l.top<=s+x4?r=-y4(s-e.clientY):e.clientY+l.bottom>=a-x4&&(r=y4(e.clientY-a)),this.setScrollSpeed(t,r)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,r=go(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!r.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:r,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function Gd(n,e){let t=n.state.facet(Js);return t.length?t[0](e):A.mac?e.metaKey:e.ctrlKey}function Hd(n,e){let t=n.state.facet(eo);return t.length?t[0](e):A.mac?!e.altKey:!e.ctrlKey}function Kd(n,e){let{main:t}=n.state.selection;if(t.empty)return!1;let r=pt(n.root);if(!r||r.rangeCount==0)return!0;let i=r.getRangeAt(0).getClientRects();for(let s=0;s=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function Jd(n,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,r;t!=n.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(r=c6.get(t))&&r.isWidget()&&!r.isHidden&&r.widget.ignoreEvent(e))return!1;return!0}var k5=Object.create(null),M6=Object.create(null),ko=A.ie&&A.ie_version<15||A.ios&&A.webkit_version<604;function eh(n){let e=n.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{n.focus(),t.remove(),vo(n,t.value)},50)}function K4(n,e,t){for(let r of n.facet(e))t=r(t,n);return t}function vo(n,e){e=K4(n.state,H0,e);let{state:t}=n,r,i=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(v0!=null&&t.selection.ranges.every(l=>l.empty)&&v0==s.toString()){let l=-1;r=t.changeByRange(c=>{let u=t.doc.lineAt(c.from);if(u.from==l)return{range:c};l=u.from;let d=t.toText((o?s.line(i++).text:e)+t.lineBreak);return{changes:{from:u.from,insert:d},range:w.cursor(c.from+d.length,-1)}})}else o?r=t.changeByRange(l=>{let c=s.line(i++);return{changes:{from:l.from,to:l.to,insert:c.text},range:w.cursor(l.from+c.length,-1)}}):r=t.replaceSelection(s);n.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}M6.scroll=n=>{let e=n.inputState;e.lastScrollTop=n.scrollDOM.scrollTop,e.lastScrollLeft=n.scrollDOM.scrollLeft,A.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};M6.wheel=M6.mousewheel=n=>{n.inputState.lastWheelEvent=Date.now()};k5.keydown=(n,e)=>(n.inputState.setSelectionOrigin("select"),e.keyCode==27&&n.inputState.tabFocusMode!=0&&(n.inputState.tabFocusMode=Date.now()+2e3),!1);M6.touchstart=(n,e)=>{let t=n.inputState,r=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),r&&(t.lastTouchX=r.clientX,t.lastTouchY=r.clientY),t.setSelectionOrigin("select.pointer")};M6.touchmove=n=>{n.inputState.setSelectionOrigin("select.pointer")};M6.touchend=(n,e)=>{n.inputState.touchActive=!1};k5.mousedown=(n,e)=>{if(n.observer.flush(),n.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let r of n.state.facet(to))if(t=r(n,e),t)break;if(!t&&e.button==0&&(t=nh(n,e)),t){let r=!n.hasFocus;n.inputState.startMouseSelection(new k0(n,e,t,r)),r&&n.observer.ignore(()=>{Is(n.contentDOM);let s=n.root.activeElement;s&&!s.contains(n.contentDOM)&&s.blur()});let i=n.inputState.mouseSelection;if(i)return i.start(e),i.dragging===!1}else n.inputState.setSelectionOrigin("select.pointer");return!1};function ds(n,e,t,r){if(r==1)return w.cursor(e,t);if(r==2)return Ed(n.state,e,t);{let i=n.docView.lineAt(e,t),s=n.state.doc.lineAt(i?i.posAtEnd:e),o=i?i.posAtStart:s.from,a=i?i.posAtEnd:s.to;return aDate.now()-400&&Math.abs(e.clientX-n.clientX)<2&&Math.abs(e.clientY-n.clientY)<2?(fs+1)%3:1}function nh(n,e){let t=n.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),r=wo(e),i=n.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),i=i.map(s.changes))},get(s,o,a){let l=n.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,u=ds(n,l.pos,l.assoc,r);if(t.pos!=l.pos&&!o){let d=ds(n,t.pos,t.assoc,r),h=Math.min(d.from,u.from),p=Math.max(d.to,u.to);u=h1&&(c=rh(i,l.pos))?c:a?i.addRange(u):w.create([u])}}}function rh(n,e){for(let t=0;t=e)return w.create(n.ranges.slice(0,t).concat(n.ranges.slice(t+1)),n.mainIndex==t?0:n.mainIndex-(n.mainIndex>t?1:0))}return null}k5.dragstart=(n,e)=>{let{selection:{main:t}}=n.state;if(e.target.draggable){let i=n.docView.tile.nearest(e.target);if(i&&i.isWidget()){let s=i.posAtStart,o=s+i.length;(s>=t.to||o<=t.from)&&(t=w.undirectionalRange(s,o))}}let{inputState:r}=n;return r.mouseSelection&&(r.mouseSelection.dragging=!0),r.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",K4(n.state,K0,n.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};k5.dragend=n=>(n.inputState.draggedContent=null,!1);function ms(n,e,t,r){if(t=K4(n.state,H0,t),!t)return;let i=n.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=n.inputState,o=r&&s&&Hd(n,e)?{from:s.from,to:s.to}:null,a={from:i,insert:t},l=n.state.changes(o?[o,a]:a);n.focus(),n.dispatch({changes:l,selection:{anchor:l.mapPos(i,-1),head:l.mapPos(i,1)},userEvent:o?"move.drop":"input.drop"}),n.inputState.draggedContent=null}k5.drop=(n,e)=>{if(!e.dataTransfer)return!1;if(n.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let r=Array(t.length),i=0,s=()=>{++i==t.length&&ms(n,e,r.filter(o=>o!=null).join(n.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(r[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let r=e.dataTransfer.getData("Text");if(r)return ms(n,e,r,!0),!0}return!1};k5.paste=(n,e)=>{if(n.state.readOnly)return!0;n.observer.flush();let t=ko?null:e.clipboardData;return t?(vo(n,t.getData("text/plain")||t.getData("text/uri-list")),!0):(eh(n),!1)};function ih(n,e){let t=n.dom.parentNode;if(!t)return;let r=t.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.value=e,r.focus(),r.selectionEnd=e.length,r.selectionStart=0,setTimeout(()=>{r.remove(),n.focus()},50)}function sh(n){let e=[],t=[],r=!1;for(let i of n.selection.ranges)i.empty||(e.push(n.sliceDoc(i.from,i.to)),t.push(i));if(!e.length){let i=-1;for(let{from:s}of n.selection.ranges){let o=n.doc.lineAt(s);o.number>i&&(e.push(o.text),t.push({from:o.from,to:Math.min(n.doc.length,o.to+1)})),i=o.number}r=!0}return{text:K4(n,K0,e.join(n.lineBreak)),ranges:t,linewise:r}}var v0=null;k5.copy=k5.cut=(n,e)=>{if(!rt(n.contentDOM,n.observer.selectionRange))return!1;let{text:t,ranges:r,linewise:i}=sh(n.state);if(!t&&!i)return!1;v0=i?t:null,e.type=="cut"&&!n.state.readOnly&&n.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"});let s=ko?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(ih(n,t),!1)};var Qo=L6.define();function $o(n,e){let t=[];for(let r of n.facet(io)){let i=r(n,e);i&&t.push(i)}return t.length?n.update({effects:t,annotations:Qo.of(!0)}):null}function Po(n){setTimeout(()=>{let e=n.hasFocus;if(e!=n.inputState.notifiedFocused){let t=$o(n.state,e);t?n.dispatch(t):n.update([])}},10)}M6.focus=n=>{n.inputState.lastFocusTime=Date.now(),!n.scrollDOM.scrollTop&&(n.inputState.lastScrollTop||n.inputState.lastScrollLeft)&&(n.scrollDOM.scrollTop=n.inputState.lastScrollTop,n.scrollDOM.scrollLeft=n.inputState.lastScrollLeft),Po(n)};M6.blur=n=>{n.observer.clearSelectionRange(),Po(n)};M6.compositionstart=M6.compositionupdate=(n,e)=>{if(!n.observer.editContext&&(n.inputState.compositionFirstChange==null&&(n.inputState.compositionFirstChange=!0),n.inputState.composing<0)){let{main:t}=n.state.selection;!t.empty&&n.lineBlockAt(t.from).from!=n.lineBlockAt(t.to).from&&!n.state.readOnly&&n.dispatch({changes:n.state.selection.ranges.filter(r=>!r.empty).map(r=>({from:r.from,to:r.to})),userEvent:"input"}),n.inputState.composing=0}};M6.compositionend=n=>{n.observer.editContext||(n.inputState.composing=-1,n.inputState.compositionEndedAt=Date.now(),n.inputState.compositionPendingKey=!0,n.inputState.compositionPendingChange=n.observer.pendingRecords().length>0,n.inputState.compositionFirstChange=null,A.chrome&&A.android?n.observer.flushSoon():n.inputState.compositionPendingChange?Promise.resolve().then(()=>n.observer.flush()):setTimeout(()=>{n.inputState.composing<0&&n.docView.hasComposition&&n.update([])},50))};M6.contextmenu=n=>{n.inputState.lastContextMenu=Date.now()};k5.beforeinput=(n,e)=>{var t,r;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(n.inputState.insertingText=e.data,n.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&n.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=n.posAtDOM(a.startContainer,a.startOffset),c=n.posAtDOM(a.endContainer,a.endOffset);return n1(n,{from:l,to:c,insert:n.state.toText(s)},null),!0}}let i;if(A.chrome&&A.android&&(i=yo.find(s=>s.inputType==e.inputType))&&(n.observer.delayAndroidKey(i.key,i.keyCode),i.key=="Backspace"||i.key=="Delete")){let s=((r=window.visualViewport)===null||r===void 0?void 0:r.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&n.hasFocus&&(n.contentDOM.blur(),n.focus())},100)}return A.ios&&e.inputType=="deleteContentForward"&&n.observer.flushSoon(),A.safari&&e.inputType=="insertText"&&n.inputState.composing>=0&&setTimeout(()=>M6.compositionend(n,e),20),!1};var gs=new Set;function oh(n){gs.has(n)||(gs.add(n),n.addEventListener("copy",()=>{}),n.addEventListener("cut",()=>{}))}var Os=["pre-wrap","normal","pre-line","break-spaces"],ye=!1;function bs(){ye=!1}var w0=class{constructor(e){this.lineWrapping=e,this.doc=W.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let r=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(r+=Math.max(0,Math.ceil((t-e-r*this.lineLength*.5)/this.lineLength))),this.lineHeight*r}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Os.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let r=0;r-1,l=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=r,this.textHeight=i,this.lineLength=s,l){this.heightSamples={};for(let c=0;c0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>T4&&(ye=!0),this.height=e)}replace(e,t,r){return n.of(r)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,r,i){let s=this,o=r.doc;for(let a=i.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:u,toB:d}=i[a],h=s.lineAt(l,l6.ByPosNoHeight,r.setDoc(t),0,0),p=h.to>=c?h:s.lineAt(c,l6.ByPosNoHeight,r,0,0);for(d+=p.to-c,c=p.to;a>0&&h.from<=i[a-1].toA;)l=i[a-1].fromA,u=i[a-1].fromB,a--,ls*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),r+=1+a.break,i-=a.size}else if(s>i*2){let a=e[r];a.break?e.splice(r,1,a.left,null,a.right):e.splice(r,1,a.left,a.right),r+=2+a.break,s-=a.size}else break;else if(i=s&&o(this.lineAt(0,l6.ByPos,r,i,s))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,r=!1,i){return i&&i.from<=t&&i.more&&this.setMeasuredHeight(i),this.outdated=!1,this}toString(){return`block(${this.length})`}},l5=class n extends B4{constructor(e,t,r){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=r}mainBlock(e,t){return new y5(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,r){let i=r[0];return r.length==1&&(i instanceof n||i instanceof t2&&i.flags&4)&&Math.abs(this.length-i.length)<10?(i instanceof t2?i=new n(i.length,this.height,this.spaceAbove):i.height=this.height,this.outdated||(i.outdated=!1),i):H6.of(r)}updateHeight(e,t=0,r=!1,i){return i&&i.from<=t&&i.more?this.setMeasuredHeight(i):(r||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},t2=class n extends H6{constructor(e){super(e,0)}heightMetrics(e,t){let r=e.doc.lineAt(t).number,i=e.doc.lineAt(t+this.length).number,s=i-r+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:r,lastLine:i,perLine:o,perChar:a}}blockAt(e,t,r,i){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,i);if(t.lineWrapping){let c=i+(e0){let s=r[r.length-1];s instanceof n?r[r.length-1]=new n(s.length+i):r.push(null,new n(i-1))}if(e>0){let s=r[0];s instanceof n?r[0]=new n(e+s.length):r.unshift(new n(e-1),null)}return H6.of(r)}decomposeLeft(e,t){t.push(new n(e-1),null)}decomposeRight(e,t){t.push(null,new n(this.length-e-1))}updateHeight(e,t=0,r=!1,i){let s=t+this.length;if(i&&i.from<=t+this.length&&i.more){let o=[],a=Math.max(t,i.from),l=-1;for(i.from>t&&o.push(new n(i.from-t-1).updateHeight(e,t));a<=s&&i.more;){let u=e.doc.lineAt(a).length;o.length&&o.push(null);let d=i.heights[i.index++],h=0;d<0&&(h=-d,d=i.heights[i.index++]),l==-1?l=d:Math.abs(d-l)>=T4&&(l=-2);let p=new l5(u,d,h);p.outdated=!1,o.push(p),a+=u+1}a<=s&&o.push(null,new n(s-a).updateHeight(e,a));let c=H6.of(o);return(l<0||Math.abs(c.height-this.height)>=T4||Math.abs(l-this.heightMetrics(e,t).perLine)>=T4)&&(ye=!0),j4(this,c)}else(r||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},$0=class extends H6{constructor(e,t,r){super(e.length+(t?1:0)+r.length,e.height+r.height,(t?1:0)|(e.outdated||r.outdated?2:0)),this.left=e,this.right=r,this.size=e.size+r.size}get break(){return this.flags&1}blockAt(e,t,r,i){let s=r+this.left.height;return ea))return c;let u=t==l6.ByPosNoHeight?l6.ByPosNoHeight:l6.ByPos;return l?c.join(this.right.lineAt(a,u,r,o,a)):this.left.lineAt(a,u,r,i,s).join(c)}forEachLine(e,t,r,i,s,o){let a=i+this.left.height,l=s+this.left.length+this.break;if(this.break)e=l&&this.right.forEachLine(e,t,r,a,l,o);else{let c=this.lineAt(l,l6.ByPos,r,i,s);e=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(Math.max(e,c.to+1),t,r,a,l,o)}}replace(e,t,r){let i=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-i,t-i,r));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of r)s.push(a);if(e>0&&xs(s,o-1),t=r&&t.push(null)),e>r&&this.right.decomposeLeft(e-r,t)}decomposeRight(e,t){let r=this.left.length,i=r+this.break;if(e>=i)return this.right.decomposeRight(e-i,t);e2*t.size||t.size>2*e.size?H6.of(this.break?[e,null,t]:[e,t]):(this.left=j4(this.left,e),this.right=j4(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,r=!1,i){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return i&&i.from<=t+s.length&&i.more?l=s=s.updateHeight(e,t,r,i):s.updateHeight(e,t,r),i&&i.from<=a+o.length&&i.more?l=o=o.updateHeight(e,a,r,i):o.updateHeight(e,a,r),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function xs(n,e){let t,r;n[e]==null&&(t=n[e-1])instanceof t2&&(r=n[e+1])instanceof t2&&n.splice(e-1,3,new t2(t.length+1+r.length))}var lh=5,P0=class n{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let r=Math.min(t,this.lineEnd),i=this.nodes[this.nodes.length-1];i instanceof l5?i.length+=r-this.pos:(r>this.pos||!this.isCovered)&&this.nodes.push(new l5(r-this.pos,-1,0)),this.writtenTo=r,t>r&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,r){if(e=lh)&&this.addLineDeco(i,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new l5(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let r=new t2(t-e);return this.oracle.doc.lineAt(e).to==t&&(r.flags|=4),r}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof l5)return e;let t=new l5(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,r){let i=this.ensureLine();i.length+=r,i.collapsed+=r,i.widgetHeight=Math.max(i.widgetHeight,e),i.breaks+=t,this.writtenTo=this.pos=this.pos+r}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof l5)&&!this.isCovered?this.nodes.push(new l5(0,-1,0)):(this.writtenToc.clientHeight||c.scrollWidth>c.clientWidth)&&u.overflow!="visible"){let d=c.getBoundingClientRect();s=Math.max(s,d.left),o=Math.min(o,d.right),a=Math.max(a,d.top),l=Math.min(c==n.parentNode?i.innerHeight:l,d.bottom)}c=u.position=="absolute"||u.position=="fixed"?c.offsetParent:c.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function dh(n){let e=n.getBoundingClientRect(),t=n.ownerDocument.defaultView||window;return e.left0&&e.top0}function hh(n,e){let t=n.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var ct=class{constructor(e,t,r,i){this.from=e,this.to=t,this.size=r,this.displaySize=i}static same(e,t){if(e.length!=t.length)return!1;for(let r=0;rtypeof i!="function"&&i.class=="cm-lineWrapping");this.heightOracle=new w0(r),this.stateDeco=Ss(t),this.heightMap=H6.empty().applyChanges(this.stateDeco,W.empty,this.heightOracle.setDoc(t.doc),[new S5(0,0,0,t.doc.length)]);for(let i=0;i<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());i++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=_.set(this.lineGaps.map(i=>i.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let r=0;r<=1;r++){let i=r?t.head:t.anchor;if(!e.some(({from:s,to:o})=>i>=s&&i<=o)){let{from:s,to:o}=this.lineBlockAt(i);e.push(new ue(s,o))}}return this.viewports=e.sort((r,i)=>r.from-i.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?ys:new q0(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(tt(e,this.scaler))})}update(e,t=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=Ss(this.state);let i=e.changedRanges,s=S5.extendWithRanges(i,ch(r,this.stateDeco,e?e.changes:A6.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);bs(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||ye)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(oo)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,r=window.getComputedStyle(t),i=this.heightOracle,s=r.whiteSpace;this.defaultTextDirection=r.direction=="rtl"?e6.RTL:e6.LTR;let o=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,u=0;if(a.width&&a.height){let{scaleX:S,scaleY:k}=Ds(t,a);(S>.005&&Math.abs(this.scaleX-S)>.005||k>.005&&Math.abs(this.scaleY-k)>.005)&&(this.scaleX=S,this.scaleY=k,c|=16,o=l=!0)}let d=(parseInt(r.paddingTop)||0)*this.scaleY,h=(parseInt(r.paddingBottom)||0)*this.scaleY;(this.paddingTop!=d||this.paddingBottom!=h)&&(this.paddingTop=d,this.paddingBottom=h,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(i.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let p=js(this.view.contentDOM,!1).y;p!=this.scrollParent&&(this.scrollParent=p,this.scrollAnchorHeight=-1,this.scrollOffset=0);let f=this.getScrollOffset();this.scrollOffset!=f&&(this.scrollAnchorHeight=-1,this.scrollOffset=f),this.scrolledToBottom=Ws(this.scrollParent||e.win);let m=(this.printing?hh:uh)(t,this.paddingTop),b=m.top-this.pixelViewport.top,g=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let x=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(x!=this.inView&&(this.inView=x,x&&(l=!0)),!this.inView&&!this.scrollTarget&&!dh(e.dom))return 0;let y=a.width;if((this.contentDOMWidth!=y||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let S=e.docView.measureVisibleLineHeights(this.viewport);if(i.mustRefreshForHeights(S)&&(o=!0),o||i.lineWrapping&&Math.abs(y-this.contentDOMWidth)>i.charWidth){let{lineHeight:k,charWidth:$,textHeight:X}=e.docView.measureTextSize();o=k>0&&i.refresh(s,k,$,X,Math.max(5,y/$),S),o&&(e.docView.minWidth=0,c|=16)}b>0&&g>0?u=Math.max(b,g):b<0&&g<0&&(u=Math.min(b,g)),bs();for(let k of this.viewports){let $=k.from==this.viewport.from?S:e.docView.measureVisibleLineHeights(k);this.heightMap=(o?H6.empty().applyChanges(this.stateDeco,W.empty,this.heightOracle,[new S5(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(i,0,o,new Q0(k.from,$))}ye&&(c|=2)}let v=!this.viewportIsAppropriate(this.viewport,u)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return v&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(u,this.scrollTarget),c|=this.updateForViewport()),(c&2||v)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let r=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),i=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new ue(i.lineAt(o-r*1e3,l6.ByHeight,s,0,0).from,i.lineAt(a+(1-r)*1e3,l6.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(cl.to){let u=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),d=i.lineAt(c,l6.ByPos,s,0,0),h;t.y=="center"?h=(d.top+d.bottom)/2-u/2:t.y=="start"||t.y=="nearest"&&c=a+Math.max(10,Math.min(r,250)))&&i>o-2*1e3&&s>1,o=i<<1;if(this.defaultTextDirection!=e6.LTR&&!r)return[];let a=[],l=(u,d,h,p)=>{if(d-uu&&gg.from>=h.from&&g.to<=h.to&&Math.abs(g.from-u)g.fromx));if(!b){if(dy.from<=d&&y.to>=d)){let y=t.moveToLineBoundary(w.cursor(d),!1,!0).head;y>u&&(d=y)}let g=this.gapSize(h,u,d,p),x=r||g<2e6?g:2e6;b=new ct(u,d,g,x)}a.push(b)},c=u=>{if(u.length2e6)for(let k of e)k.from>=u.from&&k.fromu.from&&l(u.from,p,u,d),ft.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let r=[];z.spans(t,this.viewport.from,this.viewport.to,{span(s,o){r.push({from:s,to:o})},point(){}},20);let i=0;if(r.length!=this.visibleRanges.length)i=12;else for(let s=0;s=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||tt(this.heightMap.lineAt(e,l6.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||tt(this.heightMap.lineAt(this.scaler.fromDOM(e),l6.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop*this.scaleY:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return tt(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},ue=class{constructor(e,t){this.from=e,this.to=t}};function fh(n,e,t){let r=[],i=n,s=0;return z.spans(t,n,e,{span(){},point(o,a){o>i&&(r.push({from:i,to:o}),s+=o-i),i=a}},20),i=1)return e[e.length-1].to;let r=Math.floor(n*t);for(let i=0;;i++){let{from:s,to:o}=e[i],a=o-s;if(r<=a)return s+r;r-=a}}function k4(n,e){let t=0;for(let{from:r,to:i}of n.ranges){if(e<=i){t+=e-r;break}t+=i-r}return t/n.total}function ph(n,e){for(let t of n)if(e(t))return t}var ys={toDOM(n){return n},fromDOM(n){return n},scale:1,eq(n){return n==this}};function Ss(n){let e=n.facet(H4).filter(r=>typeof r!="function"),t=n.facet(e1).filter(r=>typeof r!="function");return t.length&&e.push(z.join(t)),e}var q0=class n{constructor(e,t,r){let i=0,s=0,o=0;this.viewports=r.map(({from:a,to:l})=>{let c=t.lineAt(a,l6.ByPos,e,0,0).top,u=t.lineAt(l,l6.ByPos,e,0,0).bottom;return i+=u-c,{from:a,to:l,top:c,bottom:u,domTop:0,domBottom:0}}),this.scale=(7e6-i)/(t.height-i);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,r=0,i=0;;t++){let s=tt.from==e.viewports[r].from&&t.to==e.viewports[r].to):!1}};function tt(n,e){if(e.scale==1)return n;let t=e.toDOM(n.top),r=e.toDOM(n.bottom);return new y5(n.from,n.length,t,r-t,Array.isArray(n._content)?n._content.map(i=>tt(i,e)):n._content)}var v4=C.define({combine:n=>n.join(" ")}),A0=C.define({combine:n=>n.indexOf(!0)>-1}),_0=a5.newName(),To=a5.newName(),Co=a5.newName(),qo={"&light":"."+To,"&dark":"."+Co};function R0(n,e,t){return new a5(e,{finish(r){return/&/.test(r)?r.replace(/&\w*/,i=>{if(i=="&")return n;if(!t||!t[i])throw new RangeError(`Unsupported selector: ${i}`);return t[i]}):n+" "+r}})}var mh=R0("."+_0,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},".cm-panels-top":{top:"0"},".cm-panels-bottom":{bottom:"0"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"baseline",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{background:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 0) no-repeat",backgroundSize:".4em",backgroundPosition:"calc(min(50%, 0px)) center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},qo),gh={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},V3=A.ie&&A.ie_version<=11,X0=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new n0,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let r of t)this.queue.push(r);(A.ie&&A.ie_version<=11||A.ios&&e.composing)&&t.some(r=>r.type=="childList"&&r.removedNodes.length||r.type=="characterData"&&r.oldValue.length>r.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&A.android&&e.constructor.EDIT_CONTEXT!==!1&&!(A.chrome&&A.chrome_version<126)&&(this.editContext=new M0(e),e.state.facet(I5)&&(e.contentDOM.editContext=this.editContext.editContext)),V3&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,r)=>t!=e[r]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:r}=this,i=this.selectionRange;if(r.state.facet(I5)?r.root.activeElement!=this.dom:!rt(this.dom,i))return;let s=i.anchorNode&&r.docView.tile.nearest(i.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(A.ie&&A.ie_version<=11||A.android&&A.chrome)&&!r.state.selection.main.empty&&i.focusNode&&it(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=pt(e.root);if(!t)return!1;let r=A.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&Oh(this.view,t)||t;if(!r||this.selectionRange.eq(r))return!1;let i=rt(this.dom,r);return i&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&pe(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(i)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,r=-1,i=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(i=!0),t==-1?{from:t,to:r}=o:(t=Math.min(o.from,t),r=Math.max(o.to,r)))}return{from:t,to:r,typeOver:i}}readChange(){let{from:e,to:t,typeOver:r}=this.processRecords(),i=this.selectionChanged&&rt(this.dom,this.selectionRange);if(e<0&&!i)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new x0(this.view,e,t,r);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.selectionChanged,r=this.readChange();if(!r)return this.view.requestMeasure(),!1;let i=this.view.state,s=bo(this.view,r);return this.view.state==i&&(r.domChanged||t)&&this.view.update([]),s}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let r=ks(t,e.previousSibling||e.target.previousSibling,-1),i=ks(t,e.nextSibling||e.target.nextSibling,1);return{from:r?t.posAfter(r):t.posAtStart,to:i?t.posBefore(i):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(I5)!=e.state.facet(I5)&&(e.view.contentDOM.editContext=e.state.facet(I5)?this.editContext.editContext:null))}destroy(){var e,t,r;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(r=this.resizeScroll)===null||r===void 0||r.disconnect();for(let i of this.scrollTargets)i.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function ks(n,e,t){for(;e;){let r=c6.get(e);if(r&&r.parent==n)return r;let i=e.parentNode;e=i!=n.dom?i:t>0?e.nextSibling:e.previousSibling}return null}function vs(n,e){let t=e.startContainer,r=e.startOffset,i=e.endContainer,s=e.endOffset,o=n.docView.domAtPos(n.state.selection.main.anchor,1);return it(o.node,o.offset,i,s)&&([t,r,i,s]=[i,s,t,r]),{anchorNode:t,anchorOffset:r,focusNode:i,focusOffset:s}}function Oh(n,e){if(e.getComposedRanges){let i=e.getComposedRanges(n.root)[0];if(i)return vs(n,i)}let t=null;function r(i){i.preventDefault(),i.stopImmediatePropagation(),t=i.getTargetRanges()[0]}return n.contentDOM.addEventListener("beforeinput",r,!0),n.dom.ownerDocument.execCommand("indent"),n.contentDOM.removeEventListener("beforeinput",r,!0),t?vs(n,t):null}var M0=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=r=>{let i=e.state.selection.main,{anchor:s,head:o}=i,a=this.toEditorPos(r.updateRangeStart),l=this.toEditorPos(r.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:r.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>r.text.length;a==this.from&&sthis.to&&(l=s);let u=xo(e.state.sliceDoc(a,l),r.text,(c?i.from:i.to)-a,c?"end":null);if(!u){let h=w.single(this.toEditorPos(r.selectionStart),this.toEditorPos(r.selectionEnd));y0(h,i)||e.dispatch({selection:h,userEvent:"select"});return}let d={from:u.from+a,to:u.toA+a,insert:W.of(r.text.slice(u.from,u.toB).split(` +`))};if((A.mac||A.android)&&d.from==o-1&&/^\. ?$/.test(r.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(d={from:a,to:l,insert:W.of([r.text.replace("."," ")])}),this.pendingContextChange=d,!e.state.readOnly){let h=this.to-this.from+(d.to-d.from+d.insert.length);n1(e,d,w.single(this.toEditorPos(r.selectionStart,h),this.toEditorPos(r.selectionEnd,h)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),d.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,r.updateRangeStart-1),Math.min(t.text.length,r.updateRangeStart+1)))&&this.handlers.compositionend(r)},this.handlers.characterboundsupdate=r=>{let i=[],s=null;for(let o=this.toEditorPos(r.rangeStart),a=this.toEditorPos(r.rangeEnd);o{let i=[];for(let s of r.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:r}=this.composing;this.composing=null,r&&this.reset(e.state)}};for(let r in this.handlers)t.addEventListener(r,this.handlers[r]);this.measureReq={read:r=>{let i=pt(r.root);i&&i.rangeCount&&this.editContext.updateSelectionBounds(i.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,r=!1,i=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(r)return;let u=c.length-(o-s);if(i&&o>=i.to)if(i.from==s&&i.to==o&&i.insert.eq(c)){i=this.pendingContextChange=null,t+=u,this.to+=u;return}else i=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=u,this.to+=u;else if(sthis.to||this.to-this.from+c.length>3e4){r=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=u}t+=u}),i&&!r&&this.revertPending(e.state),!r}update(e){let t=this.pendingContextChange,r=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(r.from,r.to)&&e.transactions.some(i=>!i.isUserEvent("input.type")&&i.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,r=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),i=this.toContextPos(t.head);(this.editContext.selectionStart!=r||this.editContext.selectionEnd!=i)&&this.editContext.updateSelection(r,i)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let r=this.composing;return r&&r.drifted?r.editorBase+(e-r.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},P=class n{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.clearAnnouncement=-1,this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:r}=e;this.dispatchTransactions=e.dispatchTransactions||r&&(i=>i.forEach(s=>r(s,this)))||(i=>this.update(i)),this.dispatch=this.dispatch.bind(this),this._root=e.root||ud(e.parent)||document,this.viewState=new N4(this,e.state||K.create(e)),e.scrollTo&&e.scrollTo.is(b4)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(ce).map(i=>new ot(i));for(let i of this.plugins)i.update(this);this.observer=new X0(this),this.inputState=new S0(this),this.inputState.ensureHandlers(this.plugins),this.docView=new L4(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof p6?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,r=!1,i,s=this.state;for(let h of e){if(h.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=h.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(h=>h.annotation(Qo))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=$o(s,o),l||(a=1));let c=this.observer.delayedAndroidKey,u=null;if(c?(this.observer.clearDelayedAndroidKey(),u=this.observer.readChange(),(u&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(u=null)):this.observer.clear(),s.facet(K.phrases)!=this.state.facet(K.phrases))return this.setState(s);i=F4.create(this,s,e),i.flags|=a;let d=this.viewState.scrollTarget;try{this.updateState=2;for(let h of e){if(d&&(d=d.map(h.changes)),h.scrollIntoView){let{main:p}=h.state.selection,{x:f,y:m}=this.state.facet(n.cursorScrollMargin);d=new st(p.empty?p:w.cursor(p.head,p.head>p.anchor?-1:1),"nearest","nearest",m,f)}for(let p of h.effects)p.is(b4)&&(d=p.value.clip(this.state))}this.viewState.update(i,d),this.bidiCache=I4.update(this.bidiCache,i.changes),i.empty||(this.updatePlugins(i),this.inputState.update(i)),t=this.docView.update(i),this.state.facet(et)!=this.styleModules&&this.mountStyles(),r=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(h=>h.isUserEvent("select.pointer")))}finally{this.updateState=0}if(i.startState.facet(v4)!=i.state.facet(v4)&&(this.viewState.mustMeasureContent=!0),(t||r||d||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!i.empty)for(let h of this.state.facet(o0))try{h(i)}catch(p){x6(this.state,p,"update listener")}(l||u)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),u&&!bo(this,u)&&c.force&&pe(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let r of this.plugins)r.destroy(this);this.viewState=new N4(this,e),this.plugins=e.facet(ce).map(r=>new ot(r)),this.pluginMap.clear();for(let r of this.plugins)r.update(this);this.docView.destroy(),this.docView=new L4(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(ce),r=e.state.facet(ce);if(t!=r){let i=[];for(let s of r){let o=t.indexOf(s);if(o<0)i.push(new ot(s));else{let a=this.plugins[o];a.mustUpdate=e,i.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=i,this.pluginMap.clear()}else for(let i of this.plugins)i.mustUpdate=e;for(let i=0;i-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,r=this.viewState.scrollParent,i=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:o,scaleY:a}=this.viewState;Math.abs(i-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let l=0;;l++){if(o<0){if(Ws(r||this.win))s=-1,o=this.viewState.heightMap.height/this.viewState.scaleY;else{let f=this.viewState.scrollAnchorAt(i);s=f.from,o=f.top}a=this.viewState.scaleY}this.updateState=1;let c=this.viewState.measure();if(!c&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(l>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let u=[];c&4||([this.measureRequests,u]=[u,this.measureRequests]);let d=u.map(f=>{try{return f.read(this)}catch(m){return x6(this.state,m),ws}}),h=F4.create(this,this.state,[]),p=!1;h.flags|=c,t?t.flags|=c:t=h,this.updateState=2,h.empty||(this.updatePlugins(h),this.inputState.update(h),this.updateAttrs(),p=this.docView.update(h),p&&this.docViewUpdate());for(let f=0;f1||m<-1)&&!(A.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(r==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){i=i+m,r?s<0?r.scrollTop=r.scrollHeight:r.scrollTop+=m:this.win.scrollBy(0,m),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let l of this.state.facet(o0))l(t)}get themeClasses(){return _0+" "+(this.state.facet(A0)?Co:To)+" "+this.state.facet(v4)}updateAttrs(){let e=Qs(this,co,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(I5)?"true":"false",class:"cm-content",style:`${A.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Qs(this,J0,t);let r=this.observer.ignore(()=>{let i=rs(this.contentDOM,this.contentAttrs,t),s=rs(this.dom,this.editorAttrs,e);return i||s});return this.editorAttrs=e,this.contentAttrs=t,r}showAnnouncements(e){let t=!0;for(let r of e)for(let i of r.effects)if(i.is(n.announce)){t&&(this.announceDOM.textContent="",this.win.clearTimeout(this.clearAnnouncement),this.clearAnnouncement=this.win.setTimeout(()=>{this.announceDOM.textContent="\xA0"},200),t=!1);let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=i.value}}mountStyles(){this.styleModules=this.state.facet(et);let e=this.state.facet(n.cspNonce);a5.mount(this.root,this.styleModules.concat(mh).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;tr.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,r){return z3(this,e,cs(this,e,t,r))}moveByGroup(e,t){return z3(this,e,cs(this,e,t,r=>Ld(this,e.head,r)))}visualLineSide(e,t){return t?w.cursor(e.to,1):w.cursor(e.from,-1)}moveToLineBoundary(e,t,r=!0){return Zd(this,e,t,r)}moveVertically(e,t,r){return z3(this,e,Dd(this,e,t,r))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let r=g0(this,e,t);return r&&r.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),g0(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let r=this.state.doc.lineAt(e),i=this.bidiSpans(r),s=i[u5.find(i,e-r.from,-1,t)];return r.length&&(e==r.from&&t<0||e==r.to&&t>0)&&s.dir!=this.textDirectionAt(r.from)&&(e==r.to?(e=r.from+s.from,t=1):(e=r.from+s.to,t=-1)),this.docView.coordsAt(e,t,s.dir==e6.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(so)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>bh)return Hs(e.length);let t=this.textDirectionAt(e.from),r;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||Gs(s.isolates,r=os(this,e))))return s.order;r||(r=os(this,e));let i=bd(e.text,t,r);return this.bidiCache.push(new I4(e.from,e.to,t,r,!0,i)),i}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||A.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Is(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.win.clearTimeout(this.clearAnnouncement),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var r,i,s,o;return b4.of(new st(typeof e=="number"?w.cursor(e):e,(r=t.y)!==null&&r!==void 0?r:"nearest",(i=t.x)!==null&&i!==void 0?i:"nearest",(s=t.yMargin)!==null&&s!==void 0?s:5,(o=t.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,r=this.viewState.scrollAnchorAt(e);return b4.of(new st(w.cursor(r.from),"start","start",r.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return t6.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return t6.define(()=>({}),{eventObservers:e})}static theme(e,t){let r=a5.newName(),i=[v4.of(r),et.of(R0(`.${r}`,e))];return t&&t.dark&&i.push(A0.of(!0)),i}static baseTheme(e){return b6.lowest(et.of(R0("."+_0,e,qo)))}static findFromDOM(e){var t;let r=e.querySelector(".cm-content"),i=r&&c6.get(r)||c6.get(e);return((t=i?.root)===null||t===void 0?void 0:t.view)||null}};P.styleModule=et;P.inputHandler=ro;P.clipboardInputFilter=H0;P.clipboardOutputFilter=K0;P.scrollHandler=ao;P.focusChangeEffect=io;P.perLineTextDirection=so;P.exceptionSink=no;P.updateListener=o0;P.editable=I5;P.mouseSelectionStyle=to;P.dragMovesSelection=eo;P.clickAddsSelectionRange=Js;P.decorations=H4;P.blockWrappers=uo;P.outerDecorations=e1;P.atomicRanges=gt;P.bidiIsolatedRanges=ho;P.cursorScrollMargin=C.define({combine:n=>{let e=5,t=5;for(let r of n)typeof r=="number"?e=t=r:{x:e,y:t}=r;return{x:e,y:t}}});P.scrollMargins=fo;P.darkTheme=A0;P.cspNonce=C.define({combine:n=>n.length?n[0]:""});P.contentAttributes=J0;P.editorAttributes=co;P.lineWrapping=P.contentAttributes.of({class:"cm-lineWrapping"});P.announce=L.define();var bh=4096,ws={},I4=class n{constructor(e,t,r,i,s,o){this.from=e,this.to=t,this.dir=r,this.isolates=i,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let r=[],i=e.length?e[e.length-1].dir:e6.LTR;for(let s=Math.max(0,e.length-10);s=0;i--){let s=r[i],o=typeof s=="function"?s(n):s;o&&Y0(o,t)}return t}var xh=A.mac?"mac":A.windows?"win":A.linux?"linux":"key";function yh(n,e){let t=n.split(/-(?!$)/),r=t[t.length-1];r=="Space"&&(r=" ");let i,s,o,a;for(let l=0;lr.concat(i),[]))),t}function _o(n,e,t){return Ro(Ao(n.state),e,n,t)}var e2=null,kh=4e3;function vh(n,e=xh){let t=Object.create(null),r=Object.create(null),i=(o,a)=>{let l=r[o];if(l==null)r[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,c,u)=>{var d,h;let p=t[o]||(t[o]=Object.create(null)),f=a.split(/ (?!$)/).map(g=>yh(g,e));for(let g=1;g{let v=e2={view:y,prefix:x,scope:o};return setTimeout(()=>{e2==v&&(e2=null)},kh),!0}]})}let m=f.join(" ");i(m,!1);let b=p[m]||(p[m]={preventDefault:!1,stopPropagation:!1,run:((h=(d=p._any)===null||d===void 0?void 0:d.run)===null||h===void 0?void 0:h.slice())||[]});l&&b.run.push(l),c&&(b.preventDefault=!0),u&&(b.stopPropagation=!0)};for(let o of n){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let u=t[c]||(t[c]=Object.create(null));u._any||(u._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:d}=o;for(let h in u)u[h].run.push(p=>d(p,E0))}let l=o[e]||o.key;if(l)for(let c of a)s(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}var E0=null;function Ro(n,e,t,r){E0=e;let i=Ki(e),s=k6(i,0),o=G6(s)==i.length&&i!=" ",a="",l=!1,c=!1,u=!1;e2&&e2.view==t&&e2.scope==r&&(a=e2.prefix+" ",So.indexOf(e.keyCode)<0&&(c=!0,e2=null));let d=new Set,h=b=>{if(b){for(let g of b.run)if(!d.has(g)&&(d.add(g),g(t)))return b.stopPropagation&&(u=!0),!0;b.preventDefault&&(b.stopPropagation&&(u=!0),c=!0)}return!1},p=n[r],f,m;return p&&(h(p[a+w4(i,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(A.windows&&e.ctrlKey&&e.altKey)&&!(A.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(f=N5[e.keyCode])&&f!=i?(h(p[a+w4(f,e,!0)])||e.shiftKey&&(m=ae[e.keyCode])!=i&&m!=f&&h(p[a+w4(m,e,!1)]))&&(l=!0):o&&e.shiftKey&&h(p[a+w4(i,e,!0)])&&(l=!0),!l&&h(p._any)&&(l=!0)),c&&(l=!0),l&&u&&e.stopPropagation(),E0=null,l}var q2=class n{constructor(e,t,r,i,s){this.className=e,this.left=t,this.top=r,this.width=i,this.height=s}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,r){if(r.empty){let i=e.coordsAtPos(r.head,r.assoc||1);if(!i)return[];let s=Xo(e);return[new n(t,i.left-s.left,i.top-s.top,null,i.bottom-i.top)]}else return wh(e,t,r)}};function Xo(n){let e=n.scrollDOM.getBoundingClientRect();return{left:(n.textDirection==e6.LTR?e.left:e.right-n.scrollDOM.clientWidth*n.scaleX)-n.scrollDOM.scrollLeft*n.scaleX,top:e.top-n.scrollDOM.scrollTop*n.scaleY}}function Ps(n,e,t,r){let i=n.coordsAtPos(e,t*2);if(!i)return r;let s=n.dom.getBoundingClientRect(),o=(i.top+i.bottom)/2,a=n.posAtCoords({x:s.left+1,y:o}),l=n.posAtCoords({x:s.right-1,y:o});return a==null||l==null?r:{from:Math.max(r.from,Math.min(a,l)),to:Math.min(r.to,Math.max(a,l))}}function wh(n,e,t){if(t.to<=n.viewport.from||t.from>=n.viewport.to)return[];let r=Math.max(t.from,n.viewport.from),i=Math.min(t.to,n.viewport.to),s=n.textDirection==e6.LTR,o=n.contentDOM,a=o.getBoundingClientRect(),l=Xo(n),c=o.querySelector(".cm-line"),u=c&&window.getComputedStyle(c),d=a.left+(u?parseInt(u.paddingLeft)+Math.min(0,parseInt(u.textIndent)):0),h=a.right-(u?parseInt(u.paddingRight):0),p=m0(n,r,1),f=m0(n,i,-1),m=p.type==w6.Text?p:null,b=f.type==w6.Text?f:null;if(m&&(n.lineWrapping||p.widgetLineBreaks)&&(m=Ps(n,r,1,m)),b&&(n.lineWrapping||f.widgetLineBreaks)&&(b=Ps(n,i,-1,b)),m&&b&&m.from==b.from&&m.to==b.to)return x(y(t.from,t.to,m));{let S=m?y(t.from,null,m):v(p,!1),k=b?y(null,t.to,b):v(f,!0),$=[];return(m||p).to<(b||f).from-(m&&b?1:0)||p.widgetLineBreaks>1&&S.bottom+n.defaultLineHeight/2Z&&H.from=R)break;i5>n6&&D(Math.max(s6,n6),S==null&&s6<=Z,Math.min(i5,R),k==null&&i5>=G,B.dir)}if(n6=j.to+1,n6>=R)break}return Y.length==0&&D(Z,S==null,G,k==null,n.textDirection),{top:X,bottom:M,horizontal:Y}}function v(S,k){let $=a.top+(k?S.top:S.bottom);return{top:$,bottom:$,horizontal:[]}}}function Qh(n,e){return n.constructor==e.constructor&&n.eq(e)}var F0=class{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(C4)!=e.state.facet(C4)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,r=e.facet(C4);for(;t!Qh(t,this.drawn[r]))){let t=this.dom.firstChild,r=0;for(let i of e)i.update&&t&&i.constructor&&this.drawn[r].constructor&&i.update(t,this.drawn[r])?(t=t.nextSibling,r++):this.dom.insertBefore(i.draw(),t);for(;t;){let i=t.nextSibling;t.remove(),t=i}this.drawn=e,A.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}},C4=C.define();function Mo(n){return[t6.define(e=>new F0(e,n)),C4.of(n)]}var Z0=!A.ios,Se=C.define({combine(n){return v6(n,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function Eo(n={}){return[Se.of(n),$h,Ph,Ch,oo.of(!0)]}function Fo(n){return n.startState.facet(Se)!=n.state.facet(Se)}var $h=Mo({above:!0,markers(n){let{state:e}=n,t=e.facet(Se),r=[];for(let i of e.selection.ranges){let s=i==e.selection.main;if(i.empty||t.drawRangeCursor&&!(s&&A.ios&&t.iosSelectionHandles)){let o=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",a=i.empty?i:w.cursor(i.head,i.assoc);for(let l of q2.forRange(n,o,a))r.push(l)}}return r},update(n,e){n.transactions.some(r=>r.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=Fo(n);return t&&Ts(n.state,e),n.docChanged||n.selectionSet||t},mount(n,e){Ts(e.state,n)},class:"cm-cursorLayer"});function Ts(n,e){e.style.animationDuration=n.facet(Se).cursorBlinkRate+"ms"}var Ph=Mo({above:!1,markers(n){let e=[],{main:t,ranges:r}=n.state.selection;for(let i of r)if(!i.empty&&(Z0||i!=t))for(let s of q2.forRange(n,"cm-selectionBackground",i))e.push(s);if(A.ios&&!t.empty&&n.state.facet(Se).iosSelectionHandles){for(let i of q2.forRange(n,"cm-selectionHandle cm-selectionHandle-start",w.cursor(t.from,1)))e.push(i);for(let i of q2.forRange(n,"cm-selectionHandle cm-selectionHandle-end",w.cursor(t.to,1)))e.push(i)}return e},update(n,e){return n.docChanged||n.selectionSet||n.viewportChanged||Fo(n)},class:"cm-selectionLayer"}),Th=A.gecko&&A.gecko_version==153?"#ffffff01":"transparent",Ch=b6.highest(P.theme({".cm-line":{...Z0?{"& ::selection, &::selection":{backgroundColor:`${Th} !important`}}:{},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important",...Z0?{"&::selection, & ::selection":{backgroundColor:"Highlight !important"}}:{}}}})),Zo=L.define({map(n,e){return n==null?null:e.mapPos(n)}}),nt=o6.define({create(){return null},update(n,e){return n!=null&&(n=e.changes.mapPos(n)),e.effects.reduce((t,r)=>r.is(Zo)?r.value:t,n)}}),qh=t6.fromClass(class{constructor(n){this.view=n,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(n){var e;let t=n.state.field(nt);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(n.startState.field(nt)!=t||n.docChanged||n.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:n}=this,e=n.state.field(nt),t=e!=null&&n.coordsAtPos(e);if(!t)return null;let r=n.scrollDOM.getBoundingClientRect();return{left:t.left-r.left+n.scrollDOM.scrollLeft*n.scaleX,top:t.top-r.top+n.scrollDOM.scrollTop*n.scaleY,height:t.bottom-t.top}}drawCursor(n){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;n?(this.cursor.style.left=n.left/e+"px",this.cursor.style.top=n.top/t+"px",this.cursor.style.height=n.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(n){this.view.state.field(nt)!=n&&this.view.dispatch({effects:Zo.of(n)})}},{eventObservers:{dragover(n){this.setDropPos(this.view.posAtCoords({x:n.clientX,y:n.clientY}))},dragleave(n){(n.target==this.view.contentDOM||!this.view.contentDOM.contains(n.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Lo(){return[nt,qh]}function Cs(n,e,t,r,i){e.lastIndex=0;for(let s=n.iterRange(t,r),o=t,a;!s.next().done;o+=s.value.length)if(!s.lineBreak)for(;a=e.exec(s.value);)i(o+a.index,a)}function Ah(n,e){let t=n.visibleRanges;if(t.length==1&&t[0].from==n.viewport.from&&t[0].to==n.viewport.to)return t;let r=[];for(let{from:i,to:s}of t)i=Math.max(n.state.doc.lineAt(i).from,i-e),s=Math.min(n.state.doc.lineAt(s).to,s+e),r.length&&r[r.length-1].to>=i?r[r.length-1].to=s:r.push({from:i,to:s});return r}var L0=class{constructor(e){let{regexp:t,decoration:r,decorate:i,boundary:s,maxLength:o=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,i)this.addMatch=(a,l,c,u)=>i(u,c,c+a[0].length,a,l);else if(typeof r=="function")this.addMatch=(a,l,c,u)=>{let d=r(a,l,c);d&&u(c,c+a[0].length,d)};else if(r)this.addMatch=(a,l,c,u)=>u(c,c+a[0].length,r);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=s,this.maxLength=o}createDeco(e){let t=new T6,r=t.add.bind(t);for(let{from:i,to:s}of Ah(e,this.maxLength))Cs(e.state.doc,this.regexp,i,s,(o,a)=>this.addMatch(a,e,o,r));return t.finish()}updateDeco(e,t){let r=1e9,i=-1;return e.docChanged&&e.changes.iterChanges((s,o,a,l)=>{l>=e.view.viewport.from&&a<=e.view.viewport.to&&(r=Math.min(a,r),i=Math.max(l,i))}),e.viewportMoved||i-r>1e3?this.createDeco(e.view):i>-1?this.updateRange(e.view,t.map(e.changes),r,i):t}updateRange(e,t,r,i){for(let s of e.visibleRanges){let o=Math.max(s.from,r),a=Math.min(s.to,i);if(a>=o){let l=e.state.doc.lineAt(o),c=l.tol.from;o--)if(this.boundary.test(l.text[o-1-l.from])){u=o;break}for(;ah.push(g.range(m,b));if(l==c)for(this.regexp.lastIndex=u-l.from;(p=this.regexp.exec(l.text))&&p.indexthis.addMatch(b,e,m,f));t=t.update({filterFrom:u,filterTo:d,filter:(m,b)=>md,add:h})}}return t}},D0=/x/.unicode!=null?"gu":"g",_h=new RegExp(`[\0-\b +-\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\u2066\u2067\u2069\uFEFF\uFFF9-\uFFFC]`,D0),Rh={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"},Y3=null;function Xh(){var n;if(Y3==null&&typeof document<"u"&&document.body){let e=document.body.style;Y3=((n=e.tabSize)!==null&&n!==void 0?n:e.MozTabSize)!=null}return Y3||!1}var q4=C.define({combine(n){let e=v6(n,{render:null,specialChars:_h,addSpecialChars:null});return(e.replaceTabs=!Xh())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,D0)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,D0)),e}});function Do(n={}){return[q4.of(n),Mh()]}var qs=null;function Mh(){return qs||(qs=t6.fromClass(class{constructor(n){this.view=n,this.decorations=_.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(n.state.facet(q4)),this.decorations=this.decorator.createDeco(n)}makeDecorator(n){return new L0({regexp:n.specialChars,decoration:(e,t,r)=>{let{doc:i}=t.state,s=k6(e[0],0);if(s==9){let o=i.lineAt(r),a=t.state.tabSize,l=_6(o.text,a,r-o.from);return _.replace({widget:new B0((a-l%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=_.replace({widget:new j0(n,s)}))},boundary:n.replaceTabs?void 0:/[^]/})}update(n){let e=n.state.facet(q4);n.startState.facet(q4)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(n.view)):this.decorations=this.decorator.updateDeco(n,this.decorations)}},{decorations:n=>n.decorations}))}var Eh="\u2022";function Fh(n){return n>=32?Eh:n==10?"\u2424":String.fromCharCode(9216+n)}var j0=class extends X6{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=Fh(this.code),r=e.state.phrase("Control character")+" "+(Rh[this.code]||"0x"+this.code.toString(16)),i=this.options.render&&this.options.render(this.code,r,t);if(i)return i;let s=document.createElement("span");return s.textContent=t,s.title=r,s.setAttribute("aria-label",r),s.className="cm-specialChar",s}ignoreEvent(){return!1}},B0=class extends X6{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}};function jo(){return Lh}var Zh=_.line({class:"cm-activeLine"}),Lh=t6.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.docChanged||n.selectionSet)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=-1,t=[];for(let r of n.state.selection.ranges){let i=n.lineBlockAt(r.head);i.from>e&&(t.push(Zh.range(i.from)),e=i.from)}return _.set(t)}},{decorations:n=>n.decorations});var N0=2e3;function Dh(n,e,t){let r=Math.min(e.line,t.line),i=Math.max(e.line,t.line),s=[];if(e.off>N0||t.off>N0||e.col<0||t.col<0){let o=Math.min(e.off,t.off),a=Math.max(e.off,t.off);for(let l=r;l<=i;l++){let c=n.doc.line(l);c.length<=a&&s.push(w.range(c.from+o,c.to+a))}}else{let o=Math.min(e.col,t.col),a=Math.max(e.col,t.col);for(let l=r;l<=i;l++){let c=n.doc.line(l),u=g4(c.text,o,n.tabSize,!0);if(u<0)s.push(w.cursor(c.to));else{let d=g4(c.text,a,n.tabSize);s.push(w.range(c.from+u,c.from+d))}}}return s}function jh(n,e){let t=n.coordsAtPos(n.viewport.from);return t?Math.round(Math.abs((t.left-e)/n.defaultCharacterWidth)):-1}function As(n,e){let t=n.posAtCoords({x:e.clientX,y:e.clientY},!1),r=n.state.doc.lineAt(t),i=t-r.from,s=i>N0?-1:i==r.length?jh(n,e.clientX):_6(r.text,n.state.tabSize,t-r.from);return{line:r.number,col:s,off:i}}function Bh(n,e){let t=As(n,e),r=n.state.selection;return t?{update(i){if(i.docChanged){let s=i.changes.mapPos(i.startState.doc.line(t.line).from),o=i.state.doc.lineAt(s);t={line:o.number,col:t.col,off:Math.min(t.off,o.length)},r=r.map(i.changes)}},get(i,s,o){let a=As(n,i);if(!a)return r;let l=Dh(n.state,t,a);return l.length?o?w.create(l.concat(r.ranges)):w.create(l):r}}:null}function Bo(n){let e=n?.eventFilter||(t=>t.altKey&&t.button==0);return P.mouseSelectionStyle.of((t,r)=>e(r)?Bh(t,r):null)}var Nh={Alt:[18,n=>!!n.altKey],Control:[17,n=>!!n.ctrlKey],Shift:[16,n=>!!n.shiftKey],Meta:[91,n=>!!n.metaKey]},Ih={style:"cursor: crosshair"};function No(n={}){let[e,t]=Nh[n.key||"Alt"],r=t6.fromClass(class{constructor(i){this.view=i,this.isDown=!1}set(i){this.isDown!=i&&(this.isDown=i,this.view.update([]))}},{eventObservers:{keydown(i){this.set(i.keyCode==e||t(i))},keyup(i){(i.keyCode==e||!t(i))&&this.set(!1)},mousemove(i){this.set(t(i))}}});return[r,P.contentAttributes.of(i=>{var s;return!((s=i.plugin(r))===null||s===void 0)&&s.isDown?Ih:null})]}var Q4="-10000px",W4=class{constructor(e,t,r,i){this.facet=t,this.createTooltipView=r,this.removeTooltipView=i,this.input=e.state.facet(t),this.tooltips=this.input.filter(o=>o);let s=null;this.tooltipViews=this.tooltips.map(o=>s=r(o,s))}update(e,t){var r;let i=e.state.facet(this.facet),s=i.filter(l=>l);if(i===this.input){for(let l of this.tooltipViews)l.update&&l.update(e);return!1}let o=[],a=t?[]:null;for(let l=0;lt[c]=l),t.length=a.length),this.input=i,this.tooltips=s,this.tooltipViews=o,!0}};function Io(n){let e=n.dom.ownerDocument.documentElement,t=e.clientWidth,r=getComputedStyle(e);if(!/stable/.test(r.scrollbarGutter||""))return{left:0,right:t};let i=e.getBoundingClientRect(),s=n.win.scrollX;return{left:Math.max(0,i.left+s-parseFloat(r.marginLeft)),right:Math.min(t,i.right+s+parseFloat(r.marginRight))}}function Wh(n){let{left:e,right:t}=Io(n);return{top:0,left:e,right:t,bottom:n.dom.ownerDocument.documentElement.clientHeight}}var U3=C.define({combine:n=>{var e,t,r;return{position:A.ios?"absolute":((e=n.find(i=>i.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((t=n.find(i=>i.parent))===null||t===void 0?void 0:t.parent)||null,tooltipSpace:((r=n.find(i=>i.tooltipSpace))===null||r===void 0?void 0:r.tooltipSpace)||Wh}}}),_s=new WeakMap,r1=t6.fromClass(class{constructor(n){this.view=n,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=n.state.facet(U3);this.position=e.position,this.parent=e.parent,this.classes=n.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new W4(n,i2,(t,r)=>this.createTooltip(t,r),t=>{this.resizeObserver&&this.resizeObserver.unobserve(t.dom),t.dom.remove()}),this.above=this.manager.tooltips.map(t=>!!t.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),n.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let n of this.manager.tooltipViews)this.intersectionObserver.observe(n.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(n){n.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(n,this.above);e&&this.observeIntersection();let t=e||n.geometryChanged,r=n.state.facet(U3);if(r.position!=this.position&&!this.madeAbsolute){this.position=r.position;for(let i of this.manager.tooltipViews)i.dom.style.position=this.position;t=!0}if(r.parent!=this.parent){this.parent&&this.container.remove(),this.parent=r.parent,this.createContainer();for(let i of this.manager.tooltipViews)this.container.appendChild(i.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(n,e){let t=n.create(this.view),r=e?e.dom:null;if(t.dom.classList.add("cm-tooltip"),n.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let i=document.createElement("div");i.className="cm-tooltip-arrow",t.dom.appendChild(i)}return t.dom.style.position=this.position,t.dom.style.top=Q4,t.dom.style.left="0px",this.container.insertBefore(t.dom,r),t.mount&&t.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(t.dom),t}destroy(){var n,e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let r of this.manager.tooltipViews)r.dom.remove(),(n=r.destroy)===null||n===void 0||n.call(r);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(t=this.intersectionObserver)===null||t===void 0||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let n=1,e=1,t=!1,r=0;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:o}=this.manager.tooltipViews[0];if(A.safari){let a=o.getBoundingClientRect();t=Math.abs(a.top+1e4)>1||Math.abs(a.left)>1}else t=!!o.offsetParent&&o.offsetParent!=this.container.ownerDocument.body}if(t||this.position=="absolute")if(this.parent){let o=this.parent.getBoundingClientRect();o.width&&o.height&&(n=o.width/this.parent.offsetWidth,e=o.height/this.parent.offsetHeight)}else({scaleX:n,scaleY:e}=this.view.viewState);else r=Io(this.view).left;let i=this.view.scrollDOM.getBoundingClientRect(),s=t1(this.view);return{visible:{left:i.left+s.left,top:i.top+s.top,right:i.right-s.right,bottom:i.bottom-s.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((o,a)=>{let l=this.manager.tooltipViews[a];return l.getCoords?l.getCoords(o.pos):this.view.coordsAtPos(o.pos)}),size:this.manager.tooltipViews.map(({dom:o})=>o.getBoundingClientRect()),space:this.view.state.facet(U3).tooltipSpace(this.view),scaleX:n,scaleY:e,makeAbsolute:t,fixedLeft:r}}writeMeasure(n){var e;if(n.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let a of this.manager.tooltipViews)a.dom.style.position="absolute"}let{visible:t,space:r,scaleX:i,scaleY:s}=n,o=[];for(let a=0;a=Math.min(t.bottom,r.bottom)||d.rightMath.min(t.right,r.right)+.1)){u.style.top=Q4;continue}let p=l.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,f=p?7:0,m=h.right-h.left,b=(e=_s.get(c))!==null&&e!==void 0?e:h.bottom-h.top,g=c.offset||Vh,x=this.view.textDirection==e6.LTR,y=h.width>r.right-r.left?x?r.left:r.right-h.width:x?Math.max(r.left,Math.min(d.left-(p?14:0)+g.x,r.right-m)):Math.min(Math.max(r.left,d.left-m+(p?14:0)-g.x),r.right-m),v=this.above[a];!l.strictSide&&(v?d.top-b-f-g.yr.bottom)&&v==r.bottom-d.bottom>d.top-r.top&&(v=this.above[a]=!v);let S=(v?d.top-r.top:r.bottom-d.bottom)-f;if(Sy&&X.topk&&(k=v?X.top-b-2-f:X.bottom+f+2);if(this.position=="absolute"?(u.style.top=(k-n.parent.top)/s+"px",Rs(u,(y-n.parent.left)/i)):(u.style.top=k/s+"px",Rs(u,(y-n.fixedLeft)/i)),p){let X=d.left+(x?g.x:-g.x)-(y+14-7);p.style.left=X/i+"px"}c.overlap!==!0&&o.push({left:y,top:k,right:$,bottom:k+b}),u.classList.toggle("cm-tooltip-above",v),u.classList.toggle("cm-tooltip-below",!v),c.positioned&&c.positioned(n.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let n of this.manager.tooltipViews)n.dom.style.top=Q4}},{eventObservers:{scroll(){this.maybeMeasure()}}});function Rs(n,e){let t=parseInt(n.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(n.style.left=e+"px")}var zh=P.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),Vh={x:0,y:0},i2=C.define({enables:[r1,zh]}),z4=C.define({combine:n=>n.reduce((e,t)=>e.concat(t),[])}),V4=class n{static create(e){return new n(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new W4(e,z4,(t,r)=>this.createHostedView(t,r),t=>t.dom.remove())}createHostedView(e,t){let r=e.create(this.view);return r.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(r.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&r.mount&&r.mount(this.view),r}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)(e=t.destroy)===null||e===void 0||e.call(t)}passProp(e){let t;for(let r of this.manager.tooltipViews){let i=r[e];if(i!==void 0){if(t===void 0)t=i;else if(t!==i)return}}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}},Yh=i2.compute([z4],n=>{let e=n.facet(z4);return e.length===0?null:{pos:Math.min(...e.map(t=>t.pos)),end:Math.max(...e.map(t=>{var r;return(r=t.end)!==null&&r!==void 0?r:t.pos})),create:V4.create,above:e[0].above,arrow:e.some(t=>t.arrow)}}),Wo=C.define(),I0=class{constructor(e,t,r,i,s,o){this.view=e,this.source=t,this.field=r,this.locked=i,this.setHover=s,this.hoverTime=o,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(e){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;eo.bottom||t.xo.right+e.defaultCharacterWidth)return;let a=e.bidiSpans(e.state.doc.lineAt(i)).find(c=>c.from<=i&&c.to>=i),l=a&&a.dir==e6.RTL?-1:1;s=t.x{if(a&&!(Array.isArray(a)&&!a.length)){let l=Array.isArray(a)?a:[a];i&&this.locked.set(l,i),e.dispatch({effects:this.setHover.of(l)})}};if(s&&"then"in s){let a=this.pending={pos:t};s.then(l=>{this.pending==a&&(this.pending=null,o(l))},l=>x6(e.state,l,"hover tooltip"))}else o(s)}get tooltip(){let e=this.view.plugin(r1),t=e?e.manager.tooltips.findIndex(r=>r.create==V4.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,r;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:i,tooltip:s}=this;if(i.length&&!this.locked.has(i)&&s&&!Uh(s.dom,e)||this.pending){let{pos:o}=i[0]||this.pending,a=(r=(t=i[0])===null||t===void 0?void 0:t.end)!==null&&r!==void 0?r:o;(o==a?this.view.posAtCoords(this.lastMove)!=o:!Gh(this.view,o,a,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length&&!this.locked.has(t)){let{tooltip:r}=this;r&&r.dom.contains(e.relatedTarget)?this.watchTooltipLeave(r.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=r=>{e.removeEventListener("mouseleave",t);let{active:i}=this;i.length&&!this.locked.has(i)&&!this.view.dom.contains(r.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}},$4=4;function Uh(n,e){let{left:t,right:r,top:i,bottom:s}=n.getBoundingClientRect(),o;if(o=n.querySelector(".cm-tooltip-arrow")){let a=o.getBoundingClientRect();i=Math.min(a.top,i),s=Math.max(a.bottom,s)}return e.clientX>=t-$4&&e.clientX<=r+$4&&e.clientY>=i-$4&&e.clientY<=s+$4}function Gh(n,e,t,r,i,s){let o=n.scrollDOM.getBoundingClientRect(),a=n.documentTop+n.documentPadding.top+n.contentHeight;if(o.left>r||o.righti||Math.min(o.bottom,a)=e&&l<=t}function J4(n,e={}){let t=L.define(),r=new WeakMap,i=o6.define({create(){return[]},update(o,a){let l=r.get(o);if(o.length&&(e.hideOnChange&&(a.docChanged||a.selection)?o=[]:l&&l(a)?o=[]:e.hideOn&&(o=o.filter(c=>!e.hideOn(a,c)))),a.docChanged&&o.length){let c=[];for(let u of o){let d=a.changes.mapPos(u.pos,-1,g6.TrackDel);if(d!=null){let h=Object.assign(Object.create(null),u);h.pos=d,h.end!=null&&(h.end=a.changes.mapPos(h.end)),c.push(h)}}o=c}for(let c of a.effects)c.is(t)&&(o=c.value,l=void 0),(c.is(Hh)&&!c.value||c.value==i)&&(o=[]);return o.length&&l&&r.set(o,l),o},provide:o=>z4.from(o)}),s=t6.define(o=>new I0(o,n,i,r,t,e.hoverTime||300));return{active:i,extension:[i,s,Wo.of(s),Yh]}}function zo(n,e,t,r={}){var i;let s=n.state.facet(Wo).map(o=>n.plugin(o)).filter(o=>!!o);if(r.tooltip&&r.tooltip.active){let o=s.find(a=>a.field==r.tooltip.active);o&&(s=[o])}for(let o of s)o.activateHover(n,e,t,(i=r.until)!==null&&i!==void 0?i:(()=>!1))}function i1(n,e){let t=n.plugin(r1);if(!t)return null;let r=t.manager.tooltips.indexOf(e);return r<0?null:t.manager.tooltipViews[r]}var Hh=L.define();var Xs=C.define({combine(n){let e,t;for(let r of n)e=e||r.topContainer,t=t||r.bottomContainer;return{topContainer:e,bottomContainer:t}}});function ke(n,e){let t=n.plugin(Vo),r=t?t.specs.indexOf(e):-1;return r>-1?t.panels[r]:null}var Vo=t6.fromClass(class{constructor(n){this.input=n.state.facet(X2),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(n));let e=n.state.facet(Xs);this.top=new de(n,!0,e.topContainer),this.bottom=new de(n,!1,e.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(n){let e=n.state.facet(Xs);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new de(n.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new de(n.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=n.state.facet(X2);if(t!=this.input){let r=t.filter(l=>l),i=[],s=[],o=[],a=[];for(let l of r){let c=this.specs.indexOf(l),u;c<0?(u=l(n.view),a.push(u)):(u=this.panels[c],u.update&&u.update(n)),i.push(u),(u.top?s:o).push(u)}this.specs=r,this.panels=i,this.top.sync(s),this.bottom.sync(o);for(let l of a)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let r of this.panels)r.update&&r.update(n)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:n=>P.scrollMargins.of(e=>{let t=e.plugin(n);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})}),de=class{constructor(e,t,r){this.view=e,this.top=t,this.container=r,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom";let t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=Ms(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=Ms(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}};function Ms(n){let e=n.nextSibling;return n.remove(),e}var X2=C.define({enables:Vo});function Yo(n,e){let t,r=new Promise(o=>t=o),i=o=>Kh(o,e,t);n.state.field(A4,!1)?n.dispatch({effects:Go.of(i)}):n.dispatch({effects:L.appendConfig.of(A4.init(()=>[i]))});let s=Ho.of(i);return{close:s,result:r.then(o=>((n.win.queueMicrotask||(l=>n.win.setTimeout(l,10)))(()=>{n.state.field(A4).indexOf(i)>-1&&n.dispatch({effects:s})}),o))}}function Uo(n,e){let t=n.state.field(A4,!1)||[];for(let r of t){let i=ke(n,r);if(i&&i.dom.classList.contains(e))return i}return null}var A4=o6.define({create(){return[]},update(n,e){for(let t of e.effects)t.is(Go)?n=[t.value].concat(n):t.is(Ho)&&(n=n.filter(r=>r!=t.value));return n},provide:n=>X2.computeN([n],e=>e.field(n))}),Go=L.define(),Ho=L.define();function Kh(n,e,t){let r=e.content?e.content(n,()=>o(null)):null;if(!r){if(r=J("form"),e.input){let a=J("input",e.input);/^(text|password|number|email|tel|url)$/.test(a.type)&&a.classList.add("cm-textfield"),a.name||(a.name="input"),r.appendChild(J("label",(e.label||"")+": ",a))}else r.appendChild(document.createTextNode(e.label||""));r.appendChild(document.createTextNode(" ")),r.appendChild(J("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let i=r.nodeName=="FORM"?[r]:r.querySelectorAll("form");for(let a=0;a{c.keyCode==27?(c.preventDefault(),o(null)):c.keyCode==13&&(c.preventDefault(),o(l))}),l.addEventListener("submit",c=>{c.preventDefault(),o(l)})}let s=J("div",r,J("button",{onclick:()=>o(null),"aria-label":n.state.phrase("close"),class:"cm-dialog-close",type:"button"},["\xD7"]));e.class&&(s.className=e.class),s.classList.add("cm-dialog");function o(a){s.contains(s.ownerDocument.activeElement)&&n.focus(),t(a)}return{dom:s,top:e.top,mount:()=>{if(e.focus){let a;typeof e.focus=="string"?a=r.querySelector(e.focus):a=r.querySelector("input")||r.querySelector("button"),a&&"select"in a?a.select():a&&"focus"in a&&a.focus()}}}}var j6=class extends o5{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};j6.prototype.elementClass="";j6.prototype.toDOM=void 0;j6.prototype.mapMode=g6.TrackBefore;j6.prototype.startSide=j6.prototype.endSide=-1;j6.prototype.point=!0;var _4=C.define(),Jh=C.define(),ef={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>z.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},ut=C.define();function e9(n){return[Ko(),ut.of({...ef,...n})]}var W0=C.define({combine:n=>n.some(e=>e)});function Ko(n){let e=[tf];return n&&n.fixed===!1&&e.push(W0.of(!0)),e}var tf=t6.fromClass(class{constructor(n){this.view=n,this.domAfter=null,this.prevViewport=n.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=n.state.facet(ut).map(e=>new Y4(n,e)),this.fixed=!n.state.facet(W0);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),n.scrollDOM.insertBefore(this.dom,n.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(n){if(this.updateGutters(n)){let e=this.prevViewport,t=n.view.viewport,r=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(r<(t.to-t.from)*.8)}if(n.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(W0)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=n.view.viewport}syncGutters(n){let e=this.dom.nextSibling;n&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=z.iter(this.view.state.facet(_4),this.view.viewport.from),r=[],i=this.gutters.map(s=>new V0(s,this.view.viewport,-this.view.documentPadding.top));for(let s of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(s.type)){let o=!0;for(let a of s.type)if(a.type==w6.Text&&o){z0(t,r,a.from);for(let l of i)l.line(this.view,a,r);o=!1}else if(a.widget)for(let l of i)l.widget(this.view,a)}else if(s.type==w6.Text){z0(t,r,s.from);for(let o of i)o.line(this.view,s,r)}else if(s.widget)for(let o of i)o.widget(this.view,s);for(let s of i)s.finish();n&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(n){let e=n.startState.facet(ut),t=n.state.facet(ut),r=n.docChanged||n.heightChanged||n.viewportChanged||!z.eq(n.startState.facet(_4),n.state.facet(_4),n.view.viewport.from,n.view.viewport.to);if(e==t)for(let i of this.gutters)i.update(n)&&(r=!0);else{r=!0;let i=[];for(let s of t){let o=e.indexOf(s);o<0?i.push(new Y4(this.view,s)):(this.gutters[o].update(n),i.push(this.gutters[o]))}for(let s of this.gutters)s.dom.remove(),i.indexOf(s)<0&&s.destroy();for(let s of i)s.config.side=="after"?this.getDOMAfter().appendChild(s.dom):this.dom.appendChild(s.dom);this.gutters=i}return r}destroy(){for(let n of this.gutters)n.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:n=>P.scrollMargins.of(e=>{let t=e.plugin(n);if(!t||t.gutters.length==0||!t.fixed)return null;let r=t.dom.offsetWidth*e.scaleX,i=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==e6.LTR?{left:r,right:i}:{right:r,left:i}})});function Es(n){return Array.isArray(n)?n:[n]}function z0(n,e,t){for(;n.value&&n.from<=t;)n.from==t&&e.push(n.value),n.next()}var V0=class{constructor(e,t,r){this.gutter=e,this.height=r,this.i=0,this.cursor=z.iter(e.markers,t.from)}addElement(e,t,r){let{gutter:i}=this,s=(t.top-this.height)/e.scaleY,o=t.height/e.scaleY;if(this.i==i.elements.length){let a=new U4(e,o,s,r);i.elements.push(a),i.dom.appendChild(a.dom)}else i.elements[this.i].update(e,o,s,r);this.height=t.bottom,this.i++}line(e,t,r){let i=[];z0(this.cursor,i,t.from),r.length&&(i=i.concat(r));let s=this.gutter.config.lineMarker(e,t,i);s&&i.unshift(s);let o=this.gutter;i.length==0&&!o.config.renderEmptyElements||this.addElement(e,t,i)}widget(e,t){let r=this.gutter.config.widgetMarker(e,t.widget,t),i=r?[r]:null;for(let s of e.state.facet(Jh)){let o=s(e,t.widget,t);o&&(i||(i=[])).push(o)}i&&this.addElement(e,t,i)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}},Y4=class{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let r in t.domEventHandlers)this.dom.addEventListener(r,i=>{let s=i.target,o;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let l=s.getBoundingClientRect();o=(l.top+l.bottom)/2}else o=i.clientY;let a=e.lineBlockAtHeight(o-e.documentTop);t.domEventHandlers[r](e,a,i)&&i.preventDefault()});this.markers=Es(t.markers(e)),t.initialSpacer&&(this.spacer=new U4(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=Es(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let i=this.config.updateSpacer(this.spacer.markers[0],e);i!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[i])}let r=e.view.viewport;return!z.eq(this.markers,t,r.from,r.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}},U4=class{constructor(e,t,r,i){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,r,i)}update(e,t,r,i){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=r&&(this.dom.style.marginTop=(this.above=r)?r+"px":""),nf(this.markers,i)||this.setMarkers(e,i)}setMarkers(e,t){let r="cm-gutterElement",i=this.dom.firstChild;for(let s=0,o=0;;){let a=o,l=ss(a,l,c)||o(a,l,c):o}return r}})}}),dt=class extends j6{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}};function G3(n,e){return n.state.facet(he).formatNumber(e,n.state)}var of=ut.compute([he],n=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(rf)},lineMarker(e,t,r){return r.some(i=>i.toDOM)?null:new dt(G3(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,r)=>{for(let i of e.state.facet(sf)){let s=i(e,t,r);if(s)return s}return null},lineMarkerChange:e=>e.startState.facet(he)!=e.state.facet(he),initialSpacer(e){return new dt(G3(e,Fs(e.state.doc.lines)))},updateSpacer(e,t){let r=G3(t.view,Fs(t.view.state.doc.lines));return r==e.number?e:new dt(r)},domEventHandlers:n.facet(he).domEventHandlers,side:"before"}));function s1(n={}){return[he.of(n),Ko(),of]}function Fs(n){let e=9;for(;e{let e=[],t=-1;for(let r of n.selection.ranges){let i=n.doc.lineAt(r.head).from;i>t&&(t=i,e.push(af.range(i)))}return z.of(e)});function Jo(){return lf}var cf=0,B6=class{constructor(e,t){this.from=e,this.to=t}},F=class{constructor(e={}){this.id=cf++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=i6.match(e)),t=>{let r=e(t);return r===void 0?null:[this,r]}}};F.closedBy=new F({deserialize:n=>n.split(" ")});F.openedBy=new F({deserialize:n=>n.split(" ")});F.group=new F({deserialize:n=>n.split(" ")});F.isolate=new F({deserialize:n=>{if(n&&n!="rtl"&&n!="ltr"&&n!="auto")throw new RangeError("Invalid value for isolate: "+n);return n||"auto"}});F.contextHash=new F({perNode:!0});F.lookAhead=new F({perNode:!0});F.mounted=new F({perNode:!0});var s2=class{constructor(e,t,r,i=!1){this.tree=e,this.overlay=t,this.parser=r,this.bracketed=i}static get(e){return e&&e.props&&e.props[F.mounted.id]}},uf=Object.create(null),i6=class n{constructor(e,t,r,i=0){this.name=e,this.props=t,this.id=r,this.flags=i}static define(e){let t=e.props&&e.props.length?Object.create(null):uf,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),i=new n(e.name||"",t,e.id,r);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(i)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return i}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(F.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let r in e)for(let i of r.split(" "))t[i]=e[r];return r=>{for(let i=r.prop(F.group),s=-1;s<(i?i.length:0);s++){let o=t[s<0?r.name:i[s]];if(o)return o}}}};i6.none=new i6("",Object.create(null),0,8);var R5=class n{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(o|V.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=i&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&r&&(a||!l.type.isAnonymous)&&r(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:g1(i6.none,this.children,this.positions,0,this.children.length,0,this.length,(t,r,i)=>new n(this.type,t,r,i,this.propValues),e.makeTree||((t,r,i)=>new n(i6.none,t,r,i)))}static build(e){return hf(e)}};I.empty=new I(i6.none,[],[],0);var o1=class n{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new n(this.buffer,this.index)}},o2=class n{constructor(e,t,r){this.buffer=e,this.length=t,this.set=r}get type(){return i6.none}toString(){let e=[];for(let t=0;t0));l=o[l+3]);return a}slice(e,t,r){let i=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a=e&&te;case 1:return t<=e&&r>e;case 2:return r>e;case 4:return!0}}function Ot(n,e,t,r){for(var i;n.from==n.to||(t<1?n.from>=e:n.from>e)||(t>-1?n.to<=e:n.to0?a.length:-1;e!=c;e+=t){let u=a[e],d=l[e]+o.from,h;if(!(!(s&V.EnterBracketed&&u instanceof I&&(h=s2.get(u))&&!h.overlay&&h.bracketed&&r>=d&&r<=d+u.length)&&!aa(i,r,d,d+u.length))){if(u instanceof o2){if(s&V.ExcludeBuffers)continue;let p=u.findChild(0,u.buffer.length,t,r-d,i);if(p>-1)return new M2(new l1(o,u,e,d),null,p)}else if(s&V.IncludeAnonymous||!u.type.isAnonymous||m1(u)){let p;if(!(s&V.IgnoreMounts)&&(p=s2.get(u))&&!p.overlay)return new n(p.tree,d,e,o);let f=new n(u,d,e,o);return s&V.IncludeAnonymous||!f.type.isAnonymous?f:f.nextChild(t<0?u.children.length-1:0,t,r,i,s)}}}if(s&V.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,r=0){let i;if(!(r&V.IgnoreOverlays)&&(i=s2.get(this._tree))&&i.overlay){let s=e-this.from,o=r&V.EnterBracketed&&i.bracketed;for(let{from:a,to:l}of i.overlay)if((t>0||o?a<=s:a=s:l>s))return new n(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,r)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function ta(n,e,t,r){let i=n.cursor(),s=[];if(!i.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=i.type.is(t),!i.nextSibling())return s}for(;;){if(r!=null&&i.type.is(r))return s;if(i.type.is(e)&&s.push(i.node),!i.nextSibling())return r==null?s:[]}}function a1(n,e,t=e.length-1){for(let r=n;t>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(e[t]&&e[t]!=r.name)return!1;t--}}return!0}var l1=class{constructor(e,t,r,i){this.parent=e,this.buffer=t,this.index=r,this.start=i}},M2=class n extends r9{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,r){super(),this.context=e,this._parent=t,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,t,r){let{buffer:i}=this.context,s=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.context.start,r);return s<0?null:new n(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,r=0){if(r&V.ExcludeBuffers)return null;let{buffer:i}=this.context,s=i.findChild(this.index+4,i.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new n(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new n(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new n(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:r}=this.context,i=this.index+4,s=r.buffer[this.index+3];if(s>i){let o=r.buffer[this.index+1];e.push(r.slice(i,s,o)),t.push(0)}return new I(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function la(n){if(!n.length)return null;let e=0,t=n[0];for(let s=1;st.from||o.to=e){let a=new N6(o.tree,o.overlay[0].from+s.from,-1,s);(i||(i=[r])).push(Ot(a,e,t,!1))}}return i?la(i):r}var ve=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~V.EnterBracketed,e instanceof N6)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let r=e._parent;r;r=r._parent)this.stack.unshift(r.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:r,buffer:i}=this.buffer;return this.type=t||i.set.types[i.buffer[e]],this.from=r+i.buffer[e+1],this.to=r+i.buffer[e+2],!0}yield(e){return e?e instanceof N6?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,r,this.mode));let{buffer:i}=this.buffer,s=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.buffer.start,r);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,r=this.mode){return this.buffer?r&V.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&V.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&V.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,r=this.stack.length-1;if(e<0){let i=r<0?0:this.stack[r]+4;if(this.index!=i)return this.yieldBuf(t.findChild(i,this.index,-1,0,4))}else{let i=t.buffer[this.index+3];if(i<(r<0?t.buffer.length:t.buffer[this.stack[r]+3]))return this.yieldBuf(i)}return r<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,r,{buffer:i}=this;if(i){if(e>0){if(this.index-1)for(let s=t+e,o=e<0?-1:r._tree.children.length;s!=o;s+=e){let a=r._tree.children[s];if(this.mode&V.IncludeAnonymous||a instanceof o2||!a.type.isAnonymous||m1(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==i){if(i==this.index)return o;t=o,r=s+1;break e}i=this.stack[--s]}for(let i=r;i=0;s--){if(s<0)return a1(this._tree,e,i);let o=r[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[i]&&e[i]!=o.name)return!1;i--}}return!0}};function m1(n){return n.children.some(e=>e instanceof o2||!e.type.isAnonymous||m1(e))}function hf(n){var e;let{buffer:t,nodeSet:r,maxBufferLength:i=1024,reused:s=[],minRepeatType:o=r.types.length}=n,a=Array.isArray(t)?new o1(t,t.length):t,l=r.types,c=0,u=0;function d(S,k,$,X,M,Y){let{id:D,start:Z,end:G,size:H}=a,n6=u,R=c;if(H<0)if(a.next(),H==-1){let j5=s[D];$.push(j5),X.push(Z-S);return}else if(H==-3){c=D;return}else if(H==-4){u=D;return}else throw new RangeError(`Unrecognized record size: ${H}`);let j=l[D],B,s6,i5=Z-S;if(G-Z<=i&&(s6=b(a.pos-k,M))){let j5=new Uint16Array(s6.size-s6.skip),s5=a.pos-s6.size,C5=j5.length;for(;a.pos>s5;)C5=g(s6.start,j5,C5);B=new o2(j5,G-s6.start,r),i5=s6.start-S}else{let j5=a.pos-H;a.next();let s5=[],C5=[],k2=D>=o?D:-1,te=0,s4=G;for(;a.pos>j5;)k2>=0&&a.id==k2&&a.size>=0?(a.end<=s4-i&&(f(s5,C5,Z,te,a.end,s4,k2,n6,R),te=s5.length,s4=a.end),a.next()):Y>2500?h(Z,j5,s5,C5):d(Z,j5,s5,C5,k2,Y+1);if(k2>=0&&te>0&&te-1&&te>0){let Qi=p(j,R);B=g1(j,s5,C5,0,s5.length,0,G-Z,Qi,Qi)}else B=m(j,s5,C5,G-Z,n6-G,R)}$.push(B),X.push(i5)}function h(S,k,$,X){let M=[],Y=0,D=-1;for(;a.pos>k;){let{id:Z,start:G,end:H,size:n6}=a;if(n6>4)a.next();else{if(D>-1&&G=0;H-=3)Z[n6++]=M[H],Z[n6++]=M[H+1]-G,Z[n6++]=M[H+2]-G,Z[n6++]=n6;$.push(new o2(Z,M[2]-G,r)),X.push(G-S)}}function p(S,k){return($,X,M)=>{let Y=0,D=$.length-1,Z,G;if(D>=0&&(Z=$[D])instanceof I){if(!D&&Z.type==S&&Z.length==M)return Z;(G=Z.prop(F.lookAhead))&&(Y=X[D]+Z.length+G)}return m(S,$,X,M,Y,k)}}function f(S,k,$,X,M,Y,D,Z,G){let H=[],n6=[];for(;S.length>X;)H.push(S.pop()),n6.push(k.pop()+$-M);S.push(m(r.types[D],H,n6,Y-M,Z-Y,G)),k.push(M-$)}function m(S,k,$,X,M,Y,D){if(Y){let Z=[F.contextHash,Y];D=D?[Z].concat(D):[Z]}if(M>25){let Z=[F.lookAhead,M];D=D?[Z].concat(D):[Z]}return new I(S,k,$,X,D)}function b(S,k){let $=a.fork(),X=0,M=0,Y=0,D=$.end-i,Z={size:0,start:0,skip:0};e:for(let G=$.pos-S;$.pos>G;){let H=$.size;if($.id==k&&H>=0){Z.size=X,Z.start=M,Z.skip=Y,Y+=4,X+=4,$.next();continue}let n6=$.pos-H;if(H<0||n6=o?4:0,j=$.start;for($.next();$.pos>n6;){if($.size<0)if($.size==-3||$.size==-4)R+=4;else break e;else $.id>=o&&(R+=4);$.next()}M=j,X+=H,Y+=R}return(k<0||X==S)&&(Z.size=X,Z.start=M,Z.skip=Y),Z.size>4?Z:void 0}function g(S,k,$){let{id:X,start:M,end:Y,size:D}=a;if(a.next(),D>=0&&X4){let G=a.pos-(D-4);for(;a.pos>G;)$=g(S,k,$)}k[--$]=Z,k[--$]=Y-S,k[--$]=M-S,k[--$]=X}else D==-3?c=X:D==-4&&(u=X);return $}let x=[],y=[];for(;a.pos>0;)d(n.start||0,n.bufferStart||0,x,y,-1,0);let v=(e=n.length)!==null&&e!==void 0?e:x.length?y[0]+x[0].length:0;return new I(l[n.topID],x.reverse(),y.reverse(),v)}var na=new WeakMap;function n9(n,e){if(!n.isAnonymous||e instanceof o2||e.type!=n)return 1;let t=na.get(e);if(t==null){t=1;for(let r of e.children){if(r.type!=n||!(r instanceof I)){t=1;break}t+=n9(n,r)}na.set(e,t)}return t}function g1(n,e,t,r,i,s,o,a,l){let c=0;for(let f=r;f=u)break;k+=$}if(y==v+1){if(k>u){let $=f[v];p($.children,$.positions,0,$.children.length,m[v]+x);continue}d.push(f[v])}else{let $=m[y-1]+f[y-1].length-S;d.push(g1(n,f,m,v,y,S,$,null,l))}h.push(S+x-s)}}return p(e,t,r,i,0),(a||l)(d,h,o)}var we=class{constructor(){this.map=new WeakMap}setBuffer(e,t,r){let i=this.map.get(e);i||this.map.set(e,i=new Map),i.set(t,r)}getBuffer(e,t){let r=this.map.get(e);return r&&r.get(t)}set(e,t){e instanceof M2?this.setBuffer(e.context.buffer,e.index,t):e instanceof N6&&this.map.set(e.tree,t)}get(e){return e instanceof M2?this.getBuffer(e.context.buffer,e.index):e instanceof N6?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},V5=class n{constructor(e,t,r,i,s=!1,o=!1){this.from=e,this.to=t,this.tree=r,this.offset=i,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],r=!1){let i=[new n(0,e.length,e,0,!1,r)];for(let s of t)s.to>e.length&&i.push(s);return i}static applyChanges(e,t,r=128){if(!t.length)return e;let i=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let u=a=r)for(;o&&o.from=h.from||d<=h.to||c){let p=Math.max(h.from,l)-c,f=Math.min(h.to,d)-c;h=p>=f?null:new n(p,f,h.tree,h.offset+c,a>0,!!u)}if(h&&i.push(h),o.to>d)break;o=snew B6(i.from,i.to)):[new B6(0,0)]:[new B6(0,e.length)],this.createParse(e,t||[],r)}parse(e,t,r){let i=this.startParse(e,t,r);for(;;){let s=i.advance();if(s)return s}}},u1=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function Qe(n){return(e,t,r,i)=>new f1(e,n,t,r,i)}var i9=class{constructor(e,t,r,i,s,o){this.parser=e,this.parse=t,this.overlay=r,this.bracketed=i,this.target=s,this.from=o}};function ra(n){if(!n.length||n.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(n))}var d1=class{constructor(e,t,r,i,s,o,a,l){this.parser=e,this.predicate=t,this.mounts=r,this.index=i,this.start=s,this.bracketed=o,this.target=a,this.prev=l,this.depth=0,this.ranges=[]}},h1=new F({perNode:!0}),f1=class{constructor(e,t,r,i,s){this.nest=t,this.input=r,this.fragments=i,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let r=this.baseParse.advance();if(!r)return null;if(this.baseParse=null,this.baseTree=r,this.startInner(),this.stoppedAt!=null)for(let i of this.inner)i.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let r=this.baseTree;return this.stoppedAt!=null&&(r=new I(r.type,r.children,r.positions,r.length,r.propValues.concat([[h1,this.stoppedAt]]))),r}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let r=Object.assign(Object.create(null),e.target.props);r[F.mounted.id]=new s2(t,e.overlay,e.parser,e.bracketed),e.target.props=r}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(i)){if(t){let c=t.mounts.find(u=>u.frag.from<=i.from&&u.frag.to>=i.to&&u.mount.overlay);if(c)for(let u of c.mount.overlay){let d=u.from+c.pos,h=u.to+c.pos;d>=i.from&&h<=i.to&&!t.ranges.some(p=>p.fromd)&&t.ranges.push({from:d,to:h})}}a=!1}else if(r&&(o=ff(r.ranges,i.from,i.to)))a=o!=2;else if(!i.type.isAnonymous&&(s=this.nest(i,this.input))&&(i.fromnew B6(d.from-i.from,d.to-i.from)):null,!!s.bracketed,i.tree,u.length?u[0].from:i.from)),s.overlay?u.length&&(r={ranges:u,depth:0,prev:r}):a=!1}}else if(t&&(l=t.predicate(i))&&(l===!0&&(l=new B6(i.from,i.to)),l.from=0&&t.ranges[c].to==l.from?t.ranges[c]={from:t.ranges[c].from,to:l.to}:t.ranges.push(l)}if(a&&i.firstChild())t&&t.depth++,r&&r.depth++;else for(;!i.nextSibling();){if(!i.parent())break e;if(t&&!--t.depth){let c=sa(this.ranges,t.ranges);c.length&&(ra(c),this.inner.splice(t.index,0,new i9(t.parser,t.parser.startParse(this.input,oa(t.mounts,c),c),t.ranges.map(u=>new B6(u.from-t.start,u.to-t.start)),t.bracketed,t.target,c[0].from))),t=t.prev}r&&!--r.depth&&(r=r.prev)}}}};function ff(n,e,t){for(let r of n){if(r.from>=t)break;if(r.to>e)return r.from<=e&&r.to>=t?2:1}return 0}function ia(n,e,t,r,i,s){if(e=r&&t.enter(r,1,V.IncludeAnonymous|V.IgnoreOverlays|V.ExcludeBuffers)))if(t.to<=r)t.next(!1)||(this.done=!0);else break}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof I)t=t.children[0];else break}return!1}},p1=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let r=this.curFrag=e[0];this.curTo=(t=r.tree.prop(h1))!==null&&t!==void 0?t:r.to,this.inner=new s9(r.tree,-r.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(h1))!==null&&e!==void 0?e:t.to,this.inner=new s9(t.tree,-t.offset)}}findMounts(e,t){var r;let i=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(r=s.tree)===null||r===void 0?void 0:r.prop(F.mounted);if(o&&o.parser==t)for(let a=this.fragI;a=s.to)break;l.tree==this.curFrag.tree&&i.push({frag:l,pos:s.from-l.offset,mount:o})}}}return i}};function sa(n,e){let t=null,r=e;for(let i=1,s=0;i=a)break;l.to<=o||(t||(r=t=e.slice()),l.froma&&t.splice(s+1,0,new B6(a,l.to))):l.to>a?t[s--]=new B6(a,l.to):t.splice(s--,1))}}return r}function mf(n,e,t,r){let i=0,s=0,o=!1,a=!1,l=-1e9,c=[];for(;;){let u=i==n.length?1e9:o?n[i].to:n[i].from,d=s==e.length?1e9:a?e[s].to:e[s].from;if(o!=a){let h=Math.max(l,t),p=Math.min(u,d,r);hnew B6(h.from+r,h.to+r)),d=mf(e,u,l,c);for(let h=0,p=l;;h++){let f=h==d.length,m=f?c:d[h].from;if(m>p&&t.push(new V5(p,m,i.tree,-o,s.from>=p||s.openStart,s.to<=m||s.openEnd)),f)break;p=d[h].to}}else t.push(new V5(l,c,i.tree,-o,s.from>=o||s.openStart,s.to<=a||s.openEnd))}return t}var gf=0,K6=class n{constructor(e,t,r,i){this.name=e,this.set=t,this.base=r,this.modified=i,this.id=gf++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let r=typeof e=="string"?e:"?";if(e instanceof n&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let i=new n(r,[],null,[]);if(i.set.push(i),t)for(let s of t.set)i.set.push(s);return i}static defineModifier(e){let t=new c9(e);return r=>r.modified.indexOf(t)>-1?r:c9.get(r.base||r,r.modified.concat(t).sort((i,s)=>i.id-s.id))}},Of=0,c9=class n{constructor(e){this.name=e,this.instances=[],this.id=Of++}static get(e,t){if(!t.length)return e;let r=t[0].instances.find(a=>a.base==e&&bf(t,a.modified));if(r)return r;let i=[],s=new K6(e.name,i,e,t);for(let a of t)a.instances.push(s);let o=xf(t);for(let a of e.set)if(!a.modified.length)for(let l of o)i.push(n.get(a,l));return s}};function bf(n,e){return n.length==e.length&&n.every((t,r)=>t==e[r])}function xf(n){let e=[[]];for(let t=0;tr.length-t.length)}function Q6(n){let e=Object.create(null);for(let t in n){let r=n[t];Array.isArray(r)||(r=[r]);for(let i of t.split(" "))if(i){let s=[],o=2,a=i;for(let d=0;;){if(a=="..."&&d>0&&d+3==i.length){o=1;break}let h=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!h)throw new RangeError("Invalid path: "+i);if(s.push(h[0]=="*"?"":h[0][0]=='"'?JSON.parse(h[0]):h[0]),d+=h[0].length,d==i.length)break;let p=i[d++];if(d==i.length&&p=="!"){o=0;break}if(p!="/")throw new RangeError("Invalid path: "+i);a=i.slice(d)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+i);let u=new F2(r,o,l>0?s.slice(0,l):null);e[c]=u.sort(e[c])}}return da.add(e)}var da=new F({combine(n,e){let t,r,i;for(;n||e;){if(!n||e&&n.depth<=e.depth?(i=e,e=e.next):(i=n,n=n.next),t&&t.mode==i.mode&&!i.context&&!t.context)continue;let s=new F2(i.tags,i.mode,i.context);t?t.next=s:r=s,t=s}return r}}),F2=class{constructor(e,t,r,i){this.tags=e,this.mode=t,this.context=r,this.next=i}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=i;for(let a of s)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:r}}function yf(n,e){let t=null;for(let r of n){let i=r.style(e);i&&(t=t?t+" "+i:i)}return t}function ha(n,e,t,r=0,i=n.length){let s=new b1(r,Array.isArray(e)?e:[e],t);s.highlightRange(n.cursor(),r,i,"",s.highlighters),s.flush(i)}var b1=class{constructor(e,t,r){this.at=e,this.highlighters=t,this.span=r,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,r,i,s){let{type:o,from:a,to:l}=e;if(a>=r||l<=t)return;o.isTop&&(s=this.highlighters.filter(p=>!p.scope||p.scope(o)));let c=i,u=Sf(e)||F2.empty,d=yf(s,u.tags);if(d&&(c&&(c+=" "),c+=d,u.mode==1&&(i+=(i?" ":"")+d)),this.startSpan(Math.max(t,a),c),u.opaque)return;let h=e.tree&&e.tree.prop(F.mounted);if(h&&h.overlay){let p=e.node.enter(h.overlay[0].from+a,1),f=this.highlighters.filter(b=>!b.scope||b.scope(h.tree.type)),m=e.firstChild();for(let b=0,g=a;;b++){let x=b=y||!e.nextSibling())););if(!x||y>r)break;g=x.to+a,g>t&&(this.highlightRange(p.cursor(),Math.max(t,x.from+a),Math.min(r,g),"",f),this.startSpan(Math.min(r,g),c))}m&&e.parent()}else if(e.firstChild()){h&&(i="");do if(!(e.to<=t)){if(e.from>=r)break;this.highlightRange(e,t,r,i,s),this.startSpan(Math.min(r,e.to),c)}while(e.nextSibling());e.parent()}}};function Sf(n){let e=n.type.prop(da);for(;e&&e.context&&!n.matchContext(e.context);)e=e.next;return e||null}var q=K6.define,o9=q(),a2=q(),ca=q(a2),ua=q(a2),l2=q(),a9=q(l2),O1=q(l2),E5=q(),E2=q(E5),X5=q(),M5=q(),x1=q(),bt=q(x1),l9=q(),O={comment:o9,lineComment:q(o9),blockComment:q(o9),docComment:q(o9),name:a2,variableName:q(a2),typeName:ca,tagName:q(ca),propertyName:ua,attributeName:q(ua),className:q(a2),labelName:q(a2),namespace:q(a2),macroName:q(a2),literal:l2,string:a9,docString:q(a9),character:q(a9),attributeValue:q(a9),number:O1,integer:q(O1),float:q(O1),bool:q(l2),regexp:q(l2),escape:q(l2),color:q(l2),url:q(l2),keyword:X5,self:q(X5),null:q(X5),atom:q(X5),unit:q(X5),modifier:q(X5),operatorKeyword:q(X5),controlKeyword:q(X5),definitionKeyword:q(X5),moduleKeyword:q(X5),operator:M5,derefOperator:q(M5),arithmeticOperator:q(M5),logicOperator:q(M5),bitwiseOperator:q(M5),compareOperator:q(M5),updateOperator:q(M5),definitionOperator:q(M5),typeOperator:q(M5),controlOperator:q(M5),punctuation:x1,separator:q(x1),bracket:bt,angleBracket:q(bt),squareBracket:q(bt),paren:q(bt),brace:q(bt),content:E5,heading:E2,heading1:q(E2),heading2:q(E2),heading3:q(E2),heading4:q(E2),heading5:q(E2),heading6:q(E2),contentSeparator:q(E5),list:q(E5),quote:q(E5),emphasis:q(E5),strong:q(E5),link:q(E5),monospace:q(E5),strikethrough:q(E5),inserted:q(),deleted:q(),changed:q(),invalid:q(),meta:l9,documentMeta:q(l9),annotation:q(l9),processingInstruction:q(l9),definition:K6.defineModifier("definition"),constant:K6.defineModifier("constant"),function:K6.defineModifier("function"),standard:K6.defineModifier("standard"),local:K6.defineModifier("local"),special:K6.defineModifier("special")};for(let n in O){let e=O[n];e instanceof K6&&(e.name=n)}var sk=y1([{tag:O.link,class:"tok-link"},{tag:O.heading,class:"tok-heading"},{tag:O.emphasis,class:"tok-emphasis"},{tag:O.strong,class:"tok-strong"},{tag:O.keyword,class:"tok-keyword"},{tag:O.atom,class:"tok-atom"},{tag:O.bool,class:"tok-bool"},{tag:O.url,class:"tok-url"},{tag:O.labelName,class:"tok-labelName"},{tag:O.inserted,class:"tok-inserted"},{tag:O.deleted,class:"tok-deleted"},{tag:O.literal,class:"tok-literal"},{tag:O.string,class:"tok-string"},{tag:O.number,class:"tok-number"},{tag:[O.regexp,O.escape,O.special(O.string)],class:"tok-string2"},{tag:O.variableName,class:"tok-variableName"},{tag:O.local(O.variableName),class:"tok-variableName tok-local"},{tag:O.definition(O.variableName),class:"tok-variableName tok-definition"},{tag:O.special(O.variableName),class:"tok-variableName2"},{tag:O.definition(O.propertyName),class:"tok-propertyName tok-definition"},{tag:O.typeName,class:"tok-typeName"},{tag:O.namespace,class:"tok-namespace"},{tag:O.className,class:"tok-className"},{tag:O.macroName,class:"tok-macroName"},{tag:O.propertyName,class:"tok-propertyName"},{tag:O.operator,class:"tok-operator"},{tag:O.comment,class:"tok-comment"},{tag:O.meta,class:"tok-meta"},{tag:O.invalid,class:"tok-invalid"},{tag:O.punctuation,class:"tok-punctuation"}]);var S1,d5=new F;function D2(n){return C.define({combine:n?e=>e.concat(n):void 0})}var f9=new F,u6=class{constructor(e,t,r=[],i=""){this.data=e,this.name=i,K.prototype.hasOwnProperty("tree")||Object.defineProperty(K.prototype,"tree",{get(){return N(this)}}),this.parser=t,this.extension=[c2.of(this),K.languageData.of((s,o,a)=>{let l=fa(s,o,a),c=l.type.prop(d5);if(!c)return[];let u=s.facet(c),d=l.type.prop(f9);if(d){let h=l.resolve(o-l.from,a);for(let p of d)if(p.test(h,s)){let f=s.facet(p.facet);return p.type=="replace"?f:f.concat(u)}}return u})].concat(r)}isActiveAt(e,t,r=-1){return fa(e,t,r).type.prop(d5)==this.data}findRegions(e){let t=e.facet(c2);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let r=[],i=(s,o)=>{if(s.prop(d5)==this.data){r.push({from:o,to:o+s.length});return}let a=s.prop(F.mounted);if(a){if(a.tree.prop(d5)==this.data){if(a.overlay)for(let l of a.overlay)r.push({from:l.from+o,to:l.to+o});else r.push({from:o,to:o+s.length});return}else if(a.overlay){let l=r.length;if(i(a.tree,a.overlay[0].from+o),r.length>l)return}}for(let l=0;lr.isTop?t:void 0)]}),e.name)}configure(e,t){return new n(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function N(n){let e=n.field(u6.state,!1);return e?e.tree:I.empty}function kf(n,e,t=50){var r;let i=(r=n.field(u6.state,!1))===null||r===void 0?void 0:r.context;if(!i)return null;let s=i.viewport;i.updateViewport({from:0,to:e});let o=i.isDone(e)||i.work(t,e)?i.tree:null;return i.updateViewport(s),o}function Sa(n,e=n.viewport.to,t=100){let r=kf(n.state,e,t);return r!=N(n.state)&&n.dispatch({}),!!r}var w1=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let r=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-r,t-r)}},xt=null,St=class n{constructor(e,t,r=[],i,s,o,a,l){this.parser=e,this.state=t,this.fragments=r,this.tree=i,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,r){return new n(e,t,[],I.empty,0,r,[],null)}startParse(){return this.parser.startParse(new w1(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=I.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var r;if(typeof e=="number"){let i=Date.now()+e;e=()=>Date.now()>i}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(V5.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=xt;xt=this;try{return e()}finally{xt=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=pa(e,t.from,t.to);return e}changes(e,t){let{fragments:r,tree:i,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,u,d,h)=>l.push({fromA:c,toA:u,fromB:d,toB:h})),r=V5.applyChanges(r,l),i=I.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let u=e.mapPos(c.from,1),d=e.mapPos(c.to,-1);ue.from&&(this.fragments=pa(this.fragments,i,s),this.skipped.splice(r--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends I6{createParse(t,r,i){let s=i[0].from,o=i[i.length-1].to;return{parsedPos:s,advance(){let l=xt;if(l){for(let c of i)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new I(i6.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return xt}};function pa(n,e,t){return V5.applyChanges(n,[{fromA:e,toA:t,fromB:e,toB:t}])}var kt=class n{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),r=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,r)||t.takeTree(),new n(t)}static init(e){let t=Math.min(3e3,e.doc.length),r=St.create(e.facet(c2).parser,e,{from:0,to:t});return r.work(20,t)||r.takeTree(),new n(r)}};u6.state=o6.define({create:kt.init,update(n,e){for(let t of e.effects)if(t.is(u6.setState))return t.value;return e.startState.facet(c2)!=e.state.facet(c2)?kt.init(e.state):n.apply(e)}});var ka=n=>{let e=setTimeout(()=>n(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(ka=n=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(n,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var k1=typeof navigator<"u"&&(!((S1=navigator.scheduling)===null||S1===void 0)&&S1.isInputPending)?()=>navigator.scheduling.isInputPending():null,vf=t6.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(u6.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(u6.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=ka(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndi+1e3,l=s.context.work(()=>k1&&k1()||Date.now()>o,i+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:u6.setState.of(new kt(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>x6(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),c2=C.define({combine(n){return n.length?n[0]:null},enables:n=>[u6.state,vf,P.contentAttributes.compute([n],e=>{let t=e.facet(n);return t&&t.name?{"data-language":t.name}:{}})]}),h6=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},f5=class n{constructor(e,t,r,i,s,o=void 0){this.name=e,this.alias=t,this.extensions=r,this.filename=i,this.loadFunc=s,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:r}=e;if(!t){if(!r)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(r)}return new n(e.name,(e.alias||[]).concat(e.name).map(i=>i.toLowerCase()),e.extensions||[],e.filename,t,r)}static matchFilename(e,t){for(let i of e)if(i.filename&&i.filename.test(t))return i;let r=/\.([^.]+)$/.exec(t);if(r){for(let i of e)if(i.extensions.indexOf(r[1])>-1)return i}return null}static matchLanguageName(e,t,r=!0){t=t.toLowerCase();for(let i of e)if(i.alias.some(s=>s==t))return i;if(r)for(let i of e)for(let s of i.alias){let o=t.indexOf(s);if(o>-1&&(s.length>2||!/\w/.test(t[o-1])&&!/\w/.test(t[o+s.length])))return i}return null}},A1=C.define(),F5=C.define({combine:n=>{if(!n.length)return" ";let e=n[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(n[0]));return e}});function vt(n){let e=n.facet(F5);return e.charCodeAt(0)==9?n.tabSize*e.length:e.length}function $e(n,e){let t="",r=n.tabSize,i=n.facet(F5)[0];if(i==" "){for(;e>=r;)t+=" ",e-=r;i=" "}for(let s=0;s=e?wf(n,t,e):null}var Z2=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=vt(e)}lineAt(e,t=1){let r=this.state.doc.lineAt(e),{simulateBreak:i,simulateDoubleBreak:s}=this.options;return i!=null&&i>=r.from&&i<=r.to?s&&i==e?{text:"",from:e}:(t<0?i-1&&(s+=o-this.countColumn(r,r.search(/\S|$/))),s}countColumn(e,t=e.length){return _6(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:r,from:i}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(i);if(o>-1)return o}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},J6=new F;function wf(n,e,t){let r=e.resolveStack(t),i=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(i!=r.node){let s=[];for(let o=i;o&&!(o.fromr.node.to||o.from==r.node.from&&o.type==r.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)r={node:s[o],next:r}}return va(r,n,t)}function va(n,e,t){for(let r=n;r;r=r.next){let i=$f(r.node);if(i)return i(Q1.create(e,t,r))}return 0}function Qf(n){return n.pos==n.options.simulateBreak&&n.options.simulateDoubleBreak}function $f(n){let e=n.type.prop(J6);if(e)return e;let t=n.firstChild,r;if(t&&(r=t.type.prop(F.closedBy))){let i=n.lastChild,s=i&&r.indexOf(i.name)>-1;return o=>Qa(o,!0,1,void 0,s&&!Qf(o)?i.from:void 0)}return n.parent==null?Pf:null}function Pf(){return 0}var Q1=class n extends Z2{constructor(e,t,r){super(e.state,e.options),this.base=e,this.pos=t,this.context=r}get node(){return this.context.node}static create(e,t,r){return new n(e,t,r)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let r=e.resolve(t.from);for(;r.parent&&r.parent.from==r.from;)r=r.parent;if(Tf(r,e))break;t=this.state.doc.lineAt(r.from)}return this.lineIndent(t.from)}continue(){return va(this.context.next,this.base,this.pos)}};function Tf(n,e){for(let t=e;t;t=t.parent)if(n==t)return!0;return!1}function Cf(n){let e=n.node,t=e.childAfter(e.from),r=e.lastChild;if(!t)return null;let i=n.options.simulateBreak,s=n.state.doc.lineAt(t.from),o=i==null||i<=s.from?s.to:Math.min(s.to,i);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==r)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function wa({closing:n,align:e=!0,units:t=1}){return r=>Qa(r,e,t,n)}function Qa(n,e,t,r,i){let s=n.textAfter,o=s.match(/^\s*/)[0].length,a=r&&s.slice(o,o+r.length)==r||i==n.pos+o,l=e?Cf(n):null;return l?a?n.column(l.from):n.column(l.to):n.baseIndent+(a?0:n.unit*t)}var $a=n=>n.baseIndent;function Y5({except:n,units:e=1}={}){return t=>{let r=n&&n.test(t.textAfter);return t.baseIndent+(r?0:e*t.unit)}}var qf=200;function Pa(){return K.transactionFilter.of(n=>{if(!n.docChanged||!n.isUserEvent("input.type")&&!n.isUserEvent("input.complete"))return n;let e=n.startState.languageDataAt("indentOnInput",n.startState.selection.main.head);if(!e.length)return n;let t=n.newDoc,{head:r}=n.newSelection.main,i=t.lineAt(r);if(r>i.from+qf)return n;let s=t.sliceString(i.from,r);if(!e.some(c=>c.test(s)))return n;let{state:o}=n,a=-1,l=[];for(let{head:c}of o.selection.ranges){let u=o.doc.lineAt(c);if(u.from==a)continue;a=u.from;let d=p9(o,u.from);if(d==null)continue;let h=/^\s*/.exec(u.text)[0],p=$e(o,d);h!=p&&l.push({from:u.from,to:u.from+h.length,insert:p})}return l.length?[n,{changes:l,sequential:!0}]:n})}var wt=C.define(),W6=new F;function Pe(n){let e=n.firstChild,t=n.lastChild;return e&&e.tot)continue;if(s&&a.from=e&&c.to>t&&(s=c)}}return s}function _f(n){let e=n.lastChild;return e&&e.to==n.to&&e.type.isError}function d9(n,e,t){for(let r of n.facet(wt)){let i=r(n,e,t);if(i)return i}return Af(n,e,t)}function Ta(n,e){let t=e.mapPos(n.from,1),r=e.mapPos(n.to,-1);return t>=r?void 0:{from:t,to:r}}var m9=L.define({map:Ta}),Qt=L.define({map:Ta});function Ca(n){let e=[];for(let{head:t}of n.state.selection.ranges)e.some(r=>r.from<=t&&r.to>=t)||e.push(n.lineBlockAt(t));return e}var L2=o6.define({create(){return _.none},update(n,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((r,i)=>n=ma(n,r,i)),n=n.map(e.changes);let t=[];for(let r of e.effects)r.is(m9)&&!Rf(n,r.value.from,r.value.to)?t.push(r.value):r.is(Qt)&&(n=n.update({filter:(i,s)=>r.value.from!=i||r.value.to!=s,filterFrom:r.value.from,filterTo:r.value.to}));if(t.length){let{preparePlaceholder:r}=e.state.facet(R1),i=t.map(s=>(r?_.replace({widget:new $1(r(e.state,s))}):ga).range(s.from,s.to));n=n.update({add:i})}return e.selection&&(n=ma(n,e.selection.main.head)),n},provide:n=>P.decorations.from(n),toJSON(n,e){let t=[];return n.between(0,e.doc.length,(r,i)=>{t.push(r,i)}),t},fromJSON(n){if(!Array.isArray(n)||n.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t{ie&&(r=!0)}),r?n.update({filterFrom:e,filterTo:t,filter:(i,s)=>i>=t||s<=e}):n}function h9(n,e,t){var r;let i=null;return(r=n.field(L2,!1))===null||r===void 0||r.between(e,t,(s,o)=>{(!i||i.from>s)&&(i={from:s,to:o})}),i}function Rf(n,e,t){let r=!1;return n.between(e,e,(i,s)=>{i==e&&s==t&&(r=!0)}),r}function qa(n,e){return n.field(L2,!1)?e:e.concat(L.appendConfig.of(_a()))}var Xf=n=>{for(let e of Ca(n)){let t=d9(n.state,e.from,e.to);if(t)return n.dispatch({effects:qa(n.state,[m9.of(t),Aa(n,t)])}),!0}return!1},Mf=n=>{if(!n.state.field(L2,!1))return!1;let e=[];for(let t of Ca(n)){let r=h9(n.state,t.from,t.to);r&&e.push(Qt.of(r),Aa(n,r,!1))}return e.length&&n.dispatch({effects:e}),e.length>0};function Aa(n,e,t=!0){let r=n.state.doc.lineAt(e.from).number,i=n.state.doc.lineAt(e.to).number;return P.announce.of(`${n.state.phrase(t?"Folded lines":"Unfolded lines")} ${r} ${n.state.phrase("to")} ${i}.`)}var Ef=n=>{let{state:e}=n,t=[];for(let r=0;r{let e=n.state.field(L2,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,n.state.doc.length,(r,i)=>{t.push(Qt.of({from:r,to:i}))}),n.dispatch({effects:t}),!0};var _1=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:Xf},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:Mf},{key:"Ctrl-Alt-[",run:Ef},{key:"Ctrl-Alt-]",run:Ff}],Zf={placeholderDOM:null,preparePlaceholder:null,placeholderText:"\u2026"},R1=C.define({combine(n){return v6(n,Zf)}});function _a(n){let e=[L2,Df];return n&&e.push(R1.of(n)),e}function Ra(n,e){let{state:t}=n,r=t.facet(R1),i=o=>{let a=n.lineBlockAt(n.posAtDOM(o.target)),l=h9(n.state,a.from,a.to);l&&n.dispatch({effects:Qt.of(l)}),o.preventDefault()};if(r.placeholderDOM)return r.placeholderDOM(n,i,e);let s=document.createElement("span");return s.textContent=r.placeholderText,s.setAttribute("aria-label",t.phrase("folded code")),s.title=t.phrase("unfold"),s.className="cm-foldPlaceholder",s.onclick=i,s}var ga=_.replace({widget:new class extends X6{toDOM(n){return Ra(n,null)}}}),$1=class extends X6{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return Ra(e,this.value)}},Lf={openText:"\u2304",closedText:"\u203A",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1},yt=class extends j6{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}};function X1(n={}){let e={...Lf,...n},t=new yt(e,!0),r=new yt(e,!1),i=t6.fromClass(class{constructor(o){this.from=o.viewport.from,this.markers=this.buildMarkers(o)}update(o){(o.docChanged||o.viewportChanged||o.startState.facet(c2)!=o.state.facet(c2)||o.startState.field(L2,!1)!=o.state.field(L2,!1)||N(o.startState)!=N(o.state)||e.foldingChanged(o))&&(this.markers=this.buildMarkers(o.view))}buildMarkers(o){let a=new T6;for(let l of o.viewportLineBlocks){let c=h9(o.state,l.from,l.to)?r:d9(o.state,l.from,l.to)?t:null;c&&a.add(l.from,l.from,c)}return a.finish()}}),{domEventHandlers:s}=e;return[i,e9({class:"cm-foldGutter",markers(o){var a;return((a=o.plugin(i))===null||a===void 0?void 0:a.markers)||z.empty},initialSpacer(){return new yt(e,!1)},domEventHandlers:{...s,click:(o,a,l)=>{if(s.click&&s.click(o,a,l))return!0;let c=h9(o.state,a.from,a.to);if(c)return o.dispatch({effects:Qt.of(c)}),!0;let u=d9(o.state,a.from,a.to);return u?(o.dispatch({effects:m9.of(u)}),!0):!1}}}),_a()]}var Df=P.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}}),u2=class n{constructor(e,t){this.specs=e;let r;function i(a){let l=a5.newName();return(r||(r=Object.create(null)))["."+l]=a,l}let s=typeof t.all=="string"?t.all:t.all?i(t.all):void 0,o=t.scope;this.scope=o instanceof u6?a=>a.prop(d5)==o.data:o?a=>a==o:void 0,this.style=y1(e.map(a=>({tag:a.tag,class:a.class||i(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=r?new a5(r):null,this.themeType=t.themeType}static define(e,t){return new n(e,t||{})}},P1=C.define(),Xa=C.define({combine(n){return n.length?[n[0]]:null}});function u9(n){let e=n.facet(P1);return e.length?e:n.facet(Xa)}function d2(n,e){let t=[jf],r;return n instanceof u2&&(n.module&&t.push(P.styleModule.of(n.module)),r=n.themeType),e?.fallback?t.push(Xa.of(n)):r?t.push(P1.computeN([P.darkTheme],i=>i.facet(P.darkTheme)==(r=="dark")?[n]:[])):t.push(P1.of(n)),t}function Ma(n,e,t){let r=u9(n),i=null;if(r){for(let s of r)if(!s.scope||t&&s.scope(t)){let o=s.style(e);o&&(i=i?i+" "+o:o)}}return i}var T1=class{constructor(e){this.markCache=Object.create(null),this.tree=N(e.state),this.decorations=this.buildDeco(e,u9(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=N(e.state),r=u9(e.state),i=r!=u9(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||i)&&(this.tree=t,this.decorations=this.buildDeco(e.view,r),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return _.none;let r=new T6;for(let{from:i,to:s}of e.visibleRanges)ha(this.tree,t,(o,a,l)=>{r.add(o,a,this.markCache[l]||(this.markCache[l]=_.mark({class:l})))},i,s);return r.finish()}},jf=b6.high(t6.fromClass(T1,{decorations:n=>n.decorations})),g9=u2.define([{tag:O.meta,color:"#404740"},{tag:O.link,textDecoration:"underline"},{tag:O.heading,textDecoration:"underline",fontWeight:"bold"},{tag:O.emphasis,fontStyle:"italic"},{tag:O.strong,fontWeight:"bold"},{tag:O.strikethrough,textDecoration:"line-through"},{tag:O.keyword,color:"#708"},{tag:[O.atom,O.bool,O.url,O.contentSeparator,O.labelName],color:"#219"},{tag:[O.literal,O.inserted],color:"#164"},{tag:[O.string,O.deleted],color:"#a11"},{tag:[O.regexp,O.escape,O.special(O.string)],color:"#e40"},{tag:O.definition(O.variableName),color:"#00f"},{tag:O.local(O.variableName),color:"#30a"},{tag:[O.typeName,O.namespace],color:"#085"},{tag:O.className,color:"#167"},{tag:[O.special(O.variableName),O.macroName],color:"#256"},{tag:O.definition(O.propertyName),color:"#00c"},{tag:O.comment,color:"#940"},{tag:O.invalid,color:"#f00"}]),Bf=P.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),Ea=1e4,Fa="()[]{}",Za=C.define({combine(n){return v6(n,{afterCursor:!0,brackets:Fa,maxScanDistance:Ea,renderMatch:Wf})}}),Nf=_.mark({class:"cm-matchingBracket"}),If=_.mark({class:"cm-nonmatchingBracket"});function Wf(n){let e=[],t=n.matched?Nf:If;return e.push(t.range(n.start.from,n.start.to)),n.end&&e.push(t.range(n.end.from,n.end.to)),e}function Oa(n){let e=[],t=n.facet(Za);for(let r of n.selection.ranges){if(!r.empty)continue;let i=w5(n,r.head,-1,t)||r.head>0&&w5(n,r.head-1,1,t)||t.afterCursor&&(w5(n,r.head,1,t)||r.headn.decorations}),Vf=[zf,Bf];function La(n={}){return[Za.of(n),Vf]}var $t=new F;function C1(n,e,t){let r=n.prop(e<0?F.openedBy:F.closedBy);if(r)return r;if(n.name.length==1){let i=t.indexOf(n.name);if(i>-1&&i%2==(e<0?1:0))return[t[i+e]]}return null}function q1(n){let e=n.type.prop($t);return e?e(n.node):n}function w5(n,e,t,r={}){let i=r.maxScanDistance||Ea,s=r.brackets||Fa,o=N(n),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=C1(l.type,t,s);if(c&&l.from0?e>=u.from&&eu.from&&e<=u.to))return Yf(n,e,t,l,u,c,s)}}return Uf(n,e,t,o,a.type,i,s)}function Yf(n,e,t,r,i,s,o){let a=r.parent,l={from:i.from,to:i.to},c=0,u=a?.cursor();if(u&&(t<0?u.childBefore(r.from):u.childAfter(r.to)))do if(t<0?u.to<=r.from:u.from>=r.to){if(c==0&&s.indexOf(u.type.name)>-1&&u.from0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},u=n.doc.iterRange(e,t>0?n.doc.length:0),d=0;for(let h=0;!u.next().done&&h<=s;){let p=u.value;t<0&&(h+=p.length);let f=e+h*t;for(let m=t>0?0:p.length-1,b=t>0?p.length:-1;m!=b;m+=t){let g=o.indexOf(p[m]);if(!(g<0||r.resolveInner(f+m,1).type!=i))if(g%2==0==t>0)d++;else{if(d==1)return{start:c,end:{from:f+m,to:f+m+1},matched:g>>1==l>>1};d--}}t>0&&(h+=p.length)}return u.done?{start:c,matched:!1}:null}var Gf=Object.create(null),ba=[i6.none];var xa=[],ya=Object.create(null),Hf=Object.create(null);for(let[n,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])Hf[n]=Kf(Gf,e);function v1(n,e){xa.indexOf(n)>-1||(xa.push(n),console.warn(e))}function Kf(n,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let u=n[c]||O[c];u?typeof u=="function"?l.length?l=l.map(u):v1(c,`Modifier ${c} used at start of tag`):l.length?v1(c,`Tag ${c} used as modifier`):l=Array.isArray(u)?u:[u]:v1(c,`Unknown highlighting tag ${c}`)}for(let c of l)t.push(c)}if(!t.length)return 0;let r=e.replace(/ /g,"_"),i=r+" "+t.map(a=>a.id),s=ya[i];if(s)return s.id;let o=ya[i]=i6.define({id:ba.length,name:r,props:[Q6({[r]:t})]});return ba.push(o),o.id}var fk={rtl:_.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:e6.RTL}),ltr:_.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:e6.LTR}),auto:_.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var Jf=n=>{let{state:e}=n,t=e.doc.lineAt(e.selection.main.from),r=j1(n.state,t.from);return r.line?ep(n):r.block?np(n):!1};function D1(n,e){return({state:t,dispatch:r})=>{if(t.readOnly)return!1;let i=n(e,t);return i?(r(t.update(i)),!0):!1}}var ep=D1(sp,0);var tp=D1(Ya,0);var np=D1((n,e)=>Ya(n,e,ip(e)),0);function j1(n,e){let t=n.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var Pt=50;function rp(n,{open:e,close:t},r,i){let s=n.sliceDoc(r-Pt,r),o=n.sliceDoc(i,i+Pt),a=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(o)[0].length,c=s.length-a;if(s.slice(c-e.length,c)==e&&o.slice(l,l+t.length)==t)return{open:{pos:r-a,margin:a&&1},close:{pos:i+l,margin:l&&1}};let u,d;i-r<=2*Pt?u=d=n.sliceDoc(r,i):(u=n.sliceDoc(r,r+Pt),d=n.sliceDoc(i-Pt,i));let h=/^\s*/.exec(u)[0].length,p=/\s*$/.exec(d)[0].length,f=d.length-p-t.length;return u.slice(h,h+e.length)==e&&d.slice(f,f+t.length)==t?{open:{pos:r+h+e.length,margin:/\s/.test(u.charAt(h+e.length))?1:0},close:{pos:i-p-t.length,margin:/\s/.test(d.charAt(f-1))?1:0}}:null}function ip(n){let e=[];for(let t of n.selection.ranges){let r=n.doc.lineAt(t.from),i=t.to<=r.to?r:n.doc.lineAt(t.to);i.from>r.from&&i.from==t.to&&(i=t.to==r.to+1?r:n.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>r.from?e[s].to=i.to:e.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:i.to})}return e}function Ya(n,e,t=e.selection.ranges){let r=t.map(s=>j1(e,s.from).block);if(!r.every(s=>s))return null;let i=t.map((s,o)=>rp(e,r[o],s.from,s.to));if(n!=2&&!i.every(s=>s))return{changes:e.changes(t.map((s,o)=>i[o]?[]:[{from:s.from,insert:r[o].open+" "},{from:s.to,insert:" "+r[o].close}]))};if(n!=1&&i.some(s=>s)){let s=[];for(let o=0,a;oi&&(s==o||o>d.from)){i=d.from;let h=/^\s*/.exec(d.text)[0].length,p=h==d.length,f=d.text.slice(h,h+c.length)==c?h:-1;hs.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:a,token:l,indent:c,empty:u,single:d}of r)(d||!u)&&s.push({from:a.from+c,insert:l+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(n!=1&&r.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:a,token:l}of r)if(a>=0){let c=o.from+a,u=c+l.length;o.text[u-o.from]==" "&&u++,s.push({from:c,to:u})}return{changes:s}}return null}var E1=L6.define(),op=L6.define(),ap=C.define(),Ua=C.define({combine(n){return v6(n,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(r,i)=>e(r,i)||t(r,i)})}}),B1=o6.define({create(){return j2.empty},update(n,e){let t=e.state.facet(Ua),r=e.annotation(E1);if(r){let l=Q5.fromTransaction(e,r.selection),c=r.side,u=c==0?n.undone:n.done;return l?u=b9(u,u.length,t.minDepth,l):u=Ja(u,e.startState.selection),new j2(c==0?r.rest:u,c==0?u:r.rest)}let i=e.annotation(op);if((i=="full"||i=="before")&&(n=n.isolate()),e.annotation(p6.addToHistory)===!1)return e.changes.empty?n:n.addMapping(e.changes.desc);let s=Q5.fromTransaction(e),o=e.annotation(p6.time),a=e.annotation(p6.userEvent);return s?n=n.addChanges(s,o,a,t,e):e.selection&&(n=n.addSelection(e.startState.selection,o,a,t.newGroupDelay)),(i=="full"||i=="after")&&(n=n.isolate()),n},toJSON(n){return{done:n.done.map(e=>e.toJSON()),undone:n.undone.map(e=>e.toJSON())}},fromJSON(n){return new j2(n.done.map(Q5.fromJSON),n.undone.map(Q5.fromJSON))}});function N1(n={}){return[B1,Ua.of(n),P.domEventHandlers({beforeinput(e,t){let r=e.inputType=="historyUndo"?Ga:e.inputType=="historyRedo"?F1:null;return r?(e.preventDefault(),r(t)):!1}})]}function x9(n,e){return function({state:t,dispatch:r}){if(!e&&t.readOnly)return!1;let i=t.field(B1,!1);if(!i)return!1;let s=i.pop(n,t,e);return s?(r(s),!0):!1}}var Ga=x9(0,!1),F1=x9(1,!1),lp=x9(0,!0),cp=x9(1,!0);function up(n){return function(e){let t=e.field(B1,!1);if(!t)return 0;let r=n==0?t.done:t.undone;return r.length-(r.length&&!r[0].changes?1:0)}}var Ha=up(0);var Q5=class n{constructor(e,t,r,i,s){this.changes=e,this.effects=t,this.mapped=r,this.startSelection=i,this.selectionsAfter=s}setSelAfter(e){return new n(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,r;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(i=>i.toJSON())}}static fromJSON(e){return new n(e.changes&&A6.fromJSON(e.changes),[],e.mapped&&B5.fromJSON(e.mapped),e.startSelection&&w.fromJSON(e.startSelection),e.selectionsAfter.map(w.fromJSON))}static fromTransaction(e,t){let r=p5;for(let i of e.startState.facet(ap)){let s=i(e);s.length&&(r=r.concat(s))}return!r.length&&e.changes.empty?null:new n(e.changes.invert(e.startState.doc),r,void 0,t||e.startState.selection,p5)}static selection(e){return new n(void 0,p5,void 0,void 0,e)}};function b9(n,e,t,r){let i=e+1>t+20?e-t-1:0,s=n.slice(i,e);return s.push(r),s}function dp(n,e){let t=[],r=!1;return n.iterChangedRanges((i,s)=>t.push(i,s)),e.iterChangedRanges((i,s,o,a)=>{for(let l=0;l=c&&o<=u&&(r=!0)}}),r}function hp(n,e){return n.ranges.length==e.ranges.length&&n.ranges.filter((t,r)=>t.empty!=e.ranges[r].empty).length===0}function Ka(n,e){return n.length?e.length?n.concat(e):n:e}var p5=[],fp=200;function Ja(n,e){if(n.length){let t=n[n.length-1],r=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-fp));return r.length&&r[r.length-1].eq(e)?n:(r.push(e),b9(n,n.length-1,1e9,t.setSelAfter(r)))}else return[Q5.selection([e])]}function pp(n){let e=n[n.length-1],t=n.slice();return t[n.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function M1(n,e){if(!n.length)return n;let t=n.length,r=p5;for(;t;){let i=mp(n[t-1],e,r);if(i.changes&&!i.changes.empty||i.effects.length){let s=n.slice(0,t);return s[t-1]=i,s}else e=i.mapped,t--,r=i.selectionsAfter}return r.length?[Q5.selection(r)]:p5}function mp(n,e,t){let r=Ka(n.selectionsAfter.length?n.selectionsAfter.map(a=>a.map(e)):p5,t);if(!n.changes)return Q5.selection(r);let i=n.changes.map(e),s=e.mapDesc(n.changes,!0),o=n.mapped?n.mapped.composeDesc(s):s;return new Q5(i,L.mapEffects(n.effects,e),o,n.startSelection.map(s),r)}var gp=/^(input\.type|delete)($|\.)/,j2=class n{constructor(e,t,r=0,i=void 0){this.done=e,this.undone=t,this.prevTime=r,this.prevUserEvent=i}isolate(){return this.prevTime?new n(this.done,this.undone):this}addChanges(e,t,r,i,s){let o=this.done,a=o[o.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!r||gp.test(r))&&(!a.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?n.moveByChar(t,e):y9(t,e))}function C6(n){return n.textDirectionAt(n.state.selection.main.head)==e6.LTR}var n7=n=>t7(n,!C6(n)),r7=n=>t7(n,C6(n));function i7(n,e){return P5(n,t=>t.empty?n.moveByGroup(t,e):y9(t,e))}var Op=n=>i7(n,!C6(n)),bp=n=>i7(n,C6(n));var vk=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function xp(n,e,t){if(e.type.prop(t))return!0;let r=e.to-e.from;return r&&(r>2||/[^\s,.;:]/.test(n.sliceDoc(e.from,e.to)))||e.firstChild}function S9(n,e,t){let r=N(n).resolveInner(e.head),i=t?F.closedBy:F.openedBy;for(let l=e.head;;){let c=t?r.childAfter(l):r.childBefore(l);if(!c)break;xp(n,c,i)?r=c:l=t?c.to:c.from}let s=r.type.prop(i),o,a;return s&&(o=t?w5(n,r.from,1):w5(n,r.to,-1))&&o.matched?a=t?o.end.to:o.end.from:a=t?r.to:r.from,w.cursor(a,t?-1:1)}var yp=n=>P5(n,e=>S9(n.state,e,!C6(n))),Sp=n=>P5(n,e=>S9(n.state,e,C6(n)));function s7(n,e){return P5(n,t=>{if(!t.empty)return y9(t,e);let r=n.moveVertically(t,e);return r.head!=t.head?r:n.moveToLineBoundary(t,e)})}var o7=n=>s7(n,!1),a7=n=>s7(n,!0);function l7(n){let e=n.scrollDOM.clientHeighto.empty?n.moveVertically(o,e,t.height):y9(o,e));if(i.eq(r.selection))return!1;let s;if(t.selfScroll){let o=n.coordsAtPos(r.selection.main.head),a=n.scrollDOM.getBoundingClientRect(),l=a.top+t.marginTop,c=a.bottom-t.marginBottom;o&&o.top>l&&o.bottomc7(n,!1),Z1=n=>c7(n,!0);function h2(n,e,t){let r=n.lineBlockAt(e.head),i=n.moveToLineBoundary(e,t);if(i.head==e.head&&i.head!=(t?r.to:r.from)&&(i=n.moveToLineBoundary(e,t,!1)),!t&&i.head==r.from&&r.length){let s=/^\s*/.exec(n.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;s&&e.head!=r.from+s&&(i=w.cursor(r.from+s))}return i}var kp=n=>P5(n,e=>h2(n,e,!0)),vp=n=>P5(n,e=>h2(n,e,!1)),wp=n=>P5(n,e=>h2(n,e,!C6(n))),Qp=n=>P5(n,e=>h2(n,e,C6(n))),$p=n=>P5(n,e=>n.moveToLineBoundary(e,!1,!1)),Pp=n=>P5(n,e=>n.moveToLineBoundary(e,!0,!1));function Tp(n,e,t){let r=!1,i=Te(n.selection,s=>{let o=w5(n,s.head,-1)||w5(n,s.head,1)||s.head>0&&w5(n,s.head-1,1)||s.headTp(n,e,!1);function m5(n,e,t){let r=Te(n.state.selection,i=>{i.undirectional&&i.head>=i.anchor!=e&&(i=w.range(i.head,i.anchor));let s=t(i);return w.range(i.anchor,s.head,s.goalColumn,s.bidiLevel||void 0,s.assoc)});return r.eq(n.state.selection)?!1:(n.dispatch($5(n.state,r)),!0)}function u7(n,e){return m5(n,e,t=>n.moveByChar(t,e))}var d7=n=>u7(n,!C6(n)),h7=n=>u7(n,C6(n));function f7(n,e){return m5(n,e,t=>n.moveByGroup(t,e))}var qp=n=>f7(n,!C6(n)),Ap=n=>f7(n,C6(n));var _p=n=>{let e=!C6(n);return m5(n,e,t=>S9(n.state,t,e))},Rp=n=>{let e=C6(n);return m5(n,e,t=>S9(n.state,t,e))};function p7(n,e){return m5(n,e,t=>n.moveVertically(t,e))}var m7=n=>p7(n,!1),g7=n=>p7(n,!0);function O7(n,e){return m5(n,e,t=>n.moveVertically(t,e,l7(n).height))}var ja=n=>O7(n,!1),Ba=n=>O7(n,!0),Xp=n=>m5(n,!0,e=>h2(n,e,!0)),Mp=n=>m5(n,!1,e=>h2(n,e,!1)),Ep=n=>{let e=!C6(n);return m5(n,e,t=>h2(n,t,e))},Fp=n=>{let e=C6(n);return m5(n,e,t=>h2(n,t,e))},Zp=n=>m5(n,!1,e=>w.cursor(n.lineBlockAt(e.head).from)),Lp=n=>m5(n,!0,e=>w.cursor(n.lineBlockAt(e.head).to)),Na=({state:n,dispatch:e})=>(e($5(n,{anchor:0})),!0),Ia=({state:n,dispatch:e})=>(e($5(n,{anchor:n.doc.length})),!0),Wa=({state:n,dispatch:e})=>(e($5(n,{anchor:n.selection.main.anchor,head:0})),!0),za=({state:n,dispatch:e})=>(e($5(n,{anchor:n.selection.main.anchor,head:n.doc.length})),!0),Dp=({state:n,dispatch:e})=>(e(n.update({selection:{anchor:0,head:n.doc.length},userEvent:"select"})),!0),jp=({state:n,dispatch:e})=>{let t=k9(n).map(({from:r,to:i})=>w.undirectionalRange(r,Math.min(i+1,n.doc.length)));return e(n.update({selection:w.create(t),userEvent:"select"})),!0},Bp=({state:n,dispatch:e})=>{let t=Te(n.selection,r=>{let i=N(n),s=i.resolveStack(r.from,1);if(r.empty){let o=i.resolveStack(r.from,-1);o.node.from>=s.node.from&&o.node.to<=s.node.to&&(s=o)}for(let o=s;o;o=o.next){let{node:a}=o;if((a.from=r.to||a.to>r.to&&a.from<=r.from)&&o.next)return w.undirectionalRange(a.from,a.to)}return r});return t.eq(n.selection)?!1:(e($5(n,t)),!0)};function b7(n,e){let{state:t}=n,r=t.selection,i=t.selection.ranges.slice();for(let s of t.selection.ranges){let o=t.doc.lineAt(s.head);if(e?o.to0)for(let a=s;;){let l=n.moveVertically(a,e);if(l.heado.to){i.some(c=>c.head==l.head)||i.push(l);break}else{if(l.head==a.head)break;a=l}}}return i.length==r.ranges.length?!1:(n.dispatch($5(t,w.create(i,i.length-1))),!0)}var Np=n=>b7(n,!1),Ip=n=>b7(n,!0),Wp=({state:n,dispatch:e})=>{let t=n.selection,r=null;return t.ranges.length>1?r=w.create([t.main]):t.main.empty||(r=w.create([w.cursor(t.main.head)])),r?(e($5(n,r)),!0):!1};function Tt(n,e){if(n.state.readOnly)return!1;let t="delete.selection",{state:r}=n,i=r.changeByRange(s=>{let{from:o,to:a}=s;if(o==a){let l=e(s);lo&&(t="delete.forward",l=O9(n,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=O9(n,o,!1),a=O9(n,a,!0);return o==a?{range:s}:{changes:{from:o,to:a},range:w.cursor(o,oi(n)))r.between(e,e,(i,s)=>{ie&&(e=t?s:i)});return e}var x7=(n,e,t)=>Tt(n,r=>{let i=r.from,{state:s}=n,o=s.doc.lineAt(i),a,l;if(t&&!e&&i>o.from&&ix7(n,!1,!0);var y7=n=>x7(n,!0,!1),S7=(n,e)=>Tt(n,t=>{let r=t.head,{state:i}=n,s=i.doc.lineAt(r),o=i.charCategorizer(r);for(let a=null;;){if(r==(e?s.to:s.from)){r==t.head&&s.number!=(e?i.doc.lines:1)&&(r+=e?1:-1);break}let l=d6(s.text,r-s.from,e)+s.from,c=s.text.slice(Math.min(r,l)-s.from,Math.max(r,l)-s.from),u=o(c);if(a!=null&&u!=a)break;(c!=" "||r!=t.head)&&(a=u),r=l}return r}),k7=n=>S7(n,!1),zp=n=>S7(n,!0);var Vp=n=>Tt(n,e=>{let t=n.lineBlockAt(e.head).to;return e.headTt(n,e=>{let t=n.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),Up=n=>Tt(n,e=>{let t=n.moveToLineBoundary(e,!0).head;return e.head{if(n.readOnly)return!1;let t=n.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:W.of(["",""])},range:w.cursor(r.from)}));return e(n.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},Hp=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(r=>{if(!r.empty||r.from==0||r.from==n.doc.length)return{range:r};let i=r.from,s=n.doc.lineAt(i),o=i==s.from?i-1:d6(s.text,i-s.from,!1)+s.from,a=i==s.to?i+1:d6(s.text,i-s.from,!0)+s.from;return{changes:{from:o,to:a,insert:n.doc.slice(i,a).append(n.doc.slice(o,i))},range:w.cursor(a)}});return t.changes.empty?!1:(e(n.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function k9(n){let e=[],t=-1;for(let r of n.selection.ranges){let i=n.doc.lineAt(r.from),s=n.doc.lineAt(r.to);if(!r.empty&&r.to==s.from&&(s=n.doc.lineAt(r.to-1)),t>=i.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(r)}else e.push({from:i.from,to:s.to,ranges:[r]});t=s.number+1}return e}function v7(n,e,t){if(n.readOnly)return!1;let r=[],i=[];for(let s of k9(n)){if(t?s.to==n.doc.length:s.from==0)continue;let o=n.doc.lineAt(t?s.to+1:s.from-1),a=o.length+1;if(t){r.push({from:s.to,to:o.to},{from:s.from,insert:o.text+n.lineBreak});for(let l of s.ranges)i.push(w.range(Math.min(n.doc.length,l.anchor+a),Math.min(n.doc.length,l.head+a)))}else{r.push({from:o.from,to:s.from},{from:s.to,insert:n.lineBreak+o.text});for(let l of s.ranges)i.push(w.range(l.anchor-a,l.head-a))}}return r.length?(e(n.update({changes:r,scrollIntoView:!0,selection:w.create(i,n.selection.mainIndex),userEvent:"move.line"})),!0):!1}var Kp=({state:n,dispatch:e})=>v7(n,e,!1),Jp=({state:n,dispatch:e})=>v7(n,e,!0);function w7(n,e,t){if(n.readOnly)return!1;let r=[];for(let s of k9(n))t?r.push({from:s.from,insert:n.doc.slice(s.from,s.to)+n.lineBreak}):r.push({from:s.to,insert:n.lineBreak+n.doc.slice(s.from,s.to)});let i=n.changes(r);return e(n.update({changes:i,selection:n.selection.map(i,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var em=({state:n,dispatch:e})=>w7(n,e,!1),tm=({state:n,dispatch:e})=>w7(n,e,!0),nm=n=>{if(n.state.readOnly)return!1;let{state:e}=n,t=e.changes(k9(e).map(({from:i,to:s})=>(i>0?i--:s{let s;if(n.lineWrapping){let o=n.lineBlockAt(i.head),a=n.coordsAtPos(i.head,i.assoc||1);a&&(s=o.bottom+n.documentTop-a.bottom+n.defaultLineHeight/2)}return n.moveVertically(i,!0,s)}).map(t);return n.dispatch({changes:t,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function rm(n,e){if(/\(\)|\[\]|\{\}/.test(n.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=N(n).resolveInner(e),r=t.childBefore(e),i=t.childAfter(e),s;return r&&i&&r.to<=e&&i.from>=e&&(s=r.type.prop(F.closedBy))&&s.indexOf(i.name)>-1&&n.doc.lineAt(r.to).from==n.doc.lineAt(i.from).from&&!/\S/.test(n.sliceDoc(r.to,i.from))?{from:r.to,to:i.from}:null}var Va=Q7(!1),im=Q7(!0);function Q7(n){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=e.changeByRange(i=>{let{from:s,to:o}=i,a=e.doc.lineAt(s),l=!n&&s==o&&rm(e,s);n&&(s=o=(o<=a.to?a:e.doc.lineAt(o)).to);let c=new Z2(e,{simulateBreak:s,simulateDoubleBreak:!!l}),u=p9(c,s);for(u==null&&(u=_6(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));oa.from&&s{let i=[];for(let o=r.from;o<=r.to;){let a=n.doc.lineAt(o);a.number>t&&(r.empty||r.to>a.from)&&(e(a,i,r),t=a.number),o=a.to+1}let s=n.changes(i);return{changes:i,range:w.range(s.mapPos(r.anchor,1),s.mapPos(r.head,1))}})}var sm=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=Object.create(null),r=new Z2(n,{overrideIndentation:s=>{let o=t[s];return o??-1}}),i=I1(n,(s,o,a)=>{let l=p9(r,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let c=/^\s*/.exec(s.text)[0],u=$e(n,l);(c!=u||a.fromn.readOnly?!1:(e(n.update(I1(n,(t,r)=>{r.push({from:t.from,insert:n.facet(F5)})}),{userEvent:"input.indent"})),!0),P7=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(I1(n,(t,r)=>{let i=/^\s*/.exec(t.text)[0];if(!i)return;let s=_6(i,n.tabSize),o=0,a=$e(n,Math.max(0,s-vt(n)));for(;o(n.setTabFocusMode(),!0);var am=[{key:"Ctrl-b",run:n7,shift:d7,preventDefault:!0},{key:"Ctrl-f",run:r7,shift:h7},{key:"Ctrl-p",run:o7,shift:m7},{key:"Ctrl-n",run:a7,shift:g7},{key:"Ctrl-a",run:$p,shift:Zp},{key:"Ctrl-e",run:Pp,shift:Lp},{key:"Ctrl-d",run:y7},{key:"Ctrl-h",run:L1},{key:"Ctrl-k",run:Vp},{key:"Ctrl-Alt-h",run:k7},{key:"Ctrl-o",run:Gp},{key:"Ctrl-t",run:Hp},{key:"Ctrl-v",run:Z1}],lm=[{key:"ArrowLeft",run:n7,shift:d7,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:Op,shift:qp,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:wp,shift:Ep,preventDefault:!0},{key:"ArrowRight",run:r7,shift:h7,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:bp,shift:Ap,preventDefault:!0},{mac:"Cmd-ArrowRight",run:Qp,shift:Fp,preventDefault:!0},{key:"ArrowUp",run:o7,shift:m7,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Na,shift:Wa},{mac:"Ctrl-ArrowUp",run:Da,shift:ja},{key:"ArrowDown",run:a7,shift:g7,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Ia,shift:za},{mac:"Ctrl-ArrowDown",run:Z1,shift:Ba},{key:"PageUp",run:Da,shift:ja},{key:"PageDown",run:Z1,shift:Ba},{key:"Home",run:vp,shift:Mp,preventDefault:!0},{key:"Mod-Home",run:Na,shift:Wa},{key:"End",run:kp,shift:Xp,preventDefault:!0},{key:"Mod-End",run:Ia,shift:za},{key:"Enter",run:Va,shift:Va},{key:"Mod-a",run:Dp},{key:"Backspace",run:L1,shift:L1,preventDefault:!0},{key:"Delete",run:y7,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:k7,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:zp,preventDefault:!0},{mac:"Mod-Backspace",run:Yp,preventDefault:!0},{mac:"Mod-Delete",run:Up,preventDefault:!0}].concat(am.map(n=>({mac:n.key,run:n.run,shift:n.shift}))),W1=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:yp,shift:_p},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Sp,shift:Rp},{key:"Alt-ArrowUp",run:Kp},{key:"Shift-Alt-ArrowUp",run:em},{key:"Alt-ArrowDown",run:Jp},{key:"Shift-Alt-ArrowDown",run:tm},{key:"Mod-Alt-ArrowUp",run:Np},{key:"Mod-Alt-ArrowDown",run:Ip},{key:"Escape",run:Wp},{key:"Mod-Enter",run:im},{key:"Alt-l",mac:"Ctrl-l",run:jp},{key:"Mod-i",run:Bp,preventDefault:!0},{key:"Mod-[",run:P7},{key:"Mod-]",run:$7},{key:"Mod-Alt-\\",run:sm},{key:"Shift-Mod-k",run:nm},{key:"Shift-Mod-\\",run:Cp},{key:"Mod-/",run:Jf},{key:"Alt-A",mac:"Ctrl-A",run:tp},{key:"Ctrl-m",mac:"Shift-Alt-m",run:om}].concat(lm),T7={key:"Tab",run:$7,shift:P7};var Ce=class{constructor(e,t,r,i){this.state=e,this.pos=t,this.explicit=r,this.view=i,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=N(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),r=Math.max(t.from,this.pos-250),i=t.text.slice(r-t.from,this.pos-t.from),s=i.search(Z7(e,!1));return s<0?null:{from:r+s,to:this.pos,text:i.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,r){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),r&&r.onDocChange&&(this.abortOnDocChange=!0))}};function C7(n){let e=Object.keys(n).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function cm(n){let e=Object.create(null),t=Object.create(null);for(let{label:i}of n){e[i[0]]=!0;for(let s=1;stypeof i=="string"?{label:i}:i),[t,r]=e.every(i=>/^\w+$/.test(i.label))?[/\w*$/,/\w+$/]:cm(e);return i=>{let s=i.matchBefore(r);return s||i.explicit?{from:s?s.from:i.pos,options:e,validFor:t}:null}}function F7(n,e){return t=>{for(let r=N(t.state).resolveInner(t.pos,-1);r;r=r.parent){if(n.indexOf(r.name)>-1)return null;if(r.type.isTop)break}return e(t)}}var w9=class{constructor(e,t,r,i){this.completion=e,this.source=t,this.match=r,this.score=i}};function N2(n){return n.selection.main.from}function Z7(n,e){var t;let{source:r}=n,i=e&&r[0]!="^",s=r[r.length-1]!="$";return!i&&!s?n:new RegExp(`${i?"^":""}(?:${r})${s?"$":""}`,(t=n.flags)!==null&&t!==void 0?t:n.ignoreCase?"i":"")}var on=L6.define();function um(n,e,t,r){let{main:i}=n.selection,s=t-i.from,o=r-i.from;return{...n.changeByRange(a=>{if(a!=i&&t!=r&&n.sliceDoc(a.from+s,a.from+o)!=n.sliceDoc(t,r))return{range:a};let l=n.toText(e);return{changes:{from:a.from+s,to:r==i.from?a.to:a.from+o,insert:l},range:w.cursor(a.from+s+l.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}var q7=new WeakMap;function dm(n){if(!Array.isArray(n))return n;let e=q7.get(n);return e||q7.set(n,e=sn(n)),e}var Q9=L.define(),Ct=L.define(),U1=class{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t=48&&S<=57||S>=97&&S<=122?2:S>=65&&S<=90?1:0:(k=Je(S))!=k.toLowerCase()?1:k!=k.toUpperCase()?2:0;(!x||$==1&&b||v==0&&$!=0)&&(t[d]==S||r[d]==S&&(h=!0)?o[d++]=x:o.length&&(g=!1)),v=$,x+=G6(S)}return d==l&&o[0]==0&&g?this.result(-100+(h?-200:0),o,e):p==l&&f==0?this.ret(-200-e.length+(m==e.length?0:-100),[0,m]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):p==l?this.ret(-900-e.length,[f,m]):d==l?this.result(-100+(h?-200:0)+-700+(g?0:-1100),o,e):t.length==2?null:this.result((i[0]?-700:0)+-200+-1100,i,e)}result(e,t,r){let i=[],s=0;for(let o of t){let a=o+(this.astral?G6(k6(r,o)):1);s&&i[s-1]==o?i[s-1]=a:(i[s++]=o,i[s++]=a)}return this.ret(e-r.length,i)}},G1=class{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:hm,filterStrict:!1,compareCompletions:(e,t)=>(e.sortText||e.label).localeCompare(t.sortText||t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>r=>A7(e(r),t(r)),optionClass:(e,t)=>r=>A7(e(r),t(r)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}});function A7(n,e){return n?e?n+" "+e:n:e}function hm(n,e,t,r,i,s){let o=n.textDirection==e6.RTL,a=o,l=!1,c="top",u,d,h=e.left-i.left,p=i.right-e.right,f=r.right-r.left,m=r.bottom-r.top;if(a&&h=m||x>e.top?u=t.bottom-e.top:(c="bottom",u=e.bottom-t.top)}let b=(e.bottom-e.top)/s.offsetHeight,g=(e.right-e.left)/s.offsetWidth;return{style:`${c}: ${u/b}px; max-width: ${d/g}px`,class:"cm-completionInfo-"+(l?o?"left-narrow":"right-narrow":a?"left":"right")}}var an=L.define();function fm(n){let e=n.addToOptions.slice();return n.icons&&e.push({render(t){let r=document.createElement("div");return r.classList.add("cm-completionIcon"),t.type&&r.classList.add(...t.type.split(/\s+/g).map(i=>"cm-completionIcon-"+i)),r.setAttribute("aria-hidden","true"),r},position:20}),e.push({render(t,r,i,s){let o=document.createElement("span");o.className="cm-completionLabel";let a=t.displayLabel||t.label,l=0;for(let c=0;cl&&o.appendChild(document.createTextNode(a.slice(l,u)));let h=o.appendChild(document.createElement("span"));h.appendChild(document.createTextNode(a.slice(u,d))),h.className="cm-completionMatchedText",l=d}return lt.position-r.position).map(t=>t.render)}function z1(n,e,t){if(n<=t)return{from:0,to:n};if(e<0&&(e=0),e<=n>>1){let i=Math.floor(e/t);return{from:i*t,to:(i+1)*t}}let r=Math.ceil((n-e)/t);return{from:n-r*t,to:n-(r-1)*t}}var H1=class{constructor(e,t,r){this.view=e,this.stateField=t,this.applyCompletion=r,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:l=>this.placeInfo(l),key:this},this.space=null,this.currentClass="";let i=e.state.field(t),{options:s,selected:o}=i.open,a=e.state.facet(S6);this.optionContent=fm(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=z1(s.length,o,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",l=>{let{options:c}=e.state.field(t).open;for(let u=l.target,d;u&&u!=this.dom;u=u.parentNode)if(u.nodeName=="LI"&&(d=/-(\d+)$/.exec(u.id))&&+d[1]this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;u!=null&&(e.dispatch({effects:an.of(u)}),l.preventDefault())}}),this.dom.addEventListener("focusout",l=>{let c=e.state.field(this.stateField,!1);c&&c.tooltip&&e.state.facet(S6).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:Ct.of(null)})}),this.showOptions(s,i.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let r=e.state.field(this.stateField),i=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),r!=i){let{options:s,selected:o,disabled:a}=r.open;(!i.open||i.open.options!=s)&&(this.range=z1(s.length,o,e.state.facet(S6).maxRenderedOptions),this.showOptions(s,r.id)),this.updateSel(),a!=((t=i.open)===null||t===void 0?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let r of this.currentClass.split(" "))r&&this.dom.classList.remove(r);for(let r of t.split(" "))r&&this.dom.classList.add(r);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;(t.selected>-1&&t.selected=this.range.to)&&(this.range=z1(t.options.length,t.selected,this.view.state.facet(S6).maxRenderedOptions),this.showOptions(t.options,e.id));let r=this.updateSelectedOption(t.selected);if(r){this.destroyInfo();let{completion:i}=t.options[t.selected],{info:s}=i;if(!s)return;let o=typeof s=="string"?document.createTextNode(s):s(i);if(!o)return;"then"in o?o.then(a=>{a&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(a,i)}).catch(a=>x6(this.view.state,a,"completion info")):(this.addInfoPane(o,i),r.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,t){this.destroyInfo();let r=this.info=document.createElement("div");if(r.className="cm-tooltip cm-completionInfo",r.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)r.appendChild(e),this.infoDestroy=null;else{let{dom:i,destroy:s}=e;r.appendChild(i),this.infoDestroy=s||null}this.dom.appendChild(r),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let r=this.list.firstChild,i=this.range.from;r;r=r.nextSibling,i++)r.nodeName!="LI"||!r.id?i--:i==e?r.hasAttribute("aria-selected")||(r.setAttribute("aria-selected","true"),t=r):r.hasAttribute("aria-selected")&&(r.removeAttribute("aria-selected"),r.removeAttribute("aria-describedby"));return t&&mm(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),r=this.info.getBoundingClientRect(),i=e.getBoundingClientRect(),s=this.space;if(!s){let o=this.dom.ownerDocument.documentElement;s={left:0,top:0,right:o.clientWidth,bottom:o.clientHeight}}return i.top>Math.min(s.bottom,t.bottom)-10||i.bottom{o.target==i&&o.preventDefault()});let s=null;for(let o=r.from;or.from||r.from==0))if(s=h,typeof c!="string"&&c.header)i.appendChild(c.header(c));else{let p=i.appendChild(document.createElement("completion-section"));p.textContent=h}}let u=i.appendChild(document.createElement("li"));u.id=t+"-"+o,u.setAttribute("role","option");let d=this.optionClass(a);d&&(u.className=d);for(let h of this.optionContent){let p=h(a,this.view.state,this.view,l);p&&u.appendChild(p)}}return r.from&&i.classList.add("cm-completionListIncompleteTop"),r.tonew H1(t,n,e)}function mm(n,e){let t=n.getBoundingClientRect(),r=e.getBoundingClientRect(),i=t.height/n.offsetHeight;r.topt.bottom&&(n.scrollTop+=(r.bottom-t.bottom)/i)}function _7(n){return(n.boost||0)*100+(n.apply?10:0)+(n.info?5:0)+(n.type?1:0)}function gm(n,e){let t=[],r=null,i=null,s=u=>{t.push(u);let{section:d}=u.completion;if(d){r||(r=[]);let h=typeof d=="string"?d:d.name;r.some(p=>p.name==h)||r.push(typeof d=="string"?{name:h}:d)}},o=e.facet(S6);for(let u of n)if(u.hasResult()){let d=u.result.getMatch;if(u.result.filter===!1)for(let h of u.result.options)s(new w9(h,u.source,d?d(h):[],1e9-t.length));else{let h=e.sliceDoc(u.from,u.to),p,f=o.filterStrict?new G1(h):new U1(h);for(let m of u.result.options)if(p=f.match(m.label)){let b=m.displayLabel?d?d(m,p.matched):[]:p.matched,g=p.score+(m.boost||0);if(s(new w9(m,u.source,b,g)),typeof m.section=="object"&&m.section.rank==="dynamic"){let{name:x}=m.section;i||(i=Object.create(null)),i[x]=Math.max(g,i[x]||-1e9)}}}}if(r){let u=Object.create(null),d=0,h=(p,f)=>(p.rank==="dynamic"&&f.rank==="dynamic"?i[f.name]-i[p.name]:0)||(typeof p.rank=="number"?p.rank:1e9)-(typeof f.rank=="number"?f.rank:1e9)||(p.nameh.score-d.score||c(d.completion,h.completion))){let d=u.completion;!l||l.label!=d.label||l.detail!=d.detail||l.type!=null&&d.type!=null&&l.type!=d.type||l.apply!=d.apply||l.boost!=d.boost?a.push(u):_7(u.completion)>_7(l)&&(a[a.length-1]=u),l=u.completion}return a}var K1=class n{constructor(e,t,r,i,s,o){this.options=e,this.attrs=t,this.tooltip=r,this.timestamp=i,this.selected=s,this.disabled=o}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new n(this.options,R7(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,r,i,s,o){if(i&&!o&&e.some(c=>c.isPending))return i.setDisabled();let a=gm(e,t);if(!a.length)return i&&e.some(c=>c.isPending)?i.setDisabled():null;let l=t.facet(S6).selectOnOpen?0:-1;if(i&&i.selected!=l&&i.selected!=-1){let c=i.options[i.selected].completion;for(let u=0;uu.hasResult()?Math.min(c,u.from):c,1e8),create:km,above:s.aboveCursor},i?i.timestamp:Date.now(),l,!1)}map(e){return new n(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new n(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}},J1=class n{constructor(e,t,r){this.active=e,this.id=t,this.open=r}static start(){return new n(ym,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,r=t.facet(S6),s=(r.override||t.languageDataAt("autocomplete",N2(t)).map(dm)).map(l=>(this.active.find(u=>u.source==l)||new U5(l,this.active.some(u=>u.state!=0)?1:0)).update(e,r));s.length==this.active.length&&s.every((l,c)=>l==this.active[c])&&(s=this.active);let o=this.open,a=e.effects.some(l=>l.is(ln));o&&e.docChanged&&(o=o.map(e.changes)),e.selection||s.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!Om(s,this.active)||a?o=K1.build(s,t,this.id,o,r,a):o&&o.disabled&&!s.some(l=>l.isPending)&&(o=null),!o&&s.every(l=>!l.isPending)&&s.some(l=>l.hasResult())&&(s=s.map(l=>l.hasResult()?new U5(l.source,0):l));for(let l of e.effects)l.is(an)&&(o=o&&o.setSelected(l.value,this.id));return s==this.active&&o==this.open?this:new n(s,this.id,o)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?bm:xm}};function Om(n,e){if(n==e)return!0;for(let t=0,r=0;;){for(;t-1&&(t["aria-activedescendant"]=n+"-"+e),t}var ym=[];function L7(n,e){if(n.isUserEvent("input.complete")){let r=n.annotation(on);if(r&&e.activateOnCompletion(r))return 12}let t=n.isUserEvent("input.type");return t&&e.activateOnTyping?5:t?1:n.isUserEvent("delete.backward")?2:n.selection?8:n.docChanged?16:0}var U5=class n{constructor(e,t,r=!1){this.source=e,this.state=t,this.explicit=r}hasResult(){return!1}get isPending(){return this.state==1}update(e,t){let r=L7(e,t),i=this;(r&8||r&16&&this.touches(e))&&(i=new n(i.source,0)),r&4&&i.state==0&&(i=new n(this.source,1)),i=i.updateFor(e,r);for(let s of e.effects)if(s.is(Q9))i=new n(i.source,1,s.value);else if(s.is(Ct))i=new n(i.source,0);else if(s.is(ln))for(let o of s.value)o.source==i.source&&(i=o);return i}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(N2(e.state))}},$9=class n extends U5{constructor(e,t,r,i,s,o){super(e,3,t),this.limit=r,this.result=i,this.from=s,this.to=o}hasResult(){return!0}updateFor(e,t){var r;if(!(t&3))return this.map(e.changes);let i=this.result;i.map&&!e.changes.empty&&(i=i.map(i,e.changes));let s=e.changes.mapPos(this.from),o=e.changes.mapPos(this.to,1),a=N2(e.state);if(a>o||!i||t&2&&(N2(e.startState)==this.from||at.map(e))}}),z6=o6.define({create(){return J1.start()},update(n,e){return n.update(e)},provide:n=>[i2.from(n,e=>e.tooltip),P.contentAttributes.from(n,e=>e.attrs)]});function cn(n,e){let t=e.completion.apply||e.completion.label,r=n.state.field(z6).active.find(i=>i.source==e.source);return r instanceof $9?(typeof t=="string"?n.dispatch({...um(n.state,t,r.from,r.to),annotations:on.of(e.completion)}):t(n,e.completion,r.from,r.to),!0):!1}var km=pm(z6,cn);function v9(n,e="option"){return t=>{let r=t.state.field(z6,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp-1?r.open.selected+i*(n?1:-1):n?0:o-1;return a<0?a=e=="page"?0:o-1:a>=o&&(a=e=="page"?o-1:0),t.dispatch({effects:an.of(a)}),!0}}var vm=n=>{let e=n.state.field(z6,!1);return n.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestampn.state.field(z6,!1)?(n.dispatch({effects:Q9.of(!0)}),!0):!1,wm=n=>{let e=n.state.field(z6,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(n.dispatch({effects:Ct.of(null)}),!0)},en=class{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}},Qm=50,$m=1e3,Pm=t6.fromClass(class{constructor(n){this.view=n,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of n.state.field(z6).active)e.isPending&&this.startQuery(e)}update(n){let e=n.state.field(z6),t=n.state.facet(S6);if(!n.selectionSet&&!n.docChanged&&n.startState.field(z6)==e)return;let r=n.transactions.some(s=>{let o=L7(s,t);return o&8||(s.selection||s.docChanged)&&!(o&3)});for(let s=0;sQm&&Date.now()-o.time>$m){for(let a of o.context.abortListeners)try{a()}catch(l){x6(this.view.state,l)}o.context.abortListeners=null,this.running.splice(s--,1)}else o.updates.push(...n.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),n.transactions.some(s=>s.effects.some(o=>o.is(Q9)))&&(this.pendingStart=!0);let i=this.pendingStart?50:t.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(s=>s.isPending&&!this.running.some(o=>o.active.source==s.source))?setTimeout(()=>this.startUpdate(),i):-1,this.composing!=0)for(let s of n.transactions)s.isUserEvent("input.type")?this.composing=2:this.composing==2&&s.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:n}=this.view,e=n.field(z6);for(let t of e.active)t.isPending&&!this.running.some(r=>r.active.source==t.source)&&this.startQuery(t);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(S6).updateSyncTime))}startQuery(n){let{state:e}=this.view,t=N2(e),r=new Ce(e,t,n.explicit,this.view),i=new en(n,r);this.running.push(i),Promise.resolve(n.source(r)).then(s=>{i.context.aborted||(i.done=s||null,this.scheduleAccept())},s=>{this.view.dispatch({effects:Ct.of(null)}),x6(this.view.state,s)})}scheduleAccept(){this.running.every(n=>n.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(S6).updateSyncTime))}accept(){var n;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(S6),r=this.view.state.field(z6);for(let i=0;ia.source==s.active.source);if(o&&o.isPending)if(s.done==null){let a=new U5(s.active.source,0);for(let l of s.updates)a=a.update(l,t);a.isPending||e.push(a)}else this.startQuery(o)}(e.length||r.open&&r.open.disabled)&&this.view.dispatch({effects:ln.of(e)})}},{eventHandlers:{blur(n){let e=this.view.state.field(z6,!1);if(e&&e.tooltip&&this.view.state.facet(S6).closeOnBlur){let t=e.open&&i1(this.view,e.open.tooltip);(!t||!t.dom.contains(n.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:Ct.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:Q9.of(!1)}),20),this.composing=0}}}),Tm=typeof navigator=="object"&&/Win/.test(navigator.platform),Cm=b6.highest(P.domEventHandlers({keydown(n,e){let t=e.state.field(z6,!1);if(!t||!t.open||t.open.disabled||t.open.selected<0||n.key.length>1||n.ctrlKey&&!(Tm&&n.altKey)||n.metaKey)return!1;let r=t.open.options[t.open.selected],i=t.active.find(o=>o.source==r.source),s=r.completion.commitCharacters||i.result.commitCharacters;return s&&s.indexOf(n.key)>-1&&cn(e,r),!1}})),D7=P.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),tn=class{constructor(e,t,r,i){this.field=e,this.line=t,this.from=r,this.to=i}},nn=class n{constructor(e,t,r){this.field=e,this.from=t,this.to=r}map(e){let t=e.mapPos(this.from,-1,g6.TrackDel),r=e.mapPos(this.to,1,g6.TrackDel);return t==null||r==null?null:new n(this.field,t,r)}},rn=class n{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let r=[],i=[t],s=e.doc.lineAt(t),o=/^\s*/.exec(s.text)[0];for(let l of this.lines){if(r.length){let c=o,u=/^\t*/.exec(l)[0].length;for(let d=0;dnew nn(l.field,i[l.line]+l.from,i[l.line]+l.to));return{text:r,ranges:a}}static parse(e){let t=[],r=[],i=[],s;for(let o of e.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(o);){let a=s[1]?+s[1]:null,l=s[2]||s[3]||"",c=-1;a===0&&(a=1e9);let u=l.replace(/\\[{}]/g,d=>d[1]);for(let d=0;d=c&&h.field++}for(let d of i)if(d.line==r.length&&d.from>s.index){let h=s[2]?3+(s[1]||"").length:2;d.from-=h,d.to-=h}i.push(new tn(c,r.length,s.index,s.index+u.length)),o=o.slice(0,s.index)+l+o.slice(s.index+s[0].length)}o=o.replace(/\\([{}])/g,(a,l,c)=>{for(let u of i)u.line==r.length&&u.from>c&&(u.from--,u.to--);return l}),r.push(o)}return new n(r,i)}},qm=_.widget({widget:new class extends X6{toDOM(){let n=document.createElement("span");return n.className="cm-snippetFieldPosition",n}ignoreEvent(){return!1}}}),Am=_.mark({class:"cm-snippetField"}),qe=class n{constructor(e,t){this.ranges=e,this.active=t,this.deco=_.set(e.map(r=>(r.from==r.to?qm:Am).range(r.from,r.to)),!0)}map(e){let t=[];for(let r of this.ranges){let i=r.map(e);if(!i)return null;t.push(i)}return new n(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(r=>r.field==this.active&&r.from<=t.from&&r.to>=t.to))}},_t=L.define({map(n,e){return n&&n.map(e)}}),_m=L.define(),qt=o6.define({create(){return null},update(n,e){for(let t of e.effects){if(t.is(_t))return t.value;if(t.is(_m)&&n)return new qe(n.ranges,t.value)}return n&&e.docChanged&&(n=n.map(e.changes)),n&&e.selection&&!n.selectionInsideField(e.selection)&&(n=null),n},provide:n=>P.decorations.from(n,e=>e?e.deco:_.none)});function un(n,e){return w.create(n.filter(t=>t.field==e).map(t=>w.range(t.from,t.to)))}function dn(n){let e=rn.parse(n);return(t,r,i,s)=>{let{text:o,ranges:a}=e.instantiate(t.state,i),{main:l}=t.state.selection,c={changes:{from:i,to:s==l.from?l.to:s,insert:W.of(o)},scrollIntoView:!0,annotations:r?[on.of(r),p6.userEvent.of("input.complete")]:void 0};if(a.length&&(c.selection=un(a,0)),a.some(u=>u.field>0)){let u=new qe(a,0),d=c.effects=[_t.of(u)];t.state.field(qt,!1)===void 0&&d.push(L.appendConfig.of([qt,Fm,Zm,D7]))}t.dispatch(t.state.update(c))}}function j7(n){return({state:e,dispatch:t})=>{let r=e.field(qt,!1);if(!r||n<0&&r.active==0)return!1;let i=r.active+n,s=n>0&&!r.ranges.some(o=>o.field==i+n);return t(e.update({selection:un(r.ranges,i),effects:_t.of(s?null:new qe(r.ranges,i)),scrollIntoView:!0})),!0}}var Rm=({state:n,dispatch:e})=>n.field(qt,!1)?(e(n.update({effects:_t.of(null)})),!0):!1,Xm=j7(1),Mm=j7(-1);var Em=[{key:"Tab",run:Xm,shift:Mm},{key:"Escape",run:Rm}],X7=C.define({combine(n){return n.length?n[0]:Em}}),Fm=b6.highest(v5.compute([X7],n=>n.facet(X7)));function E6(n,e){return{...e,apply:dn(n)}}var Zm=P.domEventHandlers({mousedown(n,e){let t=e.state.field(qt,!1),r;if(!t||(r=e.posAtCoords({x:n.clientX,y:n.clientY}))==null)return!1;let i=t.ranges.find(s=>s.from<=r&&s.to>=r);return!i||i.field==t.active?!1:(e.dispatch({selection:un(t.ranges,i.field),effects:_t.of(t.ranges.some(s=>s.field>i.field)?new qe(t.ranges,i.field):null),scrollIntoView:!0}),!0)}});var At={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},B2=L.define({map(n,e){let t=e.mapPos(n,-1,g6.TrackAfter);return t??void 0}}),hn=new class extends o5{};hn.startSide=1;hn.endSide=-1;var B7=o6.define({create(){return z.empty},update(n,e){if(n=n.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);n=n.update({filter:r=>r>=t.from&&r<=t.to})}for(let t of e.effects)t.is(B2)&&(n=n.update({add:[hn.range(t.value,t.value+1)]}));return n}});function N7(){return[Dm,B7]}var Y1="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function I7(n){for(let e=0;e{if((Lm?n.composing:n.compositionStarted)||n.state.readOnly)return!1;let i=n.state.selection.main;if(r.length>2||r.length==2&&G6(k6(r,0))==1||e!=i.from||t!=i.to)return!1;let s=Bm(n.state,r);return s?(n.dispatch(s),!0):!1}),jm=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let r=W7(n,n.selection.main.head).brackets||At.brackets,i=null,s=n.changeByRange(o=>{if(o.empty){let a=Nm(n.doc,o.head);for(let l of r)if(l==a&&P9(n.doc,o.head)==I7(k6(l,0)))return{changes:{from:o.head-l.length,to:o.head+l.length},range:w.cursor(o.head-l.length)}}return{range:i=o}});return i||e(n.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!i},z7=[{key:"Backspace",run:jm}];function Bm(n,e){let t=W7(n,n.selection.main.head),r=t.brackets||At.brackets;for(let i of r){let s=I7(k6(i,0));if(e==i)return s==i?zm(n,i,r.indexOf(i+i+i)>-1,t):Im(n,i,s,t.before||At.before);if(e==s&&V7(n,n.selection.main.from))return Wm(n,i,s)}return null}function V7(n,e){let t=!1;return n.field(B7).between(0,n.doc.length,r=>{r==e&&(t=!0)}),t}function P9(n,e){let t=n.sliceString(e,e+2);return t.slice(0,G6(k6(t,0)))}function Nm(n,e){let t=n.sliceString(e-2,e);return G6(k6(t,0))==t.length?t:t.slice(1)}function Im(n,e,t,r){let i=null,s=n.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:t,from:o.to}],effects:B2.of(o.to+e.length),range:w.range(o.anchor+e.length,o.head+e.length)};let a=P9(n.doc,o.head);return!a||/\s/.test(a)||r.indexOf(a)>-1?{changes:{insert:e+t,from:o.head},effects:B2.of(o.head+e.length),range:w.cursor(o.head+e.length)}:{range:i=o}});return i?null:n.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function Wm(n,e,t){let r=null,i=n.changeByRange(s=>s.empty&&P9(n.doc,s.head)==t?{changes:{from:s.head,to:s.head+t.length,insert:t},range:w.cursor(s.head+t.length)}:r={range:s});return r?null:n.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function zm(n,e,t,r){let i=r.stringPrefixes||At.stringPrefixes,s=null,o=n.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:B2.of(a.to+e.length),range:w.range(a.anchor+e.length,a.head+e.length)};let l=a.head,c=P9(n.doc,l),u;if(c==e){if(M7(n,l))return{changes:{insert:e+e,from:l},effects:B2.of(l+e.length),range:w.cursor(l+e.length)};if(V7(n,l)){let h=t&&n.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+h.length,insert:h},range:w.cursor(l+h.length)}}}else{if(t&&n.sliceDoc(l-2*e.length,l)==e+e&&(u=E7(n,l-2*e.length,i))>-1&&M7(n,u))return{changes:{insert:e+e+e+e,from:l},effects:B2.of(l+e.length),range:w.cursor(l+e.length)};if(n.charCategorizer(l)(c)!=r6.Word&&E7(n,l,i)>-1&&!Vm(n,l,e,i))return{changes:{insert:e+e,from:l},effects:B2.of(l+e.length),range:w.cursor(l+e.length)}}return{range:s=a}});return s?null:n.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function M7(n,e){let t=N(n).resolveInner(e+1);return t.parent&&t.from==e}function Vm(n,e,t,r){let i=N(n).resolveInner(e,-1),s=r.reduce((o,a)=>Math.max(o,a.length),0);for(let o=0;o<5;o++){let a=n.sliceDoc(i.from,Math.min(i.to,i.from+t.length+s)),l=a.indexOf(t);if(!l||l>-1&&r.indexOf(a.slice(0,l))>-1){let u=i.firstChild;for(;u&&u.from==i.from&&u.to-u.from>t.length+l;){if(n.sliceDoc(u.to-t.length,u.to)==t)return!1;u=u.firstChild}return!0}let c=i.to==e&&i.parent;if(!c)break;i=c}return!1}function E7(n,e,t){let r=n.charCategorizer(e);if(r(n.sliceDoc(e-1,e))!=r6.Word)return e;for(let i of t){let s=e-i.length;if(n.sliceDoc(s,e)==i&&r(n.sliceDoc(s-1,s))!=r6.Word)return s}return-1}function Y7(n={}){return[Cm,z6,S6.of(n),Pm,Ym,D7]}var fn=[{key:"Ctrl-Space",run:V1},{mac:"Alt-`",run:V1},{mac:"Alt-i",run:V1},{key:"Escape",run:wm},{key:"ArrowDown",run:v9(!0)},{key:"ArrowUp",run:v9(!1)},{key:"PageDown",run:v9(!0,"page")},{key:"PageUp",run:v9(!1,"page")},{key:"Enter",run:vm}],Ym=b6.highest(v5.computeN([S6],n=>n.facet(S6).defaultKeymap?[fn]:[]));var U7=typeof String.prototype.normalize=="function"?n=>n.normalize("NFKD"):n=>n,p2=class{constructor(e,t,r=0,i=e.length,s,o){this.test=o,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,i),this.bufferStart=r,this.normalize=s?a=>s(U7(a)):U7,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return k6(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=Je(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=G6(e);let i=this.normalize(t);if(i.length)for(let s=0,o=r,a=!0;;s++){let l=i.charCodeAt(s),c=this.match(l,o,a,this.bufferPos+this.bufferStart,s==i.length-1);if(c)return this.value=c,this;if(s==i.length-1)break;a&&sthis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let r=this.curLineStart+t.index,i=r+t[0].length;if(this.matchPos=R9(this.text,i+(r==i?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(rthis.value.to)&&(!this.test||this.test(r,i,t)))return this.value={from:r,to:i,precise:!0,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=r||i.to<=t){let a=new n(t,e.sliceString(t,r));return pn.set(e,a),a}if(i.from==t&&i.to==r)return i;let{text:s,from:o}=i;return o>t&&(s=e.sliceString(t,o)+s,o=t),i.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let r=this.flat.from+t.index,i=r+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,i,t)))return this.value={from:r,to:i,precise:!0,match:t},this.matchPos=R9(this.text,i+(r==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=A9.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}};typeof Symbol<"u"&&(q9.prototype[Symbol.iterator]=_9.prototype[Symbol.iterator]=function(){return this});function Um(n){try{return new RegExp(n,xn),!0}catch{return!1}}function R9(n,e){if(e>=n.length)return e;let t=n.lineAt(e),r;for(;e=56320&&r<57344;)e++;return e}var Gm=n=>{let e=Uo(n,"cm-goto-line");if(e){let o=e.dom.querySelector("input[type=text]");return o&&o.select(),!0}let{state:t}=n,r=String(t.doc.lineAt(n.state.selection.main.head).number),{close:i,result:s}=Yo(n,{class:"cm-goto-line",label:t.phrase("Go to line"),input:{type:"text",name:"line",value:r},focus:!0,submitLabel:t.phrase("go")});return s.then(o=>{let a=o&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(o.elements.line.value);if(!a){n.dispatch({effects:i});return}let l=t.doc.lineAt(t.selection.main.head),[,c,u,d,h]=a,p=d?+d.slice(1):0,f=u?+u:l.number;if(u&&h){let g=f/100;c&&(g=g*(c=="-"?-1:1)+l.number/t.doc.lines),f=Math.round(t.doc.lines*g)}else u&&c&&(f=f*(c=="-"?-1:1)+l.number);let m=t.doc.line(Math.max(1,Math.min(t.doc.lines,f))),b=w.cursor(m.from+Math.max(0,Math.min(p,m.length)));n.dispatch({effects:[i,P.scrollIntoView(b.from,{y:"center"})],selection:b})}),!0},Hm={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},J7=C.define({combine(n){return v6(n,Hm,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function e8(n){let e=[ng,tg];return n&&e.push(J7.of(n)),e}var Km=_.mark({class:"cm-selectionMatch"}),Jm=_.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function G7(n,e,t,r){return(t==0||n(e.sliceDoc(t-1,t))!=r6.Word)&&(r==e.doc.length||n(e.sliceDoc(r,r+1))!=r6.Word)}function eg(n,e,t,r){return n(e.sliceDoc(t,t+1))==r6.Word&&n(e.sliceDoc(r-1,r))==r6.Word}var tg=t6.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.selectionSet||n.docChanged||n.viewportChanged)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=n.state.facet(J7),{state:t}=n,r=t.selection;if(r.ranges.length>1)return _.none;let i=r.main,s,o=null;if(i.empty){if(!e.highlightWordAroundCursor)return _.none;let l=t.wordAt(i.head);if(!l)return _.none;o=t.charCategorizer(i.head),s=t.sliceDoc(l.from,l.to)}else{let l=i.to-i.from;if(l200)return _.none;if(e.wholeWords){if(s=t.sliceDoc(i.from,i.to),o=t.charCategorizer(i.head),!(G7(o,t,i.from,i.to)&&eg(o,t,i.from,i.to)))return _.none}else if(s=t.sliceDoc(i.from,i.to),!s)return _.none}let a=[];for(let l of n.visibleRanges){let c=new p2(t.doc,s,l.from,l.to);for(;!c.next().done;){let{from:u,to:d}=c.value;if((!o||G7(o,t,u,d))&&(i.empty&&u<=i.from&&d>=i.to?a.push(Jm.range(u,d)):(u>=i.to||d<=i.from)&&a.push(Km.range(u,d)),a.length>e.maxMatches))return _.none}}return _.set(a)}},{decorations:n=>n.decorations}),ng=P.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),rg=({state:n,dispatch:e})=>{let{selection:t}=n,r=w.create(t.ranges.map(i=>n.wordAt(i.head)||w.cursor(i.head)),t.mainIndex);return r.eq(t)?!1:(e(n.update({selection:r})),!0)};function ig(n,e){let{main:t,ranges:r}=n.selection,i=n.wordAt(t.head),s=i&&i.from==t.from&&i.to==t.to;for(let o=!1,a=new p2(n.doc,e,r[r.length-1].to);;)if(a.next(),a.done){if(o)return null;a=new p2(n.doc,e,0,Math.max(0,r[r.length-1].from-1)),o=!0}else{if(o&&r.some(l=>l.from==a.value.from))continue;if(s){let l=n.wordAt(a.value.from);if(!l||l.from!=a.value.from||l.to!=a.value.to)continue}return a.value}}var sg=({state:n,dispatch:e})=>{let{ranges:t}=n.selection;if(t.some(s=>s.from===s.to))return rg({state:n,dispatch:e});let r=n.sliceDoc(t[0].from,t[0].to);if(n.selection.ranges.some(s=>n.sliceDoc(s.from,s.to)!=r))return!1;let i=ig(n,r);return i?(e(n.update({selection:n.selection.addRange(w.range(i.from,i.to),!1),effects:P.scrollIntoView(i.to)})),!0):!1},Re=C.define({combine(n){return v6(n,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new bn(e),scrollToMatch:e=>P.scrollIntoView(e)})}});var X9=class{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||Um(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,r)=>r=="n"?` +`:r=="r"?"\r":r=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new gn(this):new mn(this)}getCursor(e,t=0,r){let i=e.doc?e:K.create({doc:e});return r==null&&(r=i.doc.length),this.regexp?_e(this,i,t,r):Ae(this,i,t,r)}},M9=class{constructor(e){this.spec=e}};function og(n,e,t){return(r,i,s,o)=>{if(t&&!t(r,i,s,o))return!1;let a=r>=o&&i<=o+s.length?s.slice(r-o,i-o):e.doc.sliceString(r,i);return n(a,e,r,i)}}function Ae(n,e,t,r){let i;return n.wholeWord&&(i=ag(e.doc,e.charCategorizer(e.selection.main.head))),n.test&&(i=og(n.test,e,i)),new p2(e.doc,n.unquoted,t,r,n.caseSensitive?void 0:s=>s.toLowerCase(),i)}function ag(n,e){return(t,r,i,s)=>((s>t||s+i.length=t)return null;i.push(r.value)}return i}highlight(e,t,r,i){let s=Ae(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));for(;!s.next().done;)i(s.value.from,s.value.to)}};function lg(n,e,t){return(r,i,s)=>(!t||t(r,i,s))&&n(s[0],e,r,i)}function _e(n,e,t,r){let i;return n.wholeWord&&(i=cg(e.charCategorizer(e.selection.main.head))),n.test&&(i=lg(n.test,e,i)),new q9(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:i},t,r)}function E9(n,e){return n.slice(d6(n,e,!1),e)}function F9(n,e){return n.slice(e,d6(n,e))}function cg(n){return(e,t,r)=>!r[0].length||(n(E9(r.input,r.index))!=r6.Word||n(F9(r.input,r.index))!=r6.Word)&&(n(F9(r.input,r.index+r[0].length))!=r6.Word||n(E9(r.input,r.index+r[0].length))!=r6.Word)}var gn=class extends M9{nextMatch(e,t,r){let i=_e(this.spec,e,r,e.doc.length).next();return i.done&&(i=_e(this.spec,e,0,t).next()),i.done?null:i.value}prevMatchInRange(e,t,r){for(let i=1;;i++){let s=Math.max(t,r-i*1e4),o=_e(this.spec,e,s,r),a=null;for(;!o.next().done;)a=o.value;if(a&&(s==t||a.from>s+10))return a;if(s==t)return null}}prevMatch(e,t,r){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,r)=>{if(r=="&")return e.match[0];if(r=="$")return"$";for(let i=r.length;i>0;i--){let s=+r.slice(0,i);if(s>0&&s=t)return null;i.push(r.value)}return i}highlight(e,t,r,i){let s=_e(this.spec,e,Math.max(0,t-250),Math.min(r+250,e.doc.length));for(;!s.next().done;)i(s.value.from,s.value.to)}},Xt=L.define(),yn=L.define(),f2=o6.define({create(n){return new Rt(On(n).create(),null)},update(n,e){for(let t of e.effects)t.is(Xt)?n=new Rt(t.value.create(),n.panel):t.is(yn)&&(n=new Rt(n.query,t.value?Sn:null));return n},provide:n=>X2.from(n,e=>e.panel)});var Rt=class{constructor(e,t){this.query=e,this.panel=t}},ug=_.mark({class:"cm-searchMatch"}),dg=_.mark({class:"cm-searchMatch cm-searchMatch-selected"}),hg=t6.fromClass(class{constructor(n){this.view=n,this.decorations=this.highlight(n.state.field(f2))}update(n){let e=n.state.field(f2);(e!=n.startState.field(f2)||n.docChanged||n.selectionSet||n.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:n,panel:e}){if(!e||!n.spec.valid)return _.none;let{view:t}=this,r=new T6;for(let i=0,s=t.visibleRanges,o=s.length;is[i+1].from-500;)l=s[++i].to;n.highlight(t.state,a,l,(c,u)=>{let d=t.state.selection.ranges.some(h=>h.from==c&&h.to==u);r.add(c,u,d?dg:ug)})}return r.finish()}},{decorations:n=>n.decorations});function Mt(n){return e=>{let t=e.state.field(f2,!1);return t&&t.query.spec.valid?n(e,t):r8(e)}}var Z9=Mt((n,{query:e})=>{let{to:t}=n.state.selection.main,r=e.nextMatch(n.state,t,t);if(!r)return!1;let i=w.single(r.from,r.to),s=n.state.facet(Re);return n.dispatch({selection:i,effects:[kn(n,r),s.scrollToMatch(i.main,n)],userEvent:"select.search"}),n8(n),!0}),L9=Mt((n,{query:e})=>{let{state:t}=n,{from:r}=t.selection.main,i=e.prevMatch(t,r,r);if(!i)return!1;let s=w.single(i.from,i.to),o=n.state.facet(Re);return n.dispatch({selection:s,effects:[kn(n,i),o.scrollToMatch(s.main,n)],userEvent:"select.search"}),n8(n),!0}),fg=Mt((n,{query:e})=>{let t=e.matchAll(n.state,1e3);return!t||!t.length?!1:(n.dispatch({selection:w.create(t.map(r=>w.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),pg=({state:n,dispatch:e})=>{let t=n.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:r,to:i}=t.main,s=[],o=0;for(let a=new p2(n.doc,n.sliceDoc(r,i));!a.next().done;){if(s.length>1e3)return!1;a.value.from==r&&(o=s.length),s.push(w.range(a.value.from,a.value.to))}return e(n.update({selection:w.create(s,o),userEvent:"select.search.matches"})),!0},H7=Mt((n,{query:e})=>{let{state:t}=n,{from:r,to:i}=t.selection.main;if(t.readOnly)return!1;let s=e.nextMatch(t,r,r);if(!s)return!1;let o=s,a=[],l,c,u=[];o.precise?o.from==r&&o.to==i&&(c=t.toText(e.getReplacement(o)),a.push({from:o.from,to:o.to,insert:c}),o=e.nextMatch(t,o.from,o.to),u.push(P.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(r).number)+"."))):o=e.nextMatch(t,o.from,o.to);let d=n.state.changes(a);return o&&(l=w.single(o.from,o.to).map(d),u.push(kn(n,o)),u.push(t.facet(Re).scrollToMatch(l.main,n))),n.dispatch({changes:d,selection:l,effects:u,userEvent:"input.replace"}),!0}),mg=Mt((n,{query:e})=>{if(n.state.readOnly)return!1;let t=[];for(let i of e.matchAll(n.state,1e9)){let{from:s,to:o,precise:a}=i;a&&t.push({from:s,to:o,insert:e.getReplacement(i)})}if(!t.length)return!1;let r=n.state.phrase("replaced $ matches",t.length)+".";return n.dispatch({changes:t,effects:P.announce.of(r),userEvent:"input.replace.all"}),!0});function Sn(n){return n.state.facet(Re).createPanel(n)}function On(n,e){var t,r,i,s,o;let a=n.selection.main,l=a.empty||a.to>a.from+100?"":n.sliceDoc(a.from,a.to);if(e&&!l)return e;let c=n.facet(Re);return new X9({search:((t=e?.literal)!==null&&t!==void 0?t:c.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(r=e?.caseSensitive)!==null&&r!==void 0?r:c.caseSensitive,literal:(i=e?.literal)!==null&&i!==void 0?i:c.literal,regexp:(s=e?.regexp)!==null&&s!==void 0?s:c.regexp,wholeWord:(o=e?.wholeWord)!==null&&o!==void 0?o:c.wholeWord})}function t8(n){let e=ke(n,Sn);return e&&e.dom.querySelector("[main-field]")}function n8(n){let e=t8(n);e&&e==n.root.activeElement&&e.select()}var r8=n=>{let e=n.state.field(f2,!1);if(e&&e.panel){let t=t8(n);if(t&&t!=n.root.activeElement){let r=On(n.state,e.query.spec);r.valid&&n.dispatch({effects:Xt.of(r)}),t.focus(),t.select()}}else n.dispatch({effects:[yn.of(!0),e?Xt.of(On(n.state,e.query.spec)):L.appendConfig.of(Og)]});return!0},i8=n=>{let e=n.state.field(f2,!1);if(!e||!e.panel)return!1;let t=ke(n,Sn);return t&&t.dom.contains(n.root.activeElement)&&n.focus(),n.dispatch({effects:yn.of(!1)}),!0},s8=[{key:"Mod-f",run:r8,scope:"editor search-panel"},{key:"F3",run:Z9,shift:L9,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Z9,shift:L9,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:i8,scope:"editor search-panel"},{key:"Mod-Shift-l",run:pg},{key:"Mod-Alt-g",run:Gm},{key:"Mod-d",run:sg,preventDefault:!0}],bn=class{constructor(e){this.view=e;let t=this.query=e.state.field(f2).query.spec;this.commit=this.commit.bind(this),this.searchField=J("input",{value:t.search,placeholder:e5(e,"Find"),"aria-label":e5(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=J("input",{value:t.replace,placeholder:e5(e,"Replace"),"aria-label":e5(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=J("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=J("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=J("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function r(i,s,o){return J("button",{class:"cm-button",name:i,onclick:s,type:"button"},o)}this.dom=J("div",{onkeydown:i=>this.keydown(i),class:"cm-search"},[this.searchField,r("next",()=>Z9(e),[e5(e,"next")]),r("prev",()=>L9(e),[e5(e,"previous")]),r("select",()=>fg(e),[e5(e,"all")]),J("label",null,[this.caseField,e5(e,"match case")]),J("label",null,[this.reField,e5(e,"regexp")]),J("label",null,[this.wordField,e5(e,"by word")]),...e.state.readOnly?[]:[J("br"),this.replaceField,r("replace",()=>H7(e),[e5(e,"replace")]),r("replaceAll",()=>mg(e),[e5(e,"replace all")])],J("button",{name:"close",onclick:()=>i8(e),"aria-label":e5(e,"close"),type:"button"},["\xD7"])])}commit(){let e=new X9({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:Xt.of(e)}))}keydown(e){_o(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?L9:Z9)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),H7(this.view))}update(e){for(let t of e.transactions)for(let r of t.effects)r.is(Xt)&&!r.value.eq(this.query)&&this.setQuery(r.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Re).top}};function e5(n,e){return n.state.phrase(e)}var T9=30,C9=/[\s\.,:;?!]/;function kn(n,{from:e,to:t}){let r=n.state.doc.lineAt(e),i=n.state.doc.lineAt(t).to,s=Math.max(r.from,e-T9),o=Math.min(i,t+T9),a=n.state.sliceDoc(s,o);if(s!=r.from){for(let l=0;la.length-T9;l--)if(!C9.test(a[l-1])&&C9.test(a[l])){a=a.slice(0,l);break}}return P.announce.of(`${n.state.phrase("current match")}. ${a} ${n.state.phrase("on line")} ${r.number}.`)}var gg=P.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),Og=[f2,b6.low(hg),gg];var B9=class{constructor(e,t,r){this.from=e,this.to=t,this.diagnostic=r}},I2=class n{constructor(e,t,r){this.diagnostics=e,this.panel=t,this.selected=r}static init(e,t,r){let i=r.facet(Z5).markerFilter;i&&(e=i(e,r));let s=e.slice().sort((p,f)=>p.from-f.from||p.to-f.to),o=new T6,a=[],l=0,c=r.doc.iter(),u=0,d=r.doc.length;for(let p=0;;){let f=p==s.length?null:s[p];if(!f&&!a.length)break;let m,b;if(a.length)m=l,b=a.reduce((y,v)=>Math.min(y,v.to),f&&f.from>m?f.from:1e8);else{if(m=f.from,m>d)break;b=f.to,a.push(f),p++}for(;py.from||y.to==m))a.push(y),p++,b=Math.min(y.to,b);else{b=Math.min(y.from,b);break}}b=Math.min(b,d);let g=!1;if(a.some(y=>y.from==m&&(y.to==b||b==d))&&(g=m==b,!g&&b-m<10)){let y=m-(u+c.value.length);y>0&&(c.next(y),u=m);for(let v=m;;){if(v>=b){g=!0;break}if(!c.lineBreak&&u+c.value.length>v)break;v=u+c.value.length,u+=c.value.length,c.next()}}let x=m8(a);if(g)o.add(m,m,_.widget({widget:new vn(x),diagnostics:a.slice()}));else{let y=a.reduce((v,S)=>S.markClass?v+" "+S.markClass:v,"");o.add(m,b,_.mark({class:"cm-lintRange cm-lintRange-"+x+y,diagnostics:a.slice(),inclusiveEnd:a.some(v=>v.to>b)}))}if(l=b,l==d)break;for(let y=0;y{if(!(e&&o.diagnostics.indexOf(e)<0))if(!r)r=new B9(i,s,e||o.diagnostics[0]);else{if(o.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new B9(r.from,s,r.diagnostic)}}),r}function l8(n,e){let t=e.pos,r=e.end||t,i=n.state.facet(Z5).hideOn(n,t,r);if(i!=null)return i;let s=n.startState.doc.lineAt(e.pos);return!!(n.effects.some(o=>o.is(W9))||n.changes.touchesRange(s.from,Math.max(s.to,r)))}function c8(n,e){return n.field(t5,!1)?e:e.concat(L.appendConfig.of(b8))}function bg(n,e){return{effects:c8(n,[W9.of(e)])}}var W9=L.define(),Qn=L.define(),u8=L.define(),t5=o6.define({create(){return new I2(_.none,null,null)},update(n,e){if(e.docChanged&&n.diagnostics.size){let t=n.diagnostics.map(e.changes),r=null,i=n.panel;if(n.selected){let s=e.changes.mapPos(n.selected.from,1);r=m2(t,n.selected.diagnostic,s)||m2(t,null,s)}!t.size&&i&&e.state.facet(Z5).autoPanel&&(i=null),n=new I2(t,i,r)}for(let t of e.effects)if(t.is(W9)){let r=e.state.facet(Z5).autoPanel?t.value.length?Et.open:null:n.panel;n=I2.init(t.value,r,e.state)}else t.is(Qn)?n=new I2(n.diagnostics,t.value?Et.open:null,n.selected):t.is(u8)&&(n=new I2(n.diagnostics,n.panel,t.value));return n},provide:n=>[X2.from(n,e=>e.panel),P.decorations.from(n,e=>e.diagnostics)]});var xg=_.mark({class:"cm-lintRange cm-lintRange-active"});function yg(n,e,t){let{diagnostics:r}=n.state.field(t5),i,s=-1,o=-1;r.between(e-(t<0?1:0),e+(t>0?1:0),(l,c,{spec:u})=>{if(e>=l&&e<=c&&(l==c||(e>l||t>0)&&(ep8(n,t,!1)))}var Sg=n=>{let e=n.state.field(t5,!1);(!e||!e.panel)&&n.dispatch({effects:c8(n.state,[Qn.of(!0)])});let t=ke(n,Et.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},o8=n=>{let e=n.state.field(t5,!1);return!e||!e.panel?!1:(n.dispatch({effects:Qn.of(!1)}),!0)},kg=n=>{let e=n.state.field(t5,!1);if(!e)return!1;let t=n.state.selection.main,r=m2(e.diagnostics,null,t.to+1);return!r&&(r=m2(e.diagnostics,null,0),!r||r.from==t.from&&r.to==t.to)?!1:(n.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),zo(n,r.from,1,{tooltip:O8,until:i=>i.docChanged||i.newSelection.main.headr.to}),!0)};var h8=[{key:"Mod-Shift-m",run:Sg,preventDefault:!0},{key:"F8",run:kg}],vg=t6.fromClass(class{constructor(n){this.view=n,this.timeout=-1,this.set=!0;let{delay:e}=n.state.facet(Z5);this.lintTime=Date.now()+e,this.run=this.run.bind(this),this.timeout=setTimeout(this.run,e)}run(){clearTimeout(this.timeout);let n=Date.now();if(nPromise.resolve(r(this.view))),r=>{this.view.state.doc==e.doc&&this.view.dispatch(bg(this.view.state,r.reduce((i,s)=>i.concat(s))))},r=>{x6(this.view.state,r)})}}update(n){let e=n.state.facet(Z5);(n.docChanged||e!=n.startState.facet(Z5)||e.needsRefresh&&e.needsRefresh(n))&&(this.lintTime=Date.now()+e.delay,this.set||(this.set=!0,this.timeout=setTimeout(this.run,e.delay)))}force(){this.set&&(this.lintTime=Date.now(),this.run())}destroy(){clearTimeout(this.timeout)}});function wg(n,e,t){let r=[],i=-1;for(let s of n)s.then(o=>{r.push(o),clearTimeout(i),r.length==n.length?e(r):i=setTimeout(()=>e(r),200)},t)}var Z5=C.define({combine(n){return{sources:n.map(e=>e.source).filter(e=>e!=null),...v6(n.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:a8,tooltipFilter:a8,needsRefresh:(e,t)=>e?t?r=>e(r)||t(r):e:t,hideOn:(e,t)=>e?t?(r,i,s)=>e(r,i,s)||t(r,i,s):e:t,autoPanel:(e,t)=>e||t})}}});function a8(n,e){return n?e?(t,r)=>e(n(t,r),r):n:e}function z9(n,e={}){return[Z5.of({source:n,config:e}),vg,b8]}function f8(n){let e=[];if(n)e:for(let{name:t}of n){for(let r=0;rs.toLowerCase()==i.toLowerCase())){e.push(i);continue e}}e.push("")}return e}function p8(n,e,t){var r;let i=t?f8(e.actions):[];return J("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},J("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(n):e.message),(r=e.actions)===null||r===void 0?void 0:r.map((s,o)=>{let a=!1,l=p=>{if(p.preventDefault(),a)return;a=!0;let f=m2(n.state.field(t5).diagnostics,e);f&&s.apply(n,f.from,f.to)},{name:c}=s,u=i[o]?c.indexOf(i[o]):-1,d=u<0?c:[c.slice(0,u),J("u",c.slice(u,u+1)),c.slice(u+1)],h=s.markClass?" "+s.markClass:"";return J("button",{type:"button",class:"cm-diagnosticAction"+h,onclick:l,onmousedown:l,"aria-label":` Action: ${c}${u<0?"":` (access key "${i[o]})"`}.`},d)}),e.source&&J("div",{class:"cm-diagnosticSource"},e.source))}var vn=class extends X6{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return J("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}},N9=class{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=p8(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}},Et=class n{constructor(e){this.view=e,this.items=[];let t=i=>{if(!(i.ctrlKey||i.altKey||i.metaKey)){if(i.keyCode==27)o8(this.view),this.view.focus();else if(i.keyCode==38||i.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(i.keyCode==40||i.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(i.keyCode==36)this.moveSelection(0);else if(i.keyCode==35)this.moveSelection(this.items.length-1);else if(i.keyCode==13)this.view.focus();else if(i.keyCode>=65&&i.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:s}=this.items[this.selectedIndex],o=f8(s.actions);for(let a=0;a{for(let s=0;so8(this.view)},"\xD7")),this.update()}get selectedIndex(){let e=this.view.state.field(t5).selected;if(!e)return-1;for(let t=0;t{for(let u of c.diagnostics){if(o.has(u))continue;o.add(u);let d=-1,h;for(let p=r;pr&&(this.items.splice(r,d-r),i=!0)),t&&h.diagnostic==t.diagnostic?h.dom.hasAttribute("aria-selected")||(h.dom.setAttribute("aria-selected","true"),s=h):h.dom.hasAttribute("aria-selected")&&h.dom.removeAttribute("aria-selected"),r++}});r({sel:s.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:a,panel:l})=>{let c=l.height/this.list.offsetHeight;a.topl.bottom&&(this.list.scrollTop+=(a.bottom-l.bottom)/c)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),i&&this.sync()}sync(){let e=this.list.firstChild;function t(){let r=e;e=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;e!=r.dom;)t();e=r.dom.nextSibling}else this.list.insertBefore(r.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field(t5),r=m2(t.diagnostics,this.items[e].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:u8.of(r)})}static open(e){return new n(e)}};function j9(n,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(n)}')`}function D9(n){return j9(``,'width="6" height="3"')}var Qg=P.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:D9("#f11")},".cm-lintRange-warning":{backgroundImage:D9("orange")},".cm-lintRange-info":{backgroundImage:D9("#999")},".cm-lintRange-hint":{backgroundImage:D9("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function $g(n){return n=="error"?4:n=="warning"?3:n=="info"?2:1}function m8(n){let e="hint",t=1;for(let r of n){let i=$g(r.severity);i>t&&(t=i,e=r.severity)}return e}var I9=class extends j6{constructor(e){super(),this.diagnostics=e,this.severity=m8(e)}toDOM(e){let t=document.createElement("div");t.className="cm-lint-marker cm-lint-marker-"+this.severity;let r=this.diagnostics,i=e.state.facet(V9).tooltipFilter;return i&&(r=i(r,e.state)),r.length&&(t.onmouseover=()=>Tg(e,t,r)),t}};function Pg(n,e){let t=r=>{let i=e.getBoundingClientRect();if(!(r.clientX>i.left-10&&r.clientXi.top-10&&r.clientYe.getBoundingClientRect()}}})}),e.onmouseout=e.onmousemove=null,Pg(n,e)}let{hoverTime:i}=n.state.facet(V9),s=setTimeout(r,i);e.onmouseout=()=>{clearTimeout(s),e.onmouseout=e.onmousemove=null},e.onmousemove=()=>{clearTimeout(s),s=setTimeout(r,i)}}function Cg(n,e){let t=Object.create(null);for(let i of e){let s=n.lineAt(i.from);(t[s.from]||(t[s.from]=[])).push(i)}let r=[];for(let i in t)r.push(new I9(t[i]).range(+i));return z.of(r,!0)}var qg=e9({class:"cm-gutter-lint",markers:n=>n.state.field(wn),widgetMarker:(n,e,t)=>{let r=[];return n.state.field(wn).between(t.from,t.to,(i,s,o)=>{i>t.from&&ir.is($n)?r.value:t,n)},provide:n=>i2.from(n)}),Ag=P.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:j9('')},".cm-lint-marker-warning":{content:j9('')},".cm-lint-marker-error":{content:j9('')}}),O8=J4(yg,{hideOn:l8}),b8=[t5,P.decorations.compute([t5],n=>{let{selected:e,panel:t}=n.field(t5);return!e||!t||e.from==e.to?_.none:_.set([xg.range(e.from,e.to)])}),O8,Qg],V9=C.define({combine(n){return v6(n,{hoverTime:300,markerFilter:null,tooltipFilter:null})}});function Pn(n={}){return[V9.of(n),wn,qg,Ag,g8]}var _g="#e5c07b",x8="#e06c75",Rg="#56b6c2",Xg="#ffffff",Y9="#abb2bf",Cn="#7d8799",Mg="#61afef",Eg="#98c379",y8="#d19a66",Fg="#c678dd",Zg="#21252b",S8="#2c313a",k8="#282c34",Tn="#353a42",Lg="#3E4451",v8="#528bff";var Dg=P.theme({"&":{color:Y9,backgroundColor:k8},".cm-content":{caretColor:v8},".cm-cursor, .cm-dropCursor":{borderLeftColor:v8},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:Lg},".cm-panels":{backgroundColor:Zg,color:Y9},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:k8,color:Cn,border:"none"},".cm-activeLineGutter":{backgroundColor:S8},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Tn},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Tn,borderBottomColor:Tn},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:S8,color:Y9}}},{dark:!0}),jg=u2.define([{tag:O.keyword,color:Fg},{tag:[O.name,O.deleted,O.character,O.propertyName,O.macroName],color:x8},{tag:[O.function(O.variableName),O.labelName],color:Mg},{tag:[O.color,O.constant(O.name),O.standard(O.name)],color:y8},{tag:[O.definition(O.name),O.separator],color:Y9},{tag:[O.typeName,O.className,O.number,O.changed,O.annotation,O.modifier,O.self,O.namespace],color:_g},{tag:[O.operator,O.operatorKeyword,O.url,O.escape,O.regexp,O.link,O.special(O.string)],color:Rg},{tag:[O.meta,O.comment],color:Cn},{tag:O.strong,fontWeight:"bold"},{tag:O.emphasis,fontStyle:"italic"},{tag:O.strikethrough,textDecoration:"line-through"},{tag:O.link,color:Cn,textDecoration:"underline"},{tag:O.heading,fontWeight:"bold",color:x8},{tag:[O.atom,O.bool,O.special(O.variableName)],color:y8},{tag:[O.processingInstruction,O.string,O.inserted],color:Eg},{tag:O.invalid,color:Xg}]),w8=[Dg,d2(jg)];var qn={fontSize:"14px",fontFamily:"JetBrains Mono, Consolas, monospace",lineHeight:"1.6"},Bg={borderLeftWidth:"2px"},g5={insertedTextDecoration:"none",deletedTextDecoration:"line-through",insertedLinePadding:"1px 3px",borderRadius:"3px"},W2={border:"none",paddingRight:"8px",fontSize:"0.9em",fontWeight:"500",lineHeight:"1.78"},An={border:"none",borderRadius:"4px",padding:"2px 10px"},Ng={borderRadius:"2px"},_n={borderRadius:"2px"},Rn={borderRadius:"4px",padding:"0 5px",margin:"0 2px"},Xn={width:"12px",height:"12px",borderRadius:"6px"},U9={borderRadius:"4px",padding:"2px 6px"},Xe={borderRadius:"4px",borderRadiusSelected:"3px",lineHeight:"1.3",padding:"4px 8px",paddingRight:"8px"};var Ig="#ffffff",A8="#f5f5f5",Y6="#212121",F6="#757575",Dt="#9e9e9e",Mn="#424242",Wg="#eeeeee",En="#fafafa",Dn="#f44336",G9="#ff3e00",Ft="#FF00E9FF",zg="#ffc107",V6="#ff9800",D5="#00acc1",L5="#3949ab",Ee="#8e24aa",Me="#43a047",Fn="#00897b",Q8="#1e88e5",z2=Dn,Vg="#00000008",Zt=Ig,Lt=A8,Yg="#DDEEFF",Ug="#90a4ae26",$8=Dt,Gg="#DDEEFF80",Hg=D5,P8=V6,_8=D5,Kg=Ee,T8="#ECEFF180",C8="#e6ffed80",q8="#ffebe980",Zn="#28a745",Ln="#d73a49",Jg=P.theme({"&":{color:Y6,backgroundColor:Zt,fontSize:qn.fontSize,fontFamily:qn.fontFamily},".cm-content":{caretColor:$8,lineHeight:qn.lineHeight},".cm-cursor, .cm-dropCursor":{borderLeftColor:$8,borderLeftWidth:Bg.borderLeftWidth},".cm-fat-cursor":{backgroundColor:`${Y6}99`,color:Zt},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:Yg},".cm-selectionLayer":{zIndex:100},".cm-searchMatch":{backgroundColor:"#FFA72680",outline:`1px solid ${zg}`,color:Y6,borderRadius:U9.borderRadius,"& span":{color:Y6}},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:D5,color:Zt,padding:U9.padding,"& span":{color:Zt}},".cm-search.cm-panel.cm-textfield":{color:Y6,borderRadius:U9.borderRadius,padding:U9.padding},".cm-panels":{backgroundColor:Wg,color:Y6,borderRadius:"4px",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)"},".cm-panels.cm-panels-top":{borderBottom:`1px solid ${Dt}`},".cm-panels.cm-panels-bottom":{borderTop:`1px solid ${Dt}`},".cm-panel button":{backgroundColor:Lt,color:Y6,border:An.border,borderRadius:An.borderRadius,padding:An.padding},".cm-panel button:hover":{backgroundColor:"#CFD8DC"},".cm-activeLine":{backgroundColor:Vg,borderRadius:Ng.borderRadius,zIndex:1},".cm-gutters":{backgroundColor:En,color:F6,border:W2.border,borderRight:`1px solid ${Dt}`,paddingRight:W2.paddingRight},".cm-activeLineGutter":{backgroundColor:"#E0E0E0",color:Y6,fontWeight:W2.fontWeight},".cm-lineNumbers":{fontSize:W2.fontSize,lineHeight:W2.lineHeight},".cm-foldGutter":{fontSize:W2.fontSize,lineHeight:W2.lineHeight},".cm-foldGutter .cm-gutterElement":{color:F6,cursor:"pointer",transition:"color 0.15s ease"},".cm-foldGutter .cm-gutterElement:hover":{color:Y6},".cm-insertedLine":{textDecoration:g5.insertedTextDecoration,backgroundColor:C8,color:Zn,padding:g5.insertedLinePadding,borderRadius:g5.borderRadius},"ins.cm-insertedLine, ins.cm-insertedLine:not(:has(.cm-changedText))":{textDecoration:g5.insertedTextDecoration,backgroundColor:`${C8} !important`,color:Zn,padding:g5.insertedLinePadding,borderRadius:g5.borderRadius,border:`1px solid ${Zn}30`},"ins.cm-insertedLine .cm-changedText":{background:"transparent !important"},".cm-deletedLine":{textDecoration:g5.deletedTextDecoration,backgroundColor:q8,color:Ln,padding:g5.insertedLinePadding,borderRadius:g5.borderRadius},"del.cm-deletedLine, del, del:not(:has(.cm-deletedText))":{textDecoration:g5.deletedTextDecoration,backgroundColor:`${q8} !important`,color:Ln,padding:g5.insertedLinePadding,borderRadius:g5.borderRadius,border:`1px solid ${Ln}30`},"del .cm-deletedText, del .cm-changedText":{background:"transparent !important"},".cm-tooltip":{backgroundColor:Lt,border:`1px solid ${Dt}`,borderRadius:Xe.borderRadius,padding:Xe.padding,boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)"},".cm-tooltip-autocomplete":{"& > ul":{backgroundColor:Lt,border:"none"},"& > ul > li":{padding:Xe.padding,lineHeight:Xe.lineHeight},"& > ul > li[aria-selected]":{backgroundColor:T8,color:Y6,borderRadius:Xe.borderRadiusSelected},"& > ul > li:hover":{backgroundColor:T8},"& > ul > li > span.cm-completionIcon":{color:F6,paddingRight:Xe.paddingRight},"& > ul > li > span.cm-completionDetail":{color:F6,fontStyle:"italic"}},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Lt,borderBottomColor:Lt},".cm-diagnostic":{"&-error":{borderLeft:`3px solid ${z2}`},"&-warning":{borderLeft:`3px solid ${P8}`},"&-info":{borderLeft:`3px solid ${_8}`}},".cm-lintPoint-error":{borderBottom:`2px wavy ${z2}`},".cm-lintPoint-warning":{borderBottom:`2px wavy ${P8}`},".cm-matchingBracket":{backgroundColor:Gg,outline:`1px solid ${Hg}`,borderRadius:_n.borderRadius},".cm-nonmatchingBracket":{backgroundColor:`${z2}20`,outline:`1px solid ${z2}`,borderRadius:_n.borderRadius},".cm-selectionMatch":{backgroundColor:Ug,outline:`1px solid ${F6}30`,borderRadius:_n.borderRadius},".cm-foldPlaceholder":{backgroundColor:A8,color:F6,border:`1px dotted ${F6}70`,borderRadius:Rn.borderRadius,padding:Rn.padding,margin:Rn.margin},"&.cm-focused":{outline:"none",boxShadow:`0 0 0 2px ${Zt}, 0 0 0 3px ${D5}40`},"& .cm-scroller::-webkit-scrollbar":{width:Xn.width,height:Xn.height},"& .cm-scroller::-webkit-scrollbar-track":{background:En},"& .cm-scroller::-webkit-scrollbar-thumb":{backgroundColor:F6,borderRadius:Xn.borderRadius,border:`3px solid ${En}`},"& .cm-scroller::-webkit-scrollbar-thumb:hover":{backgroundColor:Y6},".cm-ghostText":{opacity:"0.5",color:F6}},{dark:!1}),eO=u2.define([{tag:O.keyword,color:D5,fontWeight:"bold"},{tag:O.controlKeyword,color:D5,fontWeight:"bold"},{tag:O.moduleKeyword,color:D5,fontWeight:"bold"},{tag:[O.name,O.deleted,O.character,O.macroName],color:Mn},{tag:[O.variableName],color:Mn},{tag:[O.propertyName],color:Fn,fontStyle:"normal"},{tag:[O.typeName],color:V6},{tag:[O.className],color:V6,fontStyle:"italic"},{tag:[O.namespace],color:L5,fontStyle:"italic"},{tag:[O.operator,O.operatorKeyword],color:L5},{tag:[O.bracket],color:Ee},{tag:[O.brace],color:Ee},{tag:[O.punctuation],color:F6},{tag:[O.function(O.variableName)],color:G9},{tag:[O.labelName],color:Q8,fontStyle:"italic"},{tag:[O.definition(O.function(O.variableName))],color:G9},{tag:[O.definition(O.variableName)],color:Ft},{tag:O.number,color:V6},{tag:O.changed,color:V6},{tag:O.annotation,color:z2,fontStyle:"italic"},{tag:O.modifier,color:V6,fontStyle:"italic"},{tag:O.self,color:V6},{tag:[O.color,O.constant(O.name),O.standard(O.name)],color:V6},{tag:[O.atom,O.bool],color:Ee},{tag:[O.processingInstruction,O.inserted],color:Me},{tag:O.string,color:Me},{tag:[O.special(O.string),O.regexp],color:Ft},{tag:O.definition(O.typeName),color:Ft,fontWeight:"bold"},{tag:[O.definition(O.name),O.separator],color:Ft},{tag:O.meta,color:F6},{tag:O.comment,fontStyle:"italic",color:F6},{tag:O.docComment,fontStyle:"italic",color:F6},{tag:[O.tagName],color:G9},{tag:[O.attributeName],color:Mn},{tag:[O.heading],fontWeight:"bold",color:Fn},{tag:O.heading1,color:Q8},{tag:O.heading2,color:V6},{tag:O.heading3,color:D5},{tag:O.heading4,color:L5},{tag:O.heading5,color:Ee},{tag:O.heading6,color:Me},{tag:[O.strong],fontWeight:"bold",color:L5},{tag:[O.emphasis],fontStyle:"italic",color:V6},{tag:[O.link],color:Kg,fontWeight:"500",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[O.url],color:_8,textDecoration:"underline",textUnderlineOffset:"2px"},{tag:[O.invalid],color:Y6,textDecoration:"underline wavy",borderBottom:`1px dotted ${Dn}`},{tag:[O.strikethrough],color:z2,textDecoration:"line-through"},{tag:O.constant(O.name),color:G9},{tag:O.deleted,color:z2},{tag:O.squareBracket,color:Dn},{tag:O.angleBracket,color:Y6},{tag:O.monospace,color:Y6},{tag:[O.contentSeparator],color:D5},{tag:O.quote,color:Me},{tag:O.integer,color:V6},{tag:O.float,color:V6},{tag:O.null,color:V6},{tag:O.attributeValue,color:Me},{tag:O.escape,color:Me},{tag:O.paren,color:Ee},{tag:O.lineComment,color:F6,fontStyle:"italic"},{tag:O.blockComment,color:F6,fontStyle:"italic"},{tag:O.definitionKeyword,color:D5},{tag:O.arithmeticOperator,color:L5},{tag:O.logicOperator,color:L5},{tag:O.compareOperator,color:L5},{tag:O.bitwiseOperator,color:L5},{tag:O.updateOperator,color:L5},{tag:O.derefOperator,color:L5},{tag:O.local(O.variableName),color:Ft},{tag:O.list,color:Fn},{tag:O.unit,color:V6}]),jn=[Jg,d2(eO)];var In=class n{constructor(e,t,r,i,s,o,a,l,c,u=0,d){this.p=e,this.stack=t,this.state=r,this.reducePos=i,this.pos=s,this.score=o,this.buffer=a,this.bufferBase=l,this.curContext=c,this.lookAhead=u,this.parent=d}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,r=0){let i=e.parser.context;return new n(e,[],t,r,r,0,[],0,i?new H9(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let r=e>>19,i=e&65535,{parser:s}=this.p,o=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[i])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=u):this.p.lastBigReductionSizel;)this.stack.pop();this.reduceContext(i,c)}storeNode(e,t,r,i=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[o-4]==0&&this.buffer[o-1]>-1){if(t==r)return;if(this.buffer[o-2]>=t){this.buffer[o-2]=r;return}}}if(!s||this.pos==r)this.buffer.push(e,t,r,i);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>r;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>r;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,i>4&&(i-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=r,this.buffer[o+3]=i}}shift(e,t,r,i){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let s=e,{parser:o}=this.p;this.pos=i;let a=o.stateFlag(s,1);!a&&(i>r||t<=o.maxNode)&&(this.reducePos=i),this.pushState(s,a?r:Math.min(r,this.reducePos)),this.shiftContext(t,r),t<=o.maxNode&&this.buffer.push(t,r,i,4)}else this.pos=i,this.shiftContext(t,r),t<=this.p.parser.maxNode&&this.buffer.push(t,r,i,4)}apply(e,t,r,i){e&65536?this.reduce(e):this.shift(e,t,r,i)}useNode(e,t){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let i=this.pos;this.reducePos=this.pos=i+e.length,this.pushState(t,i),this.buffer.push(r,i,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let r=e.buffer.slice(t),i=e.bufferBase+t;for(;e&&i==e.bufferBase;)e=e.parent;return new n(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,i,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,r?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new Wn(this);;){let r=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(r==0)return!1;if((r&65536)==0)return!0;t.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let i=[];for(let s=0,o;sl&1&&a==o)||i.push(t[s],o)}t=i}let r=[];for(let i=0;i>19,i=t&65535,s=this.stack.length-r*3;if(s<0||e.getGoto(this.stack[s],i,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],r=(i,s)=>{if(!t.includes(i))return t.push(i),e.allActions(i,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=r(o,s+1);if(a!=null)return a}})};return r(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}},H9=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},Wn=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,r=e>>19;r==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let i=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=i}},zn=class n{constructor(e,t,r){this.stack=e,this.pos=t,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new n(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new n(this.stack,this.pos,this.index)}};function jt(n,e=Uint16Array){if(typeof n!="string")return n;let t=null;for(let r=0,i=0;r=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[i++]=s:t=new e(s)}return t}var Fe=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},R8=new Fe,Vn=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=R8,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let r=this.range,i=this.rangeIndex,s=this.pos+e;for(;sr.to:s>=r.to;){if(i==this.ranges.length-1)return null;let o=this.ranges[++i];s+=o.from-r.to,r=o}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,r,i;if(t>=0&&t=this.chunk2Pos&&ra.to&&(this.chunk2=this.chunk2.slice(0,a.to-r)),i=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),i}acceptToken(e,t=0){let r=t?this.resolveOffset(t,-1):this.pos;if(r==null||r=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=R8,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let r="";for(let i of this.ranges){if(i.from>=t)break;i.to>e&&(r+=this.input.read(Math.max(i.from,e),Math.min(i.to,t)))}return r}},g2=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:r}=t.p;Z8(this.data,e,t,this.id,r.data,r.tokenPrecTable)}};g2.prototype.contextual=g2.prototype.fallback=g2.prototype.extend=!1;var O2=class{constructor(e,t,r){this.precTable=t,this.elseToken=r,this.data=typeof e=="string"?jt(e):e}token(e,t){let r=e.pos,i=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(Z8(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||i++,o==null)break;e.reset(o,e.token)}i&&(e.reset(r,e.token),e.acceptToken(this.elseToken,i))}};O2.prototype.contextual=g2.prototype.fallback=g2.prototype.extend=!1;var f6=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function Z8(n,e,t,r,i,s){let o=0,a=1<0){let f=n[p];if(l.allows(f)&&(e.token.value==-1||e.token.value==f||nO(f,e.token.value,i,s))){e.acceptToken(f);break}}let u=e.next,d=0,h=n[o+2];if(e.next<0&&h>d&&n[c+h*3-3]==65535){o=n[c+h*3-1];continue e}for(;d>1,f=c+p+(p<<1),m=n[f],b=n[f+1]||65536;if(u=b)d=p+1;else{o=n[f+2],e.advance();continue e}}break}}function X8(n,e,t){for(let r=e,i;(i=n[r])!=65535;r++)if(i==t)return r-e;return-1}function nO(n,e,t,r){let i=X8(t,r,e);return i<0||X8(t,r,n)e)&&!r.type.isError)return t<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(n.length,Math.max(r.from+1,e+25));if(t<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return t<0?0:n.length}}var Yn=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?M8(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?M8(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(s instanceof I){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}},Un=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new Fe)}getActions(e){let t=0,r=null,{parser:i}=e.p,{tokenizers:s}=i,o=i.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;cd.end+25&&(l=Math.max(d.lookAhead,l)),d.value!=0)){let h=t;if(d.extended>-1&&(t=this.addActions(e,d.extended,d.end,t)),t=this.addActions(e,d.value,d.end,t),!u.extend&&(r=d,t>h))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!r&&e.pos==this.stream.end&&(r=new Fe,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,t=this.addActions(e,r.value,r.end,t)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Fe,{pos:r,p:i}=e;return t.start=r,t.end=Math.min(r+1,i.stream.end),t.value=r==i.stream.end?i.parser.eofTerm:0,t}updateCachedToken(e,t,r){let i=this.stream.clipPos(r.pos);if(t.token(this.stream.reset(i,e),r),e.value>-1){let{parser:s}=r.p;for(let o=0;o=0&&r.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(i+1)}putAction(e,t,r,i){for(let s=0;se.bufferLength*4?new Yn(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,r=this.stacks=[],i,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;ot)r.push(a);else{if(this.advanceStack(a,r,e))continue;{i||(i=[],s=[]),i.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!r.length){let o=i&&rO(i);if(o)return n5&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw n5&&i&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&i){let o=this.stoppedAt!=null&&i[0].pos>this.stoppedAt?i[0]:this.runRecovery(i,s,r);if(o)return n5&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(r.length>o)for(r.sort((a,l)=>l.score-a.score);r.length>o;)r.pop();r.some(a=>a.reducePos>t)&&this.recovering--}else if(r.length>1){e:for(let o=0;o500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)r.splice(l--,1);else{r.splice(o--,1);continue e}}}r.length>12&&(r.sort((o,a)=>a.score-o.score),r.splice(12,r.length-12))}this.minStackPos=r[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&i>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,u=c?e.curContext.hash:0;for(let d=this.fragments.nodeAt(i);d;){let h=this.parser.nodeSet.types[d.type.id]==d.type?s.getGoto(e.state,d.type.id):-1;if(h>-1&&d.length&&(!c||(d.prop(F.contextHash)||0)==u))return e.useNode(d,h),n5&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(d.type.id)})`),!0;if(!(d instanceof I)||d.children.length==0||d.positions[0]>0)break;let p=d.children[0];if(p instanceof I&&d.positions[0]==0)d=p;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),n5&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;ci?t.push(f):r.push(f)}return!1}advanceFully(e,t){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return E8(e,t),!0}}runRecovery(e,t,r){let i=null,s=!1;for(let o=0;o ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),n5&&console.log(u+this.stackID(a)+" (restarted)"),this.advanceFully(a,r))))continue;let d=a.split(),h=u;for(let p=0;p<10&&d.forceReduce()&&(n5&&console.log(h+this.stackID(d)+" (via force-reduce)"),!this.advanceFully(d,r));p++)n5&&(h=this.stackID(d)+" -> ");for(let p of a.recoverByInsert(l))n5&&console.log(u+this.stackID(p)+" (via recover-insert)"),this.advanceFully(p,r);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),n5&&console.log(u+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),E8(a,r)):(!i||i.scoren,b2=class{constructor(e){this.start=e.start,this.shift=e.shift||Nn,this.reduce=e.reduce||Nn,this.reuse=e.reuse||Nn,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},O5=class n extends I6{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;ae.topRules[a][1]),i=[];for(let a=0;a=0)s(u,l,a[c++]);else{let d=a[c+-u];for(let h=-u;h>0;h--)s(a[c++],l,d);c++}}}this.nodeSet=new R5(t.map((a,l)=>i6.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:i[l],top:r.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=jt(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;atypeof a=="number"?new g2(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,r){let i=new Gn(this,e,t,r);for(let s of this.wrappers)i=s(i,e,t,r);return i}getGoto(e,t,r=!1){let i=this.goto;if(t>=i[0])return-1;for(let s=i[t+1];;){let o=i[s++],a=o&1,l=i[s++];if(a&&r)return l;for(let c=s+(o>>1);s0}validAction(e,t){return!!this.allActions(e,r=>r==t?!0:null)}allActions(e,t){let r=this.stateSlot(e,4),i=r?t(r):void 0;for(let s=this.stateSlot(e,1);i==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=G5(this.data,s+2);else break;i=t(G5(this.data,s+1))}return i}nextStates(e){let t=[];for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=G5(this.data,r+2);else break;if((this.data[r+2]&1)==0){let i=this.data[r+1];t.some((s,o)=>o&1&&s==i)||t.push(this.data[r],i)}}return t}configure(e){let t=Object.assign(Object.create(n.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=r}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(r=>{let i=e.tokenizers.find(s=>s.from==r);return i?i.to:r})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((r,i)=>{let s=e.specializers.find(a=>a.from==r.external);if(!s)return r;let o=Object.assign(Object.assign({},r),{external:s.to});return t.specializers[i]=F8(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),r=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(r[o]=!0)}let i=null;for(let s=0;sr)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scoren.external(t,r)<<1|e}return n.get}var iO=55,sO=1,oO=56,aO=2,lO=57,cO=3,L8=4,uO=5,nr=6,V8=7,Y8=8,U8=9,G8=10,dO=11,hO=12,fO=13,Kn=58,pO=14,mO=15,D8=59,H8=21,gO=23,K8=24,OO=25,er=27,J8=28,bO=29,xO=32,yO=35,SO=37,kO=38,vO=0,wO=1,QO={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},$O={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},j8={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function PO(n){return n==45||n==46||n==58||n>=65&&n<=90||n==95||n>=97&&n<=122||n>=161}var B8=null,N8=null,I8=0;function tr(n,e){let t=n.pos+e;if(I8==t&&N8==n)return B8;let r=n.peek(e),i="";for(;PO(r);)i+=String.fromCharCode(r),r=n.peek(++e);return N8=n,I8=t,B8=i?i.toLowerCase():r==TO||r==CO?void 0:null}var el=60,K9=62,rr=47,TO=63,CO=33,qO=45;function W8(n,e){this.name=n,this.parent=e}var AO=[nr,G8,V8,Y8,U8],_O=new b2({start:null,shift(n,e,t,r){return AO.indexOf(e)>-1?new W8(tr(r,1)||"",n):n},reduce(n,e){return e==H8&&n?n.parent:n},reuse(n,e,t,r){let i=e.type.id;return i==nr||i==SO?new W8(tr(r,1)||"",n):n},strict:!1}),RO=new f6((n,e)=>{if(n.next!=el){n.next<0&&e.context&&n.acceptToken(Kn);return}n.advance();let t=n.next==rr;t&&n.advance();let r=tr(n,0);if(r===void 0)return;if(!r)return n.acceptToken(t?mO:pO);let i=e.context?e.context.name:null;if(t){if(r==i)return n.acceptToken(dO);if(i&&$O[i])return n.acceptToken(Kn,-2);if(e.dialectEnabled(vO))return n.acceptToken(hO);for(let s=e.context;s;s=s.parent)if(s.name==r)return;n.acceptToken(fO)}else{if(r=="script")return n.acceptToken(V8);if(r=="style")return n.acceptToken(Y8);if(r=="textarea")return n.acceptToken(U8);if(QO.hasOwnProperty(r))return n.acceptToken(G8);i&&j8[i]&&j8[i][r]?n.acceptToken(Kn,-1):n.acceptToken(nr)}},{contextual:!0}),XO=new f6(n=>{for(let e=0,t=0;;t++){if(n.next<0){t&&n.acceptToken(D8);break}if(n.next==qO)e++;else if(n.next==K9&&e>=2){t>=3&&n.acceptToken(D8,-2);break}else e=0;n.advance()}});function MO(n){for(;n;n=n.parent)if(n.name=="svg"||n.name=="math")return!0;return!1}var EO=new f6((n,e)=>{if(n.next==rr&&n.peek(1)==K9){let t=e.dialectEnabled(wO)||MO(e.context);n.acceptToken(t?uO:L8,2)}else n.next==K9&&n.acceptToken(L8,1)});function ir(n,e,t){let r=2+n.length;return new f6(i=>{for(let s=0,o=0,a=0;;a++){if(i.next<0){a&&i.acceptToken(e);break}if(s==0&&i.next==el||s==1&&i.next==rr||s>=2&&so?i.acceptToken(e,-o):i.acceptToken(t,-(o-2));break}else if((i.next==10||i.next==13)&&a){i.acceptToken(e,1);break}else s=o=0;i.advance()}})}var FO=ir("script",iO,sO),ZO=ir("style",oO,aO),LO=ir("textarea",lO,cO),DO=Q6({"Text RawText IncompleteTag IncompleteCloseTag":O.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":O.angleBracket,TagName:O.tagName,"MismatchedCloseTag/TagName":[O.tagName,O.invalid],AttributeName:O.attributeName,"AttributeValue UnquotedAttributeValue":O.attributeValue,Is:O.definitionOperator,"EntityReference CharacterReference":O.character,Comment:O.blockComment,ProcessingInst:O.processingInstruction,DoctypeDecl:O.documentMeta}),tl=O5.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"\u26A0 StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:_O,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[DO],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let c=a.type.id;if(c==bO)return Jn(a,l,t);if(c==xO)return Jn(a,l,r);if(c==yO)return Jn(a,l,i);if(c==H8&&s.length){let u=a.node,d=u.firstChild,h=d&&z8(d,l),p;if(h){for(let f of s)if(f.tag==h&&(!f.attrs||f.attrs(p||(p=nl(d,l))))){let m=u.lastChild,b=m.type.id==kO?m.from:u.to;if(b>d.to)return{parser:f.parser,overlay:[{from:d.to,to:b}]}}}}if(o&&c==K8){let u=a.node,d;if(d=u.firstChild){let h=o[l.read(d.from,d.to)];if(h)for(let p of h){if(p.tagName&&p.tagName!=z8(u.parent,l))continue;let f=u.lastChild;if(f.type.id==er){let m=f.from+1,b=f.lastChild,g=f.to-(b&&b.isError?0:1);if(g>m)return{parser:p.parser,overlay:[{from:m,to:g}],bracketed:!0}}else if(f.type.id==J8)return{parser:p.parser,overlay:[{from:f.from,to:f.to}]}}}}return null})}var jO=148,rl=1,BO=149,NO=150,ol=2,IO=151,WO=3,zO=4,VO=152,al=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],YO=58,UO=40,ll=95,GO=91,J9=45,HO=46,KO=35,JO=37,eb=38,tb=92,nb=10,rb=42;function Bt(n){return n>=65&&n<=90||n>=97&&n<=122||n>=161}function or(n){return n>=48&&n<=57}function il(n){return or(n)||n>=97&&n<=102||n>=65&&n<=70}var cl=(n,e,t)=>(r,i)=>{for(let s=!1,o=0,a=0;;a++){let{next:l}=r;if(Bt(l)||l==J9||l==ll||s&&or(l))!s&&(l!=J9||a>0)&&(s=!0),o===a&&l==J9&&o++,r.advance();else if(l==tb&&r.peek(1)!=nb){if(r.advance(),il(r.next)){do r.advance();while(il(r.next));r.next==32&&r.advance()}else r.next>-1&&r.advance();s=!0}else{s&&r.acceptToken(o>=2&&i.canShift(ol)?e:l==UO?t:n);break}}},ib=new f6(cl(BO,ol,NO),{contextual:!0}),sb=new f6(cl(IO,WO,zO),{contextual:!0}),ob=new f6(n=>{if(al.includes(n.peek(-1))){let{next:e}=n;(Bt(e)||e==ll||e==KO||e==HO||e==rb||e==GO||e==YO&&Bt(n.peek(1))||e==J9||e==eb)&&n.acceptToken(jO)}}),ab=new f6(n=>{if(!al.includes(n.peek(-1))){let{next:e}=n;if(e==JO&&(n.advance(),n.acceptToken(rl)),Bt(e)){do n.advance();while(Bt(n.next)||or(n.next));n.acceptToken(rl)}}});function sl(n){let e=n.length;return(e==4||e==5||e==7||e==9)&&/^#[a-f\d]+$/i.test(n)?VO:-1}var lb=Q6({"AtKeyword import charset namespace keyframes media supports font-feature-values":O.definitionKeyword,"from to selector scope MatchFlag":O.keyword,NamespaceName:O.namespace,KeyframeName:O.labelName,KeyframeRangeName:O.operatorKeyword,TagName:O.tagName,ClassName:O.className,PseudoClassName:O.constant(O.className),IdName:O.labelName,"FeatureName PropertyName":O.propertyName,AttributeName:O.attributeName,NumberLiteral:O.number,KeywordQuery:O.keyword,UnaryQueryOp:O.operatorKeyword,"CallTag ValueName FontName":O.atom,VariableName:O.variableName,Callee:O.operatorKeyword,Unit:O.unit,"UniversalSelector NestingSelector":O.definitionOperator,"MatchOp CompareOp":O.compareOperator,"ChildOp SiblingOp, LogicOp":O.logicOperator,BinOp:O.arithmeticOperator,Important:O.modifier,Comment:O.blockComment,ColorLiteral:O.color,"ParenthesizedContent StringLiteral":O.string,":":O.punctuation,PseudoOp:O.derefOperator,"; , |":O.separator,"( )":O.paren,"[ ]":O.squareBracket,"{ }":O.brace}),cb={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:88,url:158,"url-prefix":158,domain:158,regexp:158},ub={__proto__:null,or:102,and:102,not:112,only:112,layer:212},db={__proto__:null,selector:118,style:124,layer:208},hb={__proto__:null,"@import":204,"@media":216,"@charset":220,"@namespace":224,"@keyframes":230,"@supports":242,"@scope":246,"@font-feature-values":252},fb={__proto__:null,to:249},ul=O5.deserialize({version:14,states:"MrQYQdOOO$TQdOOP$[O`OOO%XQaO'#CfOOQP'#Ce'#CeO%`QdO'#CgO%eQ`O'#CgO%jQaO'#FrO&eQdO'#CkO'XQaO'#CcO'cQdO'#CnOOQP'#ES'#ESOOQP'#ER'#ERO'nQdO'#ETO'yQdO'#E[O'yQdO'#E_OOQP'#Fr'#FrO)`QhO'#FQOOQS'#Fq'#FqOOQS'#FT'#FTQYQdOOO)gQdO'#EeO*vQhO'#EkO)gQdO'#EmO*}QdO'#EoO+YQdO'#ErO*[QhO'#ExO+bQdO'#EzO+mQdO'#E}O+rQaO'#CfO+yQ`O'#EbO,OQ`O'#GPO,ZQdO'#GPQOQ`OOP,eO&jO'#CaPOOO)CAa)CAaOOQP'#Ci'#CiOOQP,59R,59RO%`QdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&eQdO,59VO,pQdO,59YOOQP,5:m,5:mO'nQdO,5:oO'yQdO,5:vO'yQdO,5:xO'yQdO,5:yO'yQdO'#F[O,{Q`O,58}O-TQdO'#EaOOQS,58},58}OOQP'#Cq'#CqOOQO'#EP'#EPOOQP,59Y,59YO-[Q`O,59YO-aQ`O,59YO-fQpO'#EUO-qQdO'#EVO-vQ`O'#EVO-{QpO,5:oO.iQaO,5:vO/PQaO,5:yOOQW'#D]'#D]O0OQhO'#DgO0cQhO,5;lO*[QhO'#DeO0pQ`O'#DnO0uQhO'#D{OOQW'#Fx'#FxOOQS,5;l,5;lO0zQ`O'#DhO1PQ`O'#DkOOQS-E9R-E9ROOQ['#Cv'#CvO1UQdO'#CwO1iQdO'#C|O1|QdO'#DPOOQ['#DQ'#DQO2aQ!pO'#DRO4jQ!jO,5;POOQO'#DW'#DWO-aQ`O'#DVO4zQ!nO'#FuO6}Q`O'#DXO7SQ`O'#D|OOQ['#Fu'#FuO7XQhO'#GSO7gQ`O,5;VO7lQ!bO,5;XOOQS'#Eq'#EqO7tQ`O,5;ZO7yQdO,5;ZOOQO'#Et'#EtO8RQ`O,5;^O8WQhO,5;dO'yQdO'#DjOOQS,5;f,5;fO0zQ`O,5;fO8`QdO,5;fOOQS'#Fc'#FcO8hQdO'#FPO7gQ`O,5;iO8pQdO,5:|O9QQdO'#F^O9_Q`O,5mQhO'#DoOOQW,5:Y,5:YOOQW,5:g,5:gOOQW,5:S,5:SO>wQhO,5:VO?cQ!fO'#FvOOQS'#Fv'#FvOOQS'#FV'#FVO@pQdO,59cOOQ[,59c,59cOATQdO,59hOOQ[,59h,59hOAhQdO,59kOOQ[,59k,59kOOQ[,59m,59mO)gQdO,59oOA{QhO'#EgOOQW'#Eg'#EgOBjQ`O1G0kO4sQhO1G0kOOQ[,59q,59qO*[QhO'#DZOOQ[,59s,59sOBoQ#tO,5:hOBzQhO'#F`OCXQ`O,5wQhO'#DmOISQhO'#DsOI[QhO'#DuOIaQ!jO'#F{OOQO'#F{'#F{OIlQ`O'#DxOItQ!bO'#DzOOQO'#Fz'#FzOIyQ`O1G/qOOQS-E9T-E9TOOQ[1G.}1G.}OOQ[1G/S1G/SOOQ[1G/V1G/VOOQ[1G/Z1G/ZOJOQdO,5;ROOQS7+&V7+&VOJTQ`O7+&VOJYQhO'#D[OJbQ`O,59uO*[QhO,59uOOQ[1G0S1G0SOJjQ`O1G0SOJoQhO,5;zOOQO-E9^-E9^OOQS7+&a7+&aOJ}QbO'#DROOQO'#Ew'#EwOK]Q`O'#EvOOQO'#Ev'#EvOKhQ`O'#FaOKpQdO,5;aOOQS,5;a,5;aOOQ[1G/p1G/pOOQS7+&l7+&lO7gQ`O7+&lOK{Q!fO'#F]O)gQdO'#F]OMSQdO7+&SOOQO7+&S7+&SOOQO,5;O,5;OOOQO1G1d1G1dOMgQ!bO<wQhO'#DtOOQO,5:_,5:_O! hQhO,5:aO! pQhO,5:fO)gQdO,5:dOOQW7+%]7+%]OOQO'#Ei'#EiO! wQ`O1G0mOOQS<{AN>{O!$RQ`OAN>{O!$WQaO,5;uOOQO-E9X-E9XO!$bQdO,5;tOOQO-E9W-E9WOOQW<wQhO'#DwOOQO1G/{1G/{O!&UQ!bO1G0QO!&^QdO1G0OOJOQdO'#F_O!&eQ`O7+&XOOQW7+&X7+&XO!&mQ!bO1G/bOOQ[7+${7+${O!&xQhO7+${P!'PQ`O'#FWOOQO,5;|,5;|OOQO-E9`-E9`OOQS1G1g1G1gOOQPG24gG24gO!'UQ`OAN>YO)gQdO1G1_O!'ZQ`O7+'nOOQO1G/z1G/zO!'cQ`O,5:cO!'hQhO7+%lOOQO,5;y,5;yOOQO-E9]-E9]OOQW<^!a!b%Z!b!c?_!c!k%Z!k!lAl!l!u%Z!u!vAl!v!}%Z!}#OA}#O#P%Z#P#QB`#Q#R/w#R#]%Z#]#^Bq#^#g%Z#g#hAl#h#o%Z#o#pGU#p#qGg#q#rHO#r#sHa#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`Hx<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!r`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$`~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$`~!r`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$uYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOv~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+maOy%jz}%j}!O,r!O!Q%j!Q![,r![!c%j!c!},r!}#O%j#O#P.O#P#R%j#R#S,r#S#T%j#T#o,r#o$g%j$g;'S,r;'S;=`/q<%lO,rj,ya$rY!r`Oy%jz}%j}!O,r!O!Q%j!Q![,r![!c%j!c!},r!}#O%j#O#P.O#P#R%j#R#S,r#S#T%j#T#o,r#o$g%j$g;'S,r;'S;=`/q<%lO,rj.TV!r`OY,rYZ%jZy,ryz.jz;'S,r;'S;=`/q<%lO,rY.oX$rY}!O.j!Q![.j!c!}.j#O#P/[#R#S.j#T#o.j$g;'S.j;'S;=`/k<%lO.jY/_SOY.jZ;'S.j;'S;=`/k<%lO.jY/nP;=`<%l.jj/tP;=`<%l,rd/zUOy%jz!_%j!_!`0^!`;'S%j;'S;=`%{<%lO%jd0eS!|S!r`Oy%jz;'S%j;'S;=`%{<%lO%jb0vS^QOy%jz;'S%j;'S;=`%{<%lO%j~1VWOY1SZw1Swx*cx#O1S#O#P1o#P;'S1S;'S;=`2k<%lO1S~1rRO;'S1S;'S;=`1{;=`O1S~2OXOY1SZw1Swx*cx#O1S#O#P1o#P;'S1S;'S;=`2k;=`<%l1S<%lO1S~2nP;=`<%l1Sj2vShYOy%jz;'S%j;'S;=`%{<%lO%j~3XOg~n3`UWQxWOy%jz!_%j!_!`0^!`;'S%j;'S;=`%{<%lO%jj3yWxW#SQOy%jz!O%j!O!P4c!P!Q%j!Q![7h![;'S%j;'S;=`%{<%lO%jj4hU!r`Oy%jz!Q%j!Q![4z![;'S%j;'S;=`%{<%lO%jj5RY!r`$kYOy%jz!Q%j!Q![4z![!g%j!g!h5q!h#X%j#X#Y5q#Y;'S%j;'S;=`%{<%lO%jj5vY!r`Oy%jz{%j{|6f|}%j}!O6f!O!Q%j!Q![6}![;'S%j;'S;=`%{<%lO%jj6kU!r`Oy%jz!Q%j!Q![6}![;'S%j;'S;=`%{<%lO%jj7UU!r`$kYOy%jz!Q%j!Q![6}![;'S%j;'S;=`%{<%lO%jj7o[!r`$kYOy%jz!O%j!O!P4z!P!Q%j!Q![7h![!g%j!g!h5q!h#X%j#X#Y5q#Y;'S%j;'S;=`%{<%lO%jj8jS!eYOy%jz;'S%j;'S;=`%{<%lO%jj8{WxWOy%jz!O%j!O!P4c!P!Q%j!Q![7h![;'S%j;'S;=`%{<%lO%jj9jU`YOy%jz!Q%j!Q![4z![;'S%j;'S;=`%{<%lO%j~:RTxWOy%jz{:b{;'S%j;'S;=`%{<%lO%j~:iS!r`$a~Oy%jz;'S%j;'S;=`%{<%lO%jj:z[$kYOy%jz!O%j!O!P4z!P!Q%j!Q![7h![!g%j!g!h5q!h#X%j#X#Y5q#Y;'S%j;'S;=`%{<%lO%jj;uUcYOy%jz![%j![!]QS!WW!|SOy%jz;'S%j;'S;=`%{<%lO%jj>eV#PQ!WWOy%jz!_%j!_!`=f!`!a>z!a;'S%j;'S;=`%{<%lO%jb?RS#PQ!r`Oy%jz;'S%j;'S;=`%{<%lO%jj?bYOy%jz}%j}!O@Q!O!c%j!c!}@o!}#T%j#T#o@o#o;'S%j;'S;=`%{<%lO%jj@VW!r`Oy%jz!c%j!c!}@o!}#T%j#T#o@o#o;'S%j;'S;=`%{<%lO%jj@v[lY!r`Oy%jz}%j}!O@o!O!Q%j!Q![@o![!c%j!c!}@o!}#T%j#T#o@o#o;'S%j;'S;=`%{<%lO%jhAqS!}WOy%jz;'S%j;'S;=`%{<%lO%jjBSSoYOy%jz;'S%j;'S;=`%{<%lO%jnBeSn^Oy%jz;'S%j;'S;=`%{<%lO%jjBvU!}WOy%jz#a%j#a#bCY#b;'S%j;'S;=`%{<%lO%jbC_U!r`Oy%jz#d%j#d#eCq#e;'S%j;'S;=`%{<%lO%jbCvU!r`Oy%jz#c%j#c#dDY#d;'S%j;'S;=`%{<%lO%jbD_U!r`Oy%jz#f%j#f#gDq#g;'S%j;'S;=`%{<%lO%jbDvU!r`Oy%jz#h%j#h#iEY#i;'S%j;'S;=`%{<%lO%jbE_U!r`Oy%jz#T%j#T#UEq#U;'S%j;'S;=`%{<%lO%jbEvU!r`Oy%jz#b%j#b#cFY#c;'S%j;'S;=`%{<%lO%jbF_U!r`Oy%jz#h%j#h#iFq#i;'S%j;'S;=`%{<%lO%jbFxS$tQ!r`Oy%jz;'S%j;'S;=`%{<%lO%jjGZSrYOy%jz;'S%j;'S;=`%{<%lO%jfGlU$gUOy%jz!_%j!_!`0^!`;'S%j;'S;=`%{<%lO%jjHTSqYOy%jz;'S%j;'S;=`%{<%lO%jfHfU#SQOy%jz!_%j!_!`0^!`;'S%j;'S;=`%{<%lO%j`H{P;=`<%l%Z",tokenizers:[ob,ab,ib,sb,1,2,3,4,new O2("m~RRYZ[z{a~~g~aO$c~~dP!P!Qg~lO$d~~",28,156)],topRules:{StyleSheet:[0,6],Styles:[1,129]},dynamicPrecedences:{97:1},specialized:[{term:172,get:(n,e)=>sl(n)<<1,external:sl},{term:150,get:n=>cb[n]||-1},{term:151,get:n=>ub[n]||-1},{term:4,get:n=>db[n]||-1},{term:28,get:n=>hb[n]||-1},{term:149,get:n=>fb[n]||-1}],tokenPrec:2433});var ar=null;function lr(){if(!ar&&typeof document=="object"&&document.body){let{style:n}=document.body,e=[],t=new Set;for(let r in n)r!="cssText"&&r!="cssFloat"&&typeof n[r]=="string"&&(/[A-Z]/.test(r)&&(r=r.replace(/[A-Z]/g,i=>"-"+i.toLowerCase())),t.has(r)||(e.push(r),t.add(r)));ar=e.sort().map(r=>({type:"property",label:r,apply:r+": "}))}return ar||[]}var dl=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(n=>({type:"class",label:n})),hl=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(n=>({type:"keyword",label:n})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(n=>({type:"constant",label:n}))),pb=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(n=>({type:"type",label:n})),mb=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(n=>({type:"keyword",label:n})),H5=/^(\w[\w-]*|-\w[\w-]*|)$/,gb=/^-(-[\w-]*)?$/;function Ob(n,e){var t;if((n.name=="("||n.type.isError)&&(n=n.parent||n),n.name!="ArgList")return!1;let r=(t=n.parent)===null||t===void 0?void 0:t.firstChild;return r?.name!="Callee"?!1:e.sliceString(r.from,r.to)=="var"}var fl=new we,bb=["Declaration"];function xb(n){for(let e=n;;){if(e.type.isTop)return e;if(!(e=e.parent))return n}}function pl(n,e,t){if(e.to-e.from>4096){let r=fl.get(e);if(r)return r;let i=[],s=new Set,o=e.cursor(V.IncludeAnonymous);if(o.firstChild())do for(let a of pl(n,o.node,t))s.has(a.label)||(s.add(a.label),i.push(a));while(o.nextSibling());return fl.set(e,i),i}else{let r=[],i=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext(bb)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let a=n.sliceString(s.from,s.to);i.has(a)||(i.add(a),r.push({label:a,type:"variable"}))}}),r}}var yb=n=>e=>{let{state:t,pos:r}=e,i=N(t).resolveInner(r,-1),s=i.type.isError&&i.from==i.to-1&&t.doc.sliceString(i.from,i.to)=="-";if(i.name=="PropertyName"||(s||i.name=="TagName")&&/^(Block|Styles)$/.test(i.resolve(i.to).name))return{from:i.from,options:lr(),validFor:H5};if(i.name=="ValueName")return{from:i.from,options:hl,validFor:H5};if(i.name=="PseudoClassName")return{from:i.from,options:dl,validFor:H5};if(n(i)||(e.explicit||s)&&Ob(i,t.doc))return{from:n(i)||s?i.from:r,options:pl(t.doc,xb(i),n),validFor:gb};if(i.name=="TagName"){for(let{parent:l}=i;l;l=l.parent)if(l.name=="Block")return{from:i.from,options:lr(),validFor:H5};return{from:i.from,options:pb,validFor:H5}}if(i.name=="AtKeyword")return{from:i.from,options:mb,validFor:H5};if(!e.explicit)return null;let o=i.resolve(r),a=o.childBefore(r);return a&&a.name==":"&&o.name=="PseudoClassSelector"?{from:r,options:dl,validFor:H5}:a&&a.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:r,options:hl,validFor:H5}:o.name=="Block"||o.name=="Styles"?{from:r,options:lr(),validFor:H5}:null},Sb=yb(n=>n.name=="VariableName"),Nt=h5.define({name:"css",parser:ul.configure({props:[J6.add({Declaration:Y5()}),W6.add({"Block KeyframeList":Pe})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function ml(){return new h6(Nt,Nt.data.of({autocomplete:Sb}))}var kb=317,vb=318,gl=1,wb=2,Qb=3,$b=4,Pb=319,Tb=321,Cb=322,qb=5,Ab=6,_b=0,ur=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Ol=125,Rb=59,dr=47,Xb=42,Mb=43,Eb=45,Fb=60,Zb=44,Lb=63,Db=46,jb=91,Bb=new b2({start:!1,shift(n,e){return e==qb||e==Ab||e==Tb?n:e==Cb},strict:!1}),Nb=new f6((n,e)=>{let{next:t}=n;(t==Ol||t==-1||e.context)&&n.acceptToken(Pb)},{contextual:!0,fallback:!0}),Ib=new f6((n,e)=>{let{next:t}=n,r;ur.indexOf(t)>-1||t==dr&&((r=n.peek(1))==dr||r==Xb)||t!=Ol&&t!=Rb&&t!=-1&&!e.context&&n.acceptToken(kb)},{contextual:!0}),Wb=new f6((n,e)=>{n.next==jb&&!e.context&&n.acceptToken(vb)},{contextual:!0}),zb=new f6((n,e)=>{let{next:t}=n;if(t==Mb||t==Eb){if(n.advance(),t==n.next){n.advance();let r=!e.context&&e.canShift(gl);n.acceptToken(r?gl:wb)}}else t==Lb&&n.peek(1)==Db&&(n.advance(),n.advance(),(n.next<48||n.next>57)&&n.acceptToken(Qb))},{contextual:!0});function cr(n,e){return n>=65&&n<=90||n>=97&&n<=122||n==95||n>=192||!e&&n>=48&&n<=57}var Vb=new f6((n,e)=>{if(n.next!=Fb||!e.dialectEnabled(_b)||(n.advance(),n.next==dr))return;let t=0;for(;ur.indexOf(n.next)>-1;)n.advance(),t++;if(cr(n.next,!0)){for(n.advance(),t++;cr(n.next,!1);)n.advance(),t++;for(;ur.indexOf(n.next)>-1;)n.advance(),t++;if(n.next==Zb)return;for(let r=0;;r++){if(r==7){if(!cr(n.next,!0))return;break}if(n.next!="extends".charCodeAt(r))break;n.advance(),t++}}n.acceptToken($b,-t)}),Yb=Q6({"get set async static":O.modifier,"for while do if else switch try catch finally return throw break continue default case defer":O.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":O.operatorKeyword,"let var const using function class extends":O.definitionKeyword,"import export from":O.moduleKeyword,"with debugger new":O.keyword,TemplateString:O.special(O.string),super:O.atom,BooleanLiteral:O.bool,this:O.self,null:O.null,Star:O.modifier,VariableName:O.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":O.function(O.variableName),VariableDefinition:O.definition(O.variableName),Label:O.labelName,PropertyName:O.propertyName,PrivatePropertyName:O.special(O.propertyName),"CallExpression/MemberExpression/PropertyName":O.function(O.propertyName),"FunctionDeclaration/VariableDefinition":O.function(O.definition(O.variableName)),"ClassDeclaration/VariableDefinition":O.definition(O.className),"NewExpression/VariableName":O.className,PropertyDefinition:O.definition(O.propertyName),PrivatePropertyDefinition:O.definition(O.special(O.propertyName)),UpdateOp:O.updateOperator,"LineComment Hashbang":O.lineComment,BlockComment:O.blockComment,Number:O.number,String:O.string,Escape:O.escape,ArithOp:O.arithmeticOperator,LogicOp:O.logicOperator,BitOp:O.bitwiseOperator,CompareOp:O.compareOperator,RegExp:O.regexp,Equals:O.definitionOperator,Arrow:O.function(O.punctuation),": Spread":O.punctuation,"( )":O.paren,"[ ]":O.squareBracket,"{ }":O.brace,"InterpolationStart InterpolationEnd":O.special(O.brace),".":O.derefOperator,", ;":O.separator,"@":O.meta,TypeName:O.typeName,TypeDefinition:O.definition(O.typeName),"type enum interface implements namespace module declare":O.definitionKeyword,"abstract global Privacy readonly override":O.modifier,"is keyof unique infer asserts":O.operatorKeyword,JSXAttributeValue:O.attributeValue,JSXText:O.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":O.angleBracket,"JSXIdentifier JSXNameSpacedName":O.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":O.attributeName,"JSXBuiltin/JSXIdentifier":O.standard(O.tagName)}),Ub={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:237,private:237,protected:237,readonly:239,instanceof:258,satisfies:261,import:294,keyof:351,unique:355,infer:361,asserts:397,is:399,abstract:419,implements:421,type:423,let:426,var:428,using:431,interface:437,enum:441,namespace:447,module:449,declare:453,global:457,defer:473,for:478,of:487,while:490,with:494,do:498,if:502,else:504,switch:508,case:514,try:520,catch:524,finally:528,return:532,throw:536,break:540,continue:544,debugger:548},Gb={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:403},Hb={__proto__:null,"<":193},bl=O5.deserialize({version:14,states:"$GSQ%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Im'#ImO1XQ`O'#GtO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JsO6[Q!0MxO'#JtO6uQ`O'#F^O6zQ,UO'#FuOOQ!0Lf'#Fg'#FgO7VO7dO'#FgO9XQMhO'#F}O9`Q`O'#F|OOQ!0Lf'#Jt'#JtOOQ!0Lb'#Js'#JsO9eQ`O'#GxOOQ['#K`'#K`O9pQ`O'#IZO9uQ!0LrO'#I[OOQ['#Ja'#JaOOQ['#I`'#I`Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GtO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EzO;hQMhO'#FfO;xQ`O'#GtOOQO'#Ka'#KaO;}Q`O'#KaO<]Q`O'#G|O<]Q`O'#G}O<]Q`O'#HPO9kQ`O'#HSO=SQ`O'#HVO>kQ`O'#CeO>{Q`O'#HdO?TQ`O'#HjO?TQ`O'#HlO`QlO'#HnO?TQ`O'#HpO?TQ`O'#HsO?YQ`O'#HyO?_Q!0LsO'#IPO%[QlO'#IRO?jQ!0LsO'#ITO?uQ!0LsO'#IVO9uQ!0LrO'#IXO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FfOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jw'#JwO%[QlO'#JwOOQO'#Jz'#JzOOQO'#Ii'#IiOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#KO'#KOOC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jy'#JyODlQpO'#JzOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CEO)CEOOOOO'#Ia'#IaOFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ib'#IbOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Id'#IdOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IeOGyQ`O'#JuOIxQ!fO'#JuO+}QlO'#JuOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KUOKPQ`O'#KTOKPQ`O'#KTOKXQ`O,5;^OK^Q`O'#KSOOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KRONtQ`O'#KQO9eQ`O'#KQO! YQ`O'#KQO! bQ`O,5;]O! gQ`O'#KQO!#lQ!fO'#JtOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#J{'#J{OOQO-EuOOQ['#Ji'#JiOOQ[,5>v,5>vOOQ[-E<^-E<^O!OO!LOQ`O,5>OO`QlO,5>UO`QlO,5>WO!LTQ`O,5>YO`QlO,5>[O!LYQ`O,5>_O!L_QlO,5>eOOQ[,5>k,5>kO%[QlO,5>kO9uQ!0LrO,5>mOOQ[,5>o,5>oO#!iQ`O,5>oOOQ[,5>q,5>qO#!iQ`O,5>qOOQ[,5>s,5>sO##VQpO'#D_O%[QlO'#JwO##aQpO'#JwO##{QpO'#DmO#$^QpO'#DmO#&oQlO'#DmO#&vQ`O'#JvO#'OQ`O,5:WO#'TQ`O'#EtO#'`Q`O'#EtO#'eQ`O'#KVO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CZQpO,5;YO!CcQMhO,5;YO:dQMhO,5;YO#(`Q`O,5@cO#(eQ07dO,5:sOOQO-EQO$6lQ`O,5>QOOQ[1G3j1G3jO`QlO1G3jOOQ[1G3p1G3pOOQ[1G3r1G3rO?TQ`O1G3tO$6qQlO1G3vO$:uQlO'#HuOOQ[1G3y1G3yO$;SQ`O'#H{O?YQ`O'#H}OOQ[1G4P1G4PO$;[QlO1G4PO9uQ!0LrO1G4VOOQ[1G4X1G4XOOQ!0Lb'#G`'#G`O9uQ!0LrO1G4ZO9uQ!0LrO1G4]O$?cQ`O,5@cO9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CZQpO,5:XO$?hQ?MtO,5:XOOQO,5;`,5;`O$?rQpO'#IfO$@YQ`O,5@bOOQ!0Lf1G/r1G/rO!)[QlO,5;`O$@bQpO'#IlO$@lQ`O,5@qOOQ!0Lb1G0y1G0yO#$^QpO,5:XOOQO'#Ih'#IhO$@tQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CZQpO1G0tO!CcQMhO1G0tOOQ!0Lb1G5}1G5}O!COQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@{Q!0LrO1G0mO$AWQ!0LrO1G0mO!CZQpO1G0^ODWQpO1G0^O$AfQ!0LrO1G0mOOQO1G0^1G0^O$AzQ!0MxO1G0mPOOO-E<]-E<]POOO1G.h1G.hOOOO1G/i1G/iO$BUQ!bO,5WQ`O,5AOO%>`QpO,5AOOOQ!0Lb1G3d1G3dOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>kQ`O7+$VO%[QlO1G6mO%[QlO1G6nO%>pQ!0LrO1G6mO%>zQlO1G3lO%?RQ`O1G3lO%?WQlO1G3lOOQ[7+)U7+)UO9uQ!0LrO7+)`O`QlO7+)bOOQ['#Ki'#KiOOQ['#JT'#JTO%?_QlO,5>aOOQ[,5>a,5>aO%[QlO'#HvO%?lQ`O'#HxOOQ[,5>g,5>gO9eQ`O,5>gOOQ[,5>i,5>iOOQ[7+)k7+)kOOQ[7+)q7+)qOOQ[7+)u7+)uOOQ[7+)w7+)wO%?qQpO1G5}O%@]Q`O1G0zOOQO1G/s1G/sO%@hQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?Q,5?QOOQO-EXQ`O1G6jO9uQ!0LrO<aQ`O7+,XO&>fQ`O7+,YO%[QlO7+,XO%[QlO7+,YOOQ[7+)W7+)WO&>kQ`O7+)WO&>pQlO7+)WO&>wQ`O7+)WOOQ[<|Q`O,5>bOOQ[,5>d,5>dO&?RQ`O1G4RO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&?WQ?MtO1G6[O?YQ`O7+%_OOQ!0Lf<WO!l$xO#k<{O$X%`O$uSOe!iOpkOrQO(U)^O(WTO(ZUO(bVO(p[O~O!]$_Oa$ra'{$ra'x$ra!k$ra!Y$ra!_$ra%j$ra!g$ra~Ol)eO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#k%cO$X%`O$u%^O$w%_O$z%aO(U(wO(WTO(ZUO(b$uO(z$}O({%PO~Og(qP~P!,TO!Q)jO!g)iO!_$_X$[$_X$^$_X$`$_X$g$_X~O!g)iO!_(|X$[(|X$^(|X$`(|X$g(|X~O!Q)jO~P!.^O!Q)jO!_(|X$[(|X$^(|X$`(|X$g(|X~O!_)lO$[)pO$^)kO$`)kO$g)qO~O![)tO~P!)[O$^$hO$`$gO$g)xO~On${X!Q${X#S${X'z${X(z${X({${X~OgmXg${XnmX!]mX#`mX~P!0SOx)zO(c){O(d)}O~On*WO!Q*PO'z*QO(z$}O({%PO~Og*OO~P!1WOg*XO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OWO!l$xO#k<{O$X%`O$uWO!l$xO#k<{O$X%`O$uSOe!iOpkOrQO(WTO(ZUO(bVO(p[O~O(U=RO~P#$oO!]-^O!^(jX~O!^-`O~O#`-aO!]#hX!^#hX~O!g-WO~O!]-bO!^(yX~O!^-dO~O!c-eO!d-eO(V!lO~P#$^O!^-hO~P'_On-kO!_'aO~O!Y-pO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(V!{a(W!{a(Z!{a(f!{a(p!{a~P!#vO!p-uO#`-sO~PChO!c-wO!d-wO(V!lO~PDWOa%nO#`-sO'{%nO~Oa%nO!g#vO#`-sO'{%nO~Oa%nO!g#vO!p-uO#`-sO'{%nO(s'qO~O(Q'yO(R'yO(S-|O~Ov-}O~O!Y'Xa!]'Xa~P!:tO![.RO!Y'XX!]'XX~P%[O!](WO!Y(ia~O!Y(ia~PHRO!](_O!Y(wa~O!S%hO![.VO!_%iO(U%gO!Y'_X!]'_X~O#`.XO!](ua!k(uaa(ua'{(ua~O!g#vO~P#,wO!](kO!k(ta~O!S%hO!_%iO#k.]O(U%gO~Op.bO!S%hO![._O!_%iO!|]O#j.aO#k._O(U%gO!]'bX!k'bX~OR.fO!l#xO~Oh%VOn.iO!_'aO%j.hO~Oa#ci!]#ci'{#ci'x#ci!Y#ci!k#civ#ci!_#ci%j#ci!g#ci~P!:tOn>^O!Q*PO'z*QO(z$}O({%PO~O#l#_aa#_a#`#_a'{#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#l(aXP(aXR(aX[(aXa(aXj(aXr(aX!S(aX!l(aX!p(aX#R(aX#o(aX#p(aX#q(aX#r(aX#s(aX#t(aX#u(aX#v(aX#w(aX#y(aX#{(aX#|(aX'{(aX(b(aX(s(aX!k(aX!Y(aX'x(aXv(aX!_(aX%j(aX!g(aX~P!6kO!].vO!k(lX~P!:tO!k.yO~O!Y.{O~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(bVO[#nia#nij#nir#ni!]#ni#R#ni#p#ni#q#ni#r#ni#s#ni#t#ni#u#ni#v#ni#w#ni#y#ni#{#ni#|#ni'{#ni(s#ni(z#ni({#ni'x#ni!Y#ni!k#niv#ni!_#ni%j#ni!g#ni~O#o#ni~P#3cO#o$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#o$OO#p$PO#q$PO#r$PO(bVO[#nia#nij#ni!]#ni#R#ni#t#ni#u#ni#v#ni#w#ni#y#ni#{#ni#|#ni'{#ni(s#ni(z#ni({#ni'x#ni!Y#ni!k#niv#ni!_#ni%j#ni!g#ni~O#s#ni~P#6QO#s$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#o$OO#p$PO#q$PO#r$PO#s$QO#t$RO#u$RO#v$bO(bVOa#ni!]#ni#y#ni#{#ni#|#ni'{#ni(s#ni(z#ni({#ni'x#ni!Y#ni!k#niv#ni!_#ni%j#ni!g#ni~O#w#ni~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#o$OO#p$PO#q$PO#r$PO#s$QO#t$RO#u$RO#v$bO#w$SO(bVO({#}Oa#ni!]#ni#{#ni#|#ni'{#ni(s#ni(z#ni'x#ni!Y#ni!k#niv#ni!_#ni%j#ni!g#ni~O#y$UO~P#;VO#y#ni~P#;VO#w$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#o$OO#p$PO#q$PO#r$PO#s$QO#t$RO#u$RO#v$bO#w$SO#y$UO(bVO(z#|O({#}Oa#ni!]#ni#|#ni'{#ni(s#ni'x#ni!Y#ni!k#niv#ni!_#ni%j#ni!g#ni~O#{#ni~P#={O#{$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#lfX#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#w]X#y]X#{]X#|]X$R]X(b]X(s]X(z]X({]X!]]X!^]X~O$P]X~P#@jOP$[OR#zO[^O!Q*PO'z*QO(z$}O({%POP#niR#ni!S#ni!l#ni!p#ni#o#ni#p#ni#q#ni#r#ni(b#ni~P#EyO!]/ROg(qX~P!1WOg/TO~Oa$Qi!]$Qi'{$Qi'x$Qi!Y$Qi!k$Qiv$Qi!_$Qi%j$Qi!g$Qi~P!:tO$^/UO$`/UO~O$^/VO$`/VO~O!g)iO#`/WO!_$dX$[$dX$^$dX$`$dX$g$dX~O![/XO~O!_)lO$[/ZO$^)kO$`)kO$g/[O~O!]WO!l$xO#k<{O$X%`O$u_O!Q*PO'z*QO(z$}O({%POP#niR#ni!S#ni!l#ni!p#ni#o#ni#p#ni#q#ni#r#ni(b#ni~P&,`O#S$dOP(aXR(aX[(aXj(aXn(aXr(aX!Q(aX!S(aX!l(aX!p(aX#R(aX#o(aX#p(aX#q(aX#r(aX#s(aX#t(aX#u(aX#v(aX#w(aX#y(aX#{(aX#|(aX$P(aX'z(aX(b(aX(s(aX(z(aX({(aX!](aX!^(aX~O$P$Qi!]$Qi!^$Qi~P#BwO$P!ri!^!ri~P$+}Og'^a!]'^a~P!1WO!^7pO~O!]'ea!^'ea~P#BwO!Y7qO~P#/sO!g#vO(s'qO!]'fa!k'fa~O!]/rO!k)Pi~O!]/rO!g#vO!k)Pi~Og$}q!]$}q#`$}q$P$}q~P!1WO!Y'ha!]'ha~P#/sO!g7xO~O!]/{O!Y)Qi~P#/sO!]/{O!Y)Qi~O!Y7{O~Oh%VOr8QO!l%eO(s'qO~Oj8SO!g#vO~Or8VO!g#vO(s'qO~O!Q*PO'z*QO({%POn'ka(z'ka!]'ka#`'ka~Og'ka$P'ka~P&5aO!Q*PO'z*QOn'ma(z'ma({'ma!]'ma#`'ma~Og'ma$P'ma~P&6SOg(`q!](`q~P!1WO#`8XOg(`q!](`q~P!1WO!Y8YO~Og%Pq!]%Pq#`%Pq$P%Pq~P!1WOa$py!]$py'{$py'x$py!Y$py!k$pyv$py!_$py%j$py!g$py~P!:tO!g6tO~O!]5^O!_)Ra~O!_'aOP$UaR$Ua[$Uaj$Uar$Ua!Q$Ua!S$Ua!]$Ua!l$Ua!p$Ua#R$Ua#o$Ua#p$Ua#q$Ua#r$Ua#s$Ua#t$Ua#u$Ua#v$Ua#w$Ua#y$Ua#{$Ua#|$Ua(b$Ua(s$Ua(z$Ua({$Ua~O%j7YO~P&8tO%_8^Oa%]i!_%]i'{%]i!]%]i~Oa#cy!]#cy'{#cy'x#cy!Y#cy!k#cyv#cy!_#cy%j#cy!g#cy~P!:tO[8`O~Ob8bO(U+sO(WTO(ZUO~O!]1VO!^)Yi~O`8fO~O(f(}O!]'qX!^'qX~O!]5wO!^)Va~O!^8pO~P%;sO(p!sO~P$&YO#[8qO~O!_1qO~O!_1qO%j8sO~On8vO!_1qO%j8sO~O[8{O!]'ta!^'ta~O!]1|O!^)Wi~O!k9PO~O!k9QO~O!k9TO~O!k9TO~P%[Oa9VO~O!g9WO~O!k9XO~O!](xi!^(xi~P#BwOa%nO#`9aO'{%nO~O!](uy!k(uya(uy'{(uy~P!:tO!](kO!k(ty~O%j9dO~P&8tO!_'aO%j9dO~O#l$}qP$}qR$}q[$}qa$}qj$}qr$}q!S$}q!]$}q!l$}q!p$}q#R$}q#o$}q#p$}q#q$}q#r$}q#s$}q#t$}q#u$}q#v$}q#w$}q#y$}q#{$}q#|$}q'{$}q(b$}q(s$}q!k$}q!Y$}q'x$}q#`$}qv$}q!_$}q%j$}q!g$}q~P#/sO#l'kaP'kaR'ka['kaa'kaj'kar'ka!S'ka!l'ka!p'ka#R'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#w'ka#y'ka#{'ka#|'ka'{'ka(b'ka(s'ka!k'ka!Y'ka'x'kav'ka!_'ka%j'ka!g'ka~P&5aO#l'maP'maR'ma['maa'maj'mar'ma!S'ma!l'ma!p'ma#R'ma#o'ma#p'ma#q'ma#r'ma#s'ma#t'ma#u'ma#v'ma#w'ma#y'ma#{'ma#|'ma'{'ma(b'ma(s'ma!k'ma!Y'ma'x'mav'ma!_'ma%j'ma!g'ma~P&6SO#l%PqP%PqR%Pq[%Pqa%Pqj%Pqr%Pq!S%Pq!]%Pq!l%Pq!p%Pq#R%Pq#o%Pq#p%Pq#q%Pq#r%Pq#s%Pq#t%Pq#u%Pq#v%Pq#w%Pq#y%Pq#{%Pq#|%Pq'{%Pq(b%Pq(s%Pq!k%Pq!Y%Pq'x%Pq#`%Pqv%Pq!_%Pq%j%Pq!g%Pq~P#/sO!]'Zi!k'Zi~P!:tO$P#cq!]#cq!^#cq~P#BwO(z$}OP%baR%ba[%baj%bar%ba!S%ba!l%ba!p%ba#R%ba#o%ba#p%ba#q%ba#r%ba#s%ba#t%ba#u%ba#v%ba#w%ba#y%ba#{%ba#|%ba$P%ba(b%ba(s%ba!]%ba!^%ba~On%ba!Q%ba'z%ba({%ba~P&JXO({%POP%daR%da[%daj%dar%da!S%da!l%da!p%da#R%da#o%da#p%da#q%da#r%da#s%da#t%da#u%da#v%da#w%da#y%da#{%da#|%da$P%da(b%da(s%da!]%da!^%da~On%da!Q%da'z%da(z%da~P&L`On>_O!Q*PO'z*QO({%PO~P&JXOn>_O!Q*PO'z*QO(z$}O~P&L`OR0mO!Q0mO!S0nO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#w}a#y}a#{}a#|}a$P}a'z}a(b}a(s}a(z}a({}a!]}a!^}a~O!Q*PO'z*QOP$taR$ta[$taj$tan$tar$ta!S$ta!l$ta!p$ta#R$ta#o$ta#p$ta#q$ta#r$ta#s$ta#t$ta#u$ta#v$ta#w$ta#y$ta#{$ta#|$ta$P$ta(b$ta(s$ta(z$ta({$ta!]$ta!^$ta~O!Q*PO'z*QOP$vaR$va[$vaj$van$var$va!S$va!l$va!p$va#R$va#o$va#p$va#q$va#r$va#s$va#t$va#u$va#v$va#w$va#y$va#{$va#|$va$P$va(b$va(s$va(z$va({$va!]$va!^$va~On>_O!Q*PO'z*QO(z$}O({%PO~OP%UaR%Ua[%Uaj%Uar%Ua!S%Ua!l%Ua!p%Ua#R%Ua#o%Ua#p%Ua#q%Ua#r%Ua#s%Ua#t%Ua#u%Ua#v%Ua#w%Ua#y%Ua#{%Ua#|%Ua$P%Ua(b%Ua(s%Ua!]%Ua!^%Ua~P''eO$P$nq!]$nq!^$nq~P#BwO$P$pq!]$pq!^$pq~P#BwO!^9qO~O$P9rO~P!1WO!g#vO!]'fi!k'fi~O!g#vO(s'qO!]'fi!k'fi~O!]/rO!k)Pq~O!Y'hi!]'hi~P#/sO!]/{O!Y)Qq~Or9yO!g#vO(s'qO~O[9{O!Y9zO~P#/sO!Y9zO~Oj:RO!g#vO~Og(`y!](`y~P!1WO!]'oa!_'oa~P#/sOa%]q!_%]q'{%]q!]%]q~P#/sO[:WO~O!]1VO!^)Yq~O`:[O~O#`:]O!]'qa!^'qa~O!]5wO!^)Vi~P#BwO!S:_O~O!_1qO%j:bO~O(WTO(ZUO(f:gO~O!]1|O!^)Wq~O!k:jO~O!k:kO~O!k:lO~O!k:lO~P%[O#`:oO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%j:tO~P&8tO!_'aO%j:tO~O$P#}y!]#}y!^#}y~P#BwOP$}iR$}i[$}ij$}ir$}i!S$}i!l$}i!p$}i#R$}i#o$}i#p$}i#q$}i#r$}i#s$}i#t$}i#u$}i#v$}i#w$}i#y$}i#{$}i#|$}i$P$}i(b$}i(s$}i!]$}i!^$}i~P''eO!Q*PO'z*QO({%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#w'ja#y'ja#{'ja#|'ja$P'ja(b'ja(s'ja(z'ja!]'ja!^'ja~O!Q*PO'z*QOP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#w'la#y'la#{'la#|'la$P'la(b'la(s'la(z'la({'la!]'la!^'la~O(z$}OP%biR%bi[%bij%bin%bir%bi!Q%bi!S%bi!l%bi!p%bi#R%bi#o%bi#p%bi#q%bi#r%bi#s%bi#t%bi#u%bi#v%bi#w%bi#y%bi#{%bi#|%bi$P%bi'z%bi(b%bi(s%bi({%bi!]%bi!^%bi~O({%POP%diR%di[%dij%din%dir%di!Q%di!S%di!l%di!p%di#R%di#o%di#p%di#q%di#r%di#s%di#t%di#u%di#v%di#w%di#y%di#{%di#|%di$P%di'z%di(b%di(s%di(z%di!]%di!^%di~O$P$py!]$py!^$py~P#BwO$P#cy!]#cy!^#cy~P#BwO!g#vO!]'fq!k'fq~O!]/rO!k)Py~O!Y'hq!]'hq~P#/sOr;OO!g#vO(s'qO~O[;SO!Y;RO~P#/sO!Y;RO~Og(`!R!](`!R~P!1WOa%]y!_%]y'{%]y!]%]y~P#/sO!]1VO!^)Yy~O!]5wO!^)Vq~O(U;ZO~O!_1qO%j;^O~O!k;aO~O%j;fO~P&8tOP$}qR$}q[$}qj$}qr$}q!S$}q!l$}q!p$}q#R$}q#o$}q#p$}q#q$}q#r$}q#s$}q#t$}q#u$}q#v$}q#w$}q#y$}q#{$}q#|$}q$P$}q(b$}q(s$}q!]$}q!^$}q~P''eO!Q*PO'z*QO({%POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#w'ka#y'ka#{'ka#|'ka$P'ka(b'ka(s'ka(z'ka!]'ka!^'ka~O!Q*PO'z*QOP'maR'ma['maj'man'mar'ma!S'ma!l'ma!p'ma#R'ma#o'ma#p'ma#q'ma#r'ma#s'ma#t'ma#u'ma#v'ma#w'ma#y'ma#{'ma#|'ma$P'ma(b'ma(s'ma(z'ma({'ma!]'ma!^'ma~OP%PqR%Pq[%Pqj%Pqr%Pq!S%Pq!l%Pq!p%Pq#R%Pq#o%Pq#p%Pq#q%Pq#r%Pq#s%Pq#t%Pq#u%Pq#v%Pq#w%Pq#y%Pq#{%Pq#|%Pq$P%Pq(b%Pq(s%Pq!]%Pq!^%Pq~P''eOg%f!Z!]%f!Z#`%f!Z$P%f!Z~P!1WO!Y;jO~P#/sOr;kO!g#vO(s'qO~O[;mO!Y;jO~P#/sO!]'qq!^'qq~P#BwO!]#h!Z!^#h!Z~P#BwO#l%f!ZP%f!ZR%f!Z[%f!Za%f!Zj%f!Zr%f!Z!S%f!Z!]%f!Z!l%f!Z!p%f!Z#R%f!Z#o%f!Z#p%f!Z#q%f!Z#r%f!Z#s%f!Z#t%f!Z#u%f!Z#v%f!Z#w%f!Z#y%f!Z#{%f!Z#|%f!Z'{%f!Z(b%f!Z(s%f!Z!k%f!Z!Y%f!Z'x%f!Z#`%f!Zv%f!Z!_%f!Z%j%f!Z!g%f!Z~P#/sOr;vO!g#vO(s'qO~O!Y;wO~P#/sOrSOe!iOpkOrQO(U)^O(WTO(ZUO(bVO(p[O~O!]XO!l$xO#k<|O$X%`O$uf!>nPPP!>tIZPPPPPPPPP!BTP!CbPPIZ!DsPIZPIZIZIZIZIZPIZ!FVP!IaP!LgP!Lk!Lu!Ly!LyP!I^P!L}!L}P#!TP#!XIZPIZ#!_#%dCiA]PA]PA]A]P#&qA]A]#)TA]#+{A]#.XA]A]#.w#1]#1]#1b#1k#1]#1vPP#1]PA]#2`A]#6_A]A]6lPPP#:dPPP#:}#:}P#:}P#;e#:}PP#;kP#;bP#;b#O#>U#>[#>b#>p#>v#?Q#?W#?b#?h#?x#@O#@p#AS#AY#A`#An#BT#Cx#DW#D_#Ey#FX#Gy#HX#H_#He#Hk#Hu#H{#IR#I]#Io#IuPPPPPPPPPPP#I{PPPPPPP#Jp#M}$ g$ n$ vPPP$'bP$'k$*d$0}$1Q$1T$2S$2V$2^$2fP$2l$2oP$3]$3a$4X$5g$5l$6SPP$6X$6_$6c$6f$6j$6n$7j$8R$8j$8n$8q$8t$9O$9R$9V$9ZR!|RoqOXst!Z#d%m&r&t&u&w,u,z2^2aY!vQ'a-g1q5}Q%tvQ%|yQ&T|Q&j!VS'W!e-^Q'g!iS'm!r!yU*l$|*[*pQ+q%}S,O&V&WQ,f&dQ-e'`Q-o'hQ-w'nQ0^*rQ1d,QQ1{,gR<}<[%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'c's(U(W(^(e(y({)P*O*j+Y+_,r,u,z-k-s.R.X.v.}/p0_0n0t1U1t2U2V2X2Z2^2a2c3S3Y3n4|6V6g6h6k7O8v9V9aS#q]TU+Q%]T!S!nQ!r!v!y!z$|'W'`'a'm'n'o*l*p*r*s-^-e-g-w0^0a1q5}6P%[$ti#v$b$c$d$x${%O%Q%^%_%c)z*S*U*W*Z*b*h*x*y+h+k,U,X.h/R/f/o/z/{/}0b0d0k0l0q1h1k1s3e4`4a4l4q5S5^5a6U7Y7x8S8X8^8s9d9r9{:R:b:t;S;^;f;mQ>Y>Z>^>_Q&X|S'U!e*[S']%i-bQ+v&PQ,R&WQ,h&gQ0p+TQ1[+wQ1a+}Q2S,lQ2T,mQ5h1VQ5q1cQ6^1|Q6a2OQ6b2RQ8b5iQ8e5nQ9O6dQ:Z8fQ:h8{R;X:[rnOXst!V!Z#d%m&i&r&t&u&w,u,z2^2aR,j&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'c's(W(^(e(y({)P)t*O*j+Y+_+i,r,u,z-Y-a-k-s.R.X.i.v.}/X/p0_0n0t1U1t2U2V2X2Z2^2a2c2q3S3Y3f3n4V4|5y6V6g6h6k6u7O7^8v9V9a:]:oS>T[#]WZ#W#Z'X(U!b%jm#h#i#l$x%e%h(_(i(j(k*Z*_*c+[+^+`,q-W.V.].^._.a/o/r2f3^3_4c6t7VQ%wxQ%{yW&Q|&V&W,QQ&_!TQ'd!hQ'f!iQ(r#sS+p%|%}Q+t&PQ,a&bQ,e&dS-n'g'hQ.k(sQ1T+qQ1Z+wQ1]+xQ1`+|Q1v,bS1z,f,gQ3O-oQ5g1VQ5k1YQ5p1bQ6]1{Q8a5iQ8d5mQ8h5rQ:V8`R;V:W!U$zi$d%O%Q%^%_%c*S*U*b*x*y/R/z0b0d0k0l0q4a5S8X9r>Q>Y>Z!^%yy!i!u%{%|%}'V'f'g'h'l'v*k+p+q-Z-n-o-v0T0W1T2w3O3V4t4u4x8P9}Q+j%wQ,V&[Q,Y&]Q,d&dQ.j(rQ1u,aU1y,e,f,gQ3g.kQ6W1vS6[1z1{Q8z6]#f>U#v$b$c$x${)z*W*Z*h+h+k,U,X.h/f/o/{/}1h1k1s3e4`4l4q5^5a6U7Y7x8S8^8s9d9{:R:b:t;S;^;f;m^>_o>VQS&[!Q&iQ&]!RQ&^!SU+O%[%d=tR,T&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)z*S*U*W*Z*b*h*x*y+h+k,U,X.h/R/f/o/z/{/}0b0d0k0l0q1h1k1s3e4`4a4l4q5S5^5a6U7Y7x8S8X8^8s9d9r9{:R:b:t;S;^;f;mQ>Y>Z>^>_T){$u)|V+Q%]T$i$^c#Y#e%q%s%u(T(Z(u(z)S)T)U)V)W)X)Y)Z)[)])_)a)c)h)r+f+z-[-z.P.U.W.u.x.|/O/P/Q/d0r2o2t3Q3X3m3r3s3t3u3v3w3x3y3z3{3|3}4O4R4S4Z5Z5e6w6}7S7c7d7m7n8m9Z9_9i9o9p:q;Y;bTQ'Y!eR2r-^!W!nQ!e!r!v!y!z$|'W'`'a'm'n'o*[*l*p*r*s-^-e-g-w0^0a1q5}6PR1n,]nqOXst!Z#d%m&r&t&u&w,u,z2^2aQ&y!^Q'w!xS(t#u<`Q+n%zQ,_&_Q,`&aQ-l'eQ-y'pS.t(y=QS0s+Y=[Q1R+oQ1p,^Q2e,|Q2g,}Q2n-XQ2|-mQ3P-qS5[0t=fQ5c1SS5f1U=gQ6v2pQ6z2}Q7P3UQ8_5dQ9[6xQ9]6{Q9`7QR:n9X$d$]c#Y#e%s%u(T(Z(u(z)S)T)U)V)W)X)Y)Z)[)])_)a)c)h)r+f+z-[-z.P.U.W.u.x.|/P/Q/d0r2o2t3Q3X3m3r3s3t3u3v3w3x3y3z3{3|3}4O4R4S4Z5Z5e6w6}7S7c7d7m7n8m9Z9_9i9o9p:q;Y;bTS#q]TU$fd)`,oS(q#p'jU*w%R(x4QU0o+P.p7iQ5`0zQ7X3bQ9f7[R:u9gm!tQ!r!v!y!z'a'm'n'o-g-w1q5}6PQ'u!uS(g#g2WS-u'l'xQ/u*^Q0T*kQ3W-xQ4h/vQ4t0VQ4u0WQ4z0`Q7t4bS8P4v4xS8T4{4}Q9t7uQ9x7{Q9}8QQ:S8VS:}9y9zS;i;O;RS;u;j;kS;};v;wSTR=p>S%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'c's(U(W(^(e(y({)P*O*j+Y+_+i,r,u,z-k-s.R.X.i.v.}/p0_0n0t1U1t2U2V2X2Z2^2a2c3S3Y3f3n4|6V6g6h6k7O7^8v9V9aQ%fj!^%xy!i!u%{%|%}'V'f'g'h'l'v*k+p+q-Z-n-o-v0T0W1T2w3O3V4t4u4x8P9}S&Oz!jQ+m%yQ,c&dW1x,d,e,f,gU6Z1y1z1{S8y6[6]Q:f8z!r=k$Z$n'X)t-Y-a/X2q4V5y6u:]:oTQ=u>RR=v>S%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'c's(W(^(e(y({)P*O*j+Y+_+i,r,u,z-k-s.R.X.i.v.}/p0_0n0t1U1t2U2V2X2Z2^2a2c3S3Y3f3n4|6V6g6h6k7O7^8v9V9aY#bWZ#W#Z(U!b%jm#h#i#l$x%e%h(_(i(j(k*Z*_*c+[+^+`,q-W.V.].^._.a/o/r2f3^3_4c6t7VQ,p&o!p=l$Z$n)t-Y-a/X2q4V5y6u:]:oTR=o'XU'^!e%i*[R2u-bX'[!e%i*[-b%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'c's(U(W(^(e(y({)P*O*j+Y+_,r,u,z-k-s.R.X.v.}/p0_0n0t1U1t2U2V2X2Z2^2a2c3S3Y3n4|6V6g6h6k7O8v9V9a!r)`$Z$n'X)t-Y-a/X2q4V5y6u:]:oTQ,o&oQ0z+iQ3b.iQ7[3fR9g7^!b$Tc#Y%q(T(Z(u(z)[)])a)h+z-z.P.U.W.u.x/d0r3Q3X3m3}5Z5e6}7S7c9_:qT)_)r-[/O2o2t3r4R4Z6w7d7m7n8m9Z9i9o9p;Y;b=wQ>Y>[R>Z>]'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'c's(U(W(^(e(y({)P)t*O*j+Y+_+i,r,u,z-Y-a-k-s.R.X.i.v.}/X/p0_0n0t1U1t2U2V2X2Z2^2a2c2q3S3Y3f3n4V4|5y6V6g6h6k6u7O7^8v9V9a:]:oTS$oh$pR4W/W'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'c's(U(W(^(e(y({)P)t*O*j+Y+_+i,r,u,z-Y-a-k-s.R.X.i.v.}/W/X/p0_0n0t1U1t2U2V2X2Z2^2a2c2q3S3Y3f3n4V4|5y6V6g6h6k6u7O7^8v9V9a:]:oTT$kf$qQ$ifS)k$l)oR)w$qT$jf$qT)m$l)o'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'c's(U(W(^(e(y({)P)t*O*j+Y+_+i,r,u,z-Y-a-k-s.R.X.i.v.}/W/X/p0_0n0t1U1t2U2V2X2Z2^2a2c2q3S3Y3f3n4V4|5y6V6g6h6k6u7O7^8v9V9a:]:oTT$oh$pQ$rhR)v$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'c's(U(W(^(e(y({)P*O*j+Y+_+i,r,u,z-k-s.R.X.i.v.}/p0_0n0t1U1t2U2V2X2Z2^2a2c3S3Y3f3n4|6V6g6h6k7O7^8v9V9a!s>R$Z$n'X)t-Y-a/X2q4V5y6u:]:oT#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'c)P)t*j+_+i,r,u,z-k.i/X/p0_0n1t2U2V2X2Z2^2a2c3f4V4|6V6g6h6k7^8v9V!U%Ri$d%O%Q%^%_%c*S*U*b*x*y/R/z0b0d0k0l0q4a5S8X9r>Q>Y>Z#f(x#v$b$c$x${)z*W*Z*h+h+k,U,X.h/f/o/{/}1h1k1s3e4`4l4q5^5a6U7Y7x8S8^8s9d9{:R:b:t;S;^;f;m^>_Q+U%aQ/e*Po4QQ>Y>ZQ*d$zU*m$|*[*pQ+V%bQ0Y*n#f=r#v$b$c$x${)z*W*Z*h+h+k,U,X.h/f/o/{/}1h1k1s3e4`4l4q5^5a6U7Y7x8S8^8s9d9{:R:b:t;S;^;f;m^>_n=sUQ=y>VQ=z>WR={>X!U%Ri$d%O%Q%^%_%c*S*U*b*x*y/R/z0b0d0k0l0q4a5S8X9r>Q>Y>Z#f(x#v$b$c$x${)z*W*Z*h+h+k,U,X.h/f/o/{/}1h1k1s3e4`4l4q5^5a6U7Y7x8S8^8s9d9{:R:b:t;S;^;f;m^>_o4QQ>Y>Z>^>_Q,W&]Q1j,YQ5u1iR8j5vV*o$|*[*pU*o$|*[*pT5|1q5}S0R*j/pQ4y0_T8U4|:_Q+l%xQ0X*mQ1Q+mQ1w,cQ6Y1xQ8x6ZQ:e8yR;`:f!U%Oi$d%O%Q%^%_%c*S*U*b*x*y/R/z0b0d0k0l0q4a5S8X9r>Q>Y>Zx*S$v)f*T*v+W/x0f0g4T4i5T5U5Y7r8W:T:z=q>O>PS0b*u0c#f^>_n[>]`=U4P7e7h7l9j:v:y;{S=`.n3kT=a7g9m!U%Qi$d%O%Q%^%_%c*S*U*b*x*y/R/z0b0d0k0l0q4a5S8X9r>Q>Y>Z|*U$v)f*V*u+W/i/x0f0g4T4i5O5T5U5Y7r8W:T:z=q>O>PS0d*v0e#f^>_n[>]d=W4P7f7g7l9j9k:v:w:y;{S=b.o3lT=c7h9nrnOXst!V!Z#d%m&i&r&t&u&w,u,z2^2aQ&f!UR,r&ornOXst!V!Z#d%m&i&r&t&u&w,u,z2^2aR&f!UQ,[&^R1f,TsnOXst!V!Z#d%m&i&r&t&u&w,u,z2^2aQ1r,aS6T1u1vU8r6R6S6WS:a8t8uS;[:`:cQ;o;]R;y;pQ&m!VR,k&iR6a2OR:h8{W&Q|&V&W,QR1]+xQ&r!WR,u&sR,{&xT2_,z2aR-P&yQ-O&yR2h-PQ'z!{R-{'zSsOtQ#dXT%ps#dQ#OTR'|#OQ#RUR(O#RQ)|$uR/b)|Q#UVR(R#UQ#XWU(X#X(Y.SQ(Y#YR.S(ZQ-_'YR2s-_Q.w(zS3o.w3pR3p.xQ-g'aR2x-gY!rQ'a-g1q5}R'k!rQ/S)fR4U/SU#_W%h*ZU(`#_(a.TQ(a#`R.T([Q-c'^R2v-ct`OXst!V!Z#d%m&i&k&r&t&u&w,u,z2^2aS#hZ%eU#r`#h.^R.^(kQ(l#jQ.Z(hW.c(l.Z3Z7TQ3Z.[R7T3[Q)o$lR/Y)oQ$phR)u$pQ$`cU)b$`.OO>P>[>]Q/|*fU4m/|4o7zQ4o0OR7z4nS*p$|*[R0[*px*T$v)f*u*v+W/x0f0g4T4i5T5U5Y7r8W:T:z=q>O>P!d.l(v)d*]*f.n.o.s/a/m0O0x1g3j4^4j4n5t7_7b7y7|8Z8]9v:O:U;P;T;g;l;x>[>]U/j*T.l7ea7e4P7g7h7l9j:v:y;{Q0c*uQ3k.nU5P0c3k9mR9m7g|*V$v)f*u*v+W/i/x0f0g4T4i5O5T5U5Y7r8W:T:z=q>O>P!h.m(v)d*]*f.n.o.s/a/m0O0x1g3h3j4^4j4n5t7_7`7b7y7|8Z8]9v:O:U;P;T;g;l;x>[>]U/l*V.m7fe7f4P7g7h7l9j9k:v:w:y;{Q0e*vQ3l.oU5R0e3l9nR9n7hQ*{%UR0i*{Q5_0xR8[5_Q+a%kR0w+aQ5x1lS8l5x:^R:^8mQ,^&_R1o,^Q5}1qR8o5}Q1},hS6_1}8|R8|6aQ1W+tW5j1W5l8c:XQ5l1ZQ8c5kR:X8dQ+y&QR1^+yQ2a,zR6o2aYrOXst#dQ&v!ZQ+c%mQ,t&rQ,v&tQ,w&uQ,y&wQ2[,uS2_,z2aR6n2^Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'r!uQ+b%lQ+n%zQ,S&XQ,j&mQ-R&|W-r'l't'u'xQ-y'pQ0Z*oQ1R+oQ1e,RS2Q,k,nQ2i-QQ2j-TQ2k-UQ3P-qW3R-t-u-x-zQ5c1SQ5o1aQ5s1gQ6X1wQ6c2SQ6m2]U6|3Q3T3WQ7P3UQ8_5dQ8g5qQ8i5tQ8n5|Q8w6YQ8}6bS9^6}7RQ9`7QQ:Y8eQ:d8xQ:i9OQ:p9_Q;W:ZQ;_:eQ;c:qQ;n;XR;q;`Q%zyQ'e!iQ'p!uU+o%{%|%}Q-X'VU-m'f'g'hS-q'l'vQ0S*kS1S+p+qQ2p-ZS2}-n-oQ3U-vS4r0T0WQ5d1TQ6x2wQ6{3OQ7Q3VU7}4t4u4xQ9|8PR;Q9}S$wi>QR*|%VU%Ui%V>QR0h*zQ$viS(v#v+kS)d$b$cQ)f$dQ*]$xS*f${*ZQ*u%OQ*v%QQ+R%^Q+S%_Q+W%cQ.nQQ>O>YQ>P>ZQ>[>^R>]>_Q+P%]Q.pTR#[WR'Z!el!tQ!r!v!y!z'a'm'n'o-g-w1q5}6PS'V!e-^U*k$|*[*pS-Z'W'`S0W*l*rQ0`*sQ2w-eQ4x0^R4}0aR(|#xQ!fQT-f'a-g]!qQ!r'a-g1q5}Q#p]R'j < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty VariableDefinition Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:381,context:Bb,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,208,212,216,217,219,222,225,235,238,244,246,248,250,253,259,265,267,269,271,273,275,276,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,121,122,137,140,142,143,144,145,146,148,149,168,170,172,"Expression",-23,31,33,37,41,43,45,174,176,178,179,181,182,183,185,186,187,189,190,191,202,204,206,207,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",161,"JSXStartCloseTag"],["closedBy",-2,24,169,">",40,"InterpolationEnd",50,"]",61,"}",74,")",166,"JSXEndTag"]],propSources:[Yb],skippedNodes:[0,5,6,279],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$j&j(Xp([!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$j&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$j&j([!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU([!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$j&j(XpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(XpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Xp([!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$j&j(Xp([!b'}0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(Y#S$j&j(O0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$j&j(Xp([!b(O0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$j&j!p),Q(Xp([!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#w(Ch$j&j(Xp([!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#w(Ch$j&j(Xp([!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(W':f$j&j([!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$j&j([!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$j&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$e`$j&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$e``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$e`$j&j([!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ([!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$e`([!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$j&j(Xp([!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$j&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS([!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$j&j(XpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(XpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Xp([!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$j&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$j&j([!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ([!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse([!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX([!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$j&j([!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$j&j(Xp([!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$j&j(Xp([!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$j&j(Xp([!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$j&j(Xp([!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$j&j(Xp([!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$j&j(Xp([!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$j&j(Xp([!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$j&j$P)Lv(Xp([!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$j&j(Xp([!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$j&j(Xp([!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$j&j(Xp([!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$j&j(Xp([!b'}0/l$^#t(U,2j(f$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$j&j(Xp([!b(O0/l$^#t(U,2j(f$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[Ib,Wb,zb,Vb,2,3,4,5,6,7,8,9,10,11,12,13,14,Nb,new O2("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(d~~",141,341),new O2("j~RQYZXz{^~^O(R~~aP!P!Qd~iO(S~~",25,324)],topRules:{Script:[0,7],SingleExpression:[1,277],SingleClassItem:[2,278]},dialects:{jsx:0,ts:15179},dynamicPrecedences:{80:1,82:1,94:1,170:1,200:1},specialized:[{term:328,get:n=>Ub[n]||-1},{term:344,get:n=>Gb[n]||-1},{term:95,get:n=>Hb[n]||-1}],tokenPrec:15205});var kl=[E6("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),E6("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),E6("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),E6("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),E6("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),E6(`try { + \${} +} catch (\${error}) { + \${} +}`,{label:"try",detail:"/ catch block",type:"keyword"}),E6("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),E6(`if (\${}) { + \${} +} else { + \${} +}`,{label:"if",detail:"/ else block",type:"keyword"}),E6(`class \${name} { + constructor(\${params}) { + \${} + } +}`,{label:"class",detail:"definition",type:"keyword"}),E6('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),E6('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],Kb=kl.concat([E6("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),E6("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),E6("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),xl=new we,vl=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function It(n){return(e,t)=>{let r=e.node.getChild("VariableDefinition");return r&&t(r,n),!0}}var Jb=["FunctionDeclaration"],ex={FunctionDeclaration:It("function"),ClassDeclaration:It("class"),ClassExpression:()=>!0,EnumDeclaration:It("constant"),TypeAliasDeclaration:It("type"),NamespaceDeclaration:It("namespace"),VariableDefinition(n,e){n.matchContext(Jb)||e(n,"variable")},TypeDefinition(n,e){e(n,"type")},__proto__:null};function wl(n,e){let t=xl.get(e);if(t)return t;let r=[],i=!0;function s(o,a){let l=n.sliceString(o.from,o.to);r.push({label:l,type:a})}return e.cursor(V.IncludeAnonymous).iterate(o=>{if(i)i=!1;else if(o.name){let a=ex[o.name];if(a&&a(o,s)||vl.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of wl(n,o.node))r.push(a);return!1}}),xl.set(e,r),r}var yl=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Ql=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function tx(n){let e=N(n.state).resolveInner(n.pos,-1);if(Ql.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&yl.test(n.state.sliceDoc(e.from,e.to));if(!t&&!n.explicit)return null;let r=[];for(let i=e;i;i=i.parent)vl.has(i.name)&&(r=r.concat(wl(n.state.doc,i)));return{options:r,from:t?e.from:n.pos,validFor:yl}}var T5=h5.define({name:"javascript",parser:bl.configure({props:[J6.add({IfStatement:Y5({except:/^\s*({|else\b)/}),TryStatement:Y5({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:$a,SwitchBody:n=>{let e=n.textAfter,t=/^\s*\}/.test(e),r=/^\s*(case|default)\b/.test(e);return n.baseIndent+(t?0:r?1:2)*n.unit},Block:wa({closing:"}"}),ArrowFunction:n=>n.baseIndent+n.unit,"TemplateString BlockComment":()=>null,"Statement Property":Y5({except:/^\s*{/}),JSXElement(n){let e=/^\s*<\//.test(n.textAfter);return n.lineIndent(n.node.from)+(e?0:n.unit)},JSXEscape(n){let e=/\s*\}/.test(n.textAfter);return n.lineIndent(n.node.from)+(e?0:n.unit)},"JSXOpenTag JSXSelfClosingTag"(n){return n.column(n.node.from)+n.unit}}),W6.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":Pe,BlockComment(n){return{from:n.from+2,to:n.to-2}},JSXElement(n){let e=n.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=n.lastChild;return{from:e.to,to:t.type.isError?n.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(n){var e;let t=(e=n.firstChild)===null||e===void 0?void 0:e.nextSibling,r=n.lastChild;return!t||t.type.isError?null:{from:t.to,to:r.type.isError?n.to:r.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),$l={test:n=>/^JSX/.test(n.name),facet:D2({commentTokens:{block:{open:"{/*",close:"*/}"}}})},hr=T5.configure({dialect:"ts"},"typescript"),fr=T5.configure({dialect:"jsx",props:[f9.add(n=>n.isTop?[$l]:void 0)]}),pr=T5.configure({dialect:"jsx ts",props:[f9.add(n=>n.isTop?[$l]:void 0)]},"typescript"),Pl=n=>({label:n,type:"keyword"}),Tl="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Pl),nx=Tl.concat(["declare","implements","private","protected","public"].map(Pl));function Wt(n={}){let e=n.jsx?n.typescript?pr:fr:n.typescript?hr:T5,t=n.typescript?Kb.concat(nx):kl.concat(Tl);return new h6(e,[T5.data.of({autocomplete:F7(Ql,sn(t))}),T5.data.of({autocomplete:tx}),n.jsx?sx:[]])}function rx(n){for(;;){if(n.name=="JSXOpenTag"||n.name=="JSXSelfClosingTag"||n.name=="JSXFragmentTag")return n;if(n.name=="JSXEscape"||!n.parent)return null;n=n.parent}}function Sl(n,e,t=n.length){for(let r=e?.firstChild;r;r=r.nextSibling)if(r.name=="JSXIdentifier"||r.name=="JSXBuiltin"||r.name=="JSXNamespacedName"||r.name=="JSXMemberExpression")return n.sliceString(r.from,Math.min(r.to,t));return""}var ix=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),sx=P.inputHandler.of((n,e,t,r,i)=>{if((ix?n.composing:n.compositionStarted)||n.state.readOnly||e!=t||r!=">"&&r!="/"||!T5.isActiveAt(n.state,e,-1))return!1;let s=i(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:u}=l,d=N(o).resolveInner(u-1,-1),h;if(d.name=="JSXStartTag"&&(d=d.parent),!(o.doc.sliceString(u-1,u)!=r||d.name=="JSXAttributeValue"&&d.to>u)){if(r==">"&&d.name=="JSXFragmentTag")return{range:l,changes:{from:u,insert:""}};if(r=="/"&&d.name=="JSXStartCloseTag"){let p=d.parent,f=p.parent;if(f&&p.from==u-2&&((h=Sl(o.doc,f.firstChild,u))||((c=f.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let m=`${h}>`;return{range:w.cursor(u+m.length,-1),changes:{from:u,insert:m}}}}else if(r==">"){let p=rx(d);if(p&&p.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(u,u+2))&&(h=Sl(o.doc,p,u)))return{range:l,changes:{from:u,insert:``}}}}return{range:l}});return a.changes.empty?!1:(n.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var zt=["_blank","_self","_top","_parent"],mr=["ascii","utf-8","utf-16","latin1","latin1"],gr=["get","post","put","delete"],Or=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],r5=["true","false"],E={},ox={a:{attrs:{href:null,ping:null,type:null,media:null,target:zt,hreflang:null}},abbr:E,address:E,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:E,aside:E,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:E,base:{attrs:{href:null,target:zt}},bdi:E,bdo:E,blockquote:{attrs:{cite:null}},body:E,br:E,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:Or,formmethod:gr,formnovalidate:["novalidate"],formtarget:zt,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:E,center:E,cite:E,code:E,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:E,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:E,div:E,dl:E,dt:E,em:E,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:E,figure:E,footer:E,form:{attrs:{action:null,name:null,"accept-charset":mr,autocomplete:["on","off"],enctype:Or,method:gr,novalidate:["novalidate"],target:zt}},h1:E,h2:E,h3:E,h4:E,h5:E,h6:E,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:E,hgroup:E,hr:E,html:{attrs:{manifest:null}},i:E,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:Or,formmethod:gr,formnovalidate:["novalidate"],formtarget:zt,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:E,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:E,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:E,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:mr,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:E,noscript:E,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:E,param:{attrs:{name:null,value:null}},pre:E,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:E,rt:E,ruby:E,samp:E,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:mr}},section:E,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:E,source:{attrs:{src:null,type:null,media:null}},span:E,strong:E,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:E,summary:E,sup:E,table:E,tbody:E,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:E,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:E,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:E,time:{attrs:{datetime:null}},title:E,tr:E,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:E,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:E},_l={accesskey:null,class:null,contenteditable:r5,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:r5,autocorrect:r5,autocapitalize:r5,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":r5,"aria-autocomplete":["inline","list","both","none"],"aria-busy":r5,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":r5,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":r5,"aria-hidden":r5,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":r5,"aria-multiselectable":r5,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":r5,"aria-relevant":null,"aria-required":r5,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Rl="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(n=>"on"+n);for(let n of Rl)_l[n]=null;var V2=class{constructor(e,t){this.tags={...ox,...e},this.globalAttrs={..._l,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};V2.default=new V2;function Y2(n,e,t=n.length){if(!e)return"";let r=e.firstChild,i=r&&r.getChild("TagName");return i?n.sliceString(i.from,Math.min(i.to,t)):""}function Ze(n,e=!1){for(;n;n=n.parent)if(n.name=="Element")if(e)e=!1;else return n;return null}function Xl(n,e,t){let r=t.tags[Y2(n,Ze(e))];return r?.children||t.allTags}function br(n,e){let t=[];for(let r=Ze(e);r&&!r.type.isTop;r=Ze(r.parent)){let i=Y2(n,r);if(i&&r.lastChild.name=="CloseTag")break;i&&t.indexOf(i)<0&&(e.name=="EndTag"||e.from>=r.firstChild.to)&&t.push(i)}return t}var Ml=/^[:\-\.\w\u00b7-\uffff]*$/;function Cl(n,e,t,r,i){let s=/\s*>/.test(n.sliceDoc(i,i+5))?"":">",o=Ze(t,t.name=="StartTag"||t.name=="TagName");return{from:r,to:i,options:Xl(n.doc,o,e).map(a=>({label:a,type:"type"})).concat(br(n.doc,t).map((a,l)=>({label:"/"+a,apply:"/"+a+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function ql(n,e,t,r){let i=/\s*>/.test(n.sliceDoc(r,r+5))?"":">";return{from:t,to:r,options:br(n.doc,e).map((s,o)=>({label:s,apply:s+i,type:"type",boost:99-o})),validFor:Ml}}function ax(n,e,t,r){let i=[],s=0;for(let o of Xl(n.doc,t,e))i.push({label:"<"+o,type:"type"});for(let o of br(n.doc,t))i.push({label:"",type:"type",boost:99-s++});return{from:r,to:r,options:i,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function lx(n,e,t,r,i){let s=Ze(t),o=s?e.tags[Y2(n.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[],l=o&&o.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:r,to:i,options:l.map(c=>({label:c,type:"property"})),validFor:Ml}}function cx(n,e,t,r,i){var s;let o=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),a=[],l;if(o){let c=n.sliceDoc(o.from,o.to),u=e.globalAttrs[c];if(!u){let d=Ze(t),h=d?e.tags[Y2(n.doc,d)]:null;u=h?.attrs&&h.attrs[c]}if(u){let d=n.sliceDoc(r,i).toLowerCase(),h='"',p='"';/^['"]/.test(d)?(l=d[0]=='"'?/^[^"]*$/:/^[^']*$/,h="",p=n.sliceDoc(i,i+1)==d[0]?"":d[0],d=d.slice(1),r++):l=/^[^\s<>='"]*$/;for(let f of u)a.push({label:f,apply:h+f+p,type:"constant"})}}return{from:r,to:i,options:a,validFor:l}}function El(n,e){let{state:t,pos:r}=e,i=N(t).resolveInner(r,-1),s=i.resolve(r);for(let o=r,a;s==i&&(a=i.childBefore(o));){let l=a.lastChild;if(!l||!l.type.isError||l.fromEl(r,i)}var dx=T5.parser.configure({top:"SingleExpression"}),Zl=[{tag:"script",attrs:n=>n.type=="text/typescript"||n.lang=="ts",parser:hr.parser},{tag:"script",attrs:n=>n.type=="text/babel"||n.type=="text/jsx",parser:fr.parser},{tag:"script",attrs:n=>n.type=="text/typescript-jsx",parser:pr.parser},{tag:"script",attrs(n){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(n.type)},parser:dx},{tag:"script",attrs(n){return!n.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(n.type)},parser:T5.parser},{tag:"style",attrs(n){return(!n.lang||n.lang=="css")&&(!n.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(n.type))},parser:Nt.parser}],Ll=[{name:"style",parser:Nt.parser.configure({top:"Styles"})}].concat(Rl.map(n=>({name:n,parser:T5.parser}))),Dl=h5.define({name:"html",parser:tl.configure({props:[J6.add({Element(n){let e=/^(\s*)(<\/)?/.exec(n.textAfter);return n.node.to<=n.pos+e[0].length?n.continue():n.lineIndent(n.node.from)+(e[2]?0:n.unit)},"OpenTag CloseTag SelfClosingTag"(n){return n.column(n.node.from)+n.unit},Document(n){if(n.pos+/\s*/.exec(n.textAfter)[0].lengthn.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),e3=Dl.configure({wrap:sr(Zl,Ll)});function Le(n={}){let e="",t;n.matchClosingTags===!1&&(e="noMatch"),n.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(n.nestedLanguages&&n.nestedLanguages.length||n.nestedAttributes&&n.nestedAttributes.length)&&(t=sr((n.nestedLanguages||[]).concat(Zl),(n.nestedAttributes||[]).concat(Ll)));let r=t?Dl.configure({wrap:t,dialect:e}):e?e3.configure({dialect:e}):e3;return new h6(r,[e3.data.of({autocomplete:ux(n)}),n.autoCloseTags!==!1?fx:[],Wt().support,ml().support])}var Al=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" "));function hx(n,e,t){for(var r;;){if(((r=e.lastChild)===null||r===void 0?void 0:r.name)!="CloseTag")return!1;let i=e.parent;if(!i||Y2(n,i)!=t)return!0;e=i}}var fx=P.inputHandler.of((n,e,t,r,i)=>{if(n.composing||n.state.readOnly||e!=t||r!=">"&&r!="/"||!e3.isActiveAt(n.state,e,-1))return!1;let s=i(),{state:o}=s,a=o.changeByRange(l=>{var c;let u=o.doc.sliceString(l.from-1,l.to)==r,{head:d}=l,h=N(o).resolveInner(d,-1),p;if(u&&r==">"&&h.name=="EndTag"){let f=h.parent;if((p=Y2(o.doc,f.parent,d))&&!Al.has(p)&&!hx(o.doc,f.parent,p)){let m=d+(o.doc.sliceString(d,d+1)===">"?1:0),b=``;return{range:l,changes:{from:d,to:m,insert:b}}}}else if(u&&r=="/"&&h.name=="IncompleteCloseTag"){let f=h.parent;if(h.from==d-2&&((c=f.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&(p=Y2(o.doc,f,d))&&!Al.has(p)){let m=d+(o.doc.sliceString(d,d+1)===">"?1:0),b=`${p}>`;return{range:w.cursor(d+b.length,-1),changes:{from:d,to:m,insert:b}}}}return{range:l}});return a.changes.empty?!1:(n.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var px=Q6({String:O.string,Number:O.number,"True False":O.bool,PropertyName:O.propertyName,Null:O.null,", :":O.separator,"[ ]":O.squareBracket,"{ }":O.brace}),jl=O5.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[px],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var mx=h5.define({name:"json",parser:jl.configure({props:[J6.add({Object:Y5({except:/^\s*\}/}),Array:Y5({except:/^\s*\]/})}),W6.add({"Object Array":Pe})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function t3(){return new h6(mx)}var xr=1,gx=2,Ox=3,bx=4,xx=5,yx=36,Sx=37,kx=38,vx=11,wx=13;function Qx(n){return n==45||n==46||n==58||n>=65&&n<=90||n==95||n>=97&&n<=122||n>=161}function $x(n){return n==9||n==10||n==13||n==32}var Bl=null,Nl=null,Il=0;function yr(n,e){let t=n.pos+e;if(Nl==n&&Il==t)return Bl;for(;$x(n.peek(e));)e++;let r="";for(;;){let i=n.peek(e);if(!Qx(i))break;r+=String.fromCharCode(i),e++}return Nl=n,Il=t,Bl=r||null}function Wl(n,e){this.name=n,this.parent=e}var Px=new b2({start:null,shift(n,e,t,r){return e==xr?new Wl(yr(r,1)||"",n):n},reduce(n,e){return e==vx&&n?n.parent:n},reuse(n,e,t,r){let i=e.type.id;return i==xr||i==wx?new Wl(yr(r,1)||"",n):n},strict:!1}),Tx=new f6((n,e)=>{if(n.next==60){if(n.advance(),n.next==47){n.advance();let t=yr(n,0);if(!t)return n.acceptToken(xx);if(e.context&&t==e.context.name)return n.acceptToken(gx);for(let r=e.context;r;r=r.parent)if(r.name==t)return n.acceptToken(Ox,-2);n.acceptToken(bx)}else if(n.next!=33&&n.next!=63)return n.acceptToken(xr)}},{contextual:!0});function Sr(n,e){return new f6(t=>{let r=0,i=e.charCodeAt(0);e:for(;!(t.next<0);t.advance(),r++)if(t.next==i){for(let s=1;s"),qx=Sr(Sx,"?>"),Ax=Sr(kx,"]]>"),_x=Q6({Text:O.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":O.angleBracket,TagName:O.tagName,"MismatchedCloseTag/TagName":[O.tagName,O.invalid],AttributeName:O.attributeName,AttributeValue:O.attributeValue,Is:O.definitionOperator,"EntityReference CharacterReference":O.character,Comment:O.blockComment,ProcessingInst:O.processingInstruction,DoctypeDecl:O.documentMeta,Cdata:O.special(O.string)}),zl=O5.deserialize({version:14,states:",lOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DT'#DTOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C|'#C|O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C}'#C}O$dOrO,59^OOOP,59^,59^OOOS'#DO'#DOO$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6z-E6zOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6{-E6{OOOP1G.x1G.xOOOS-E6|-E6|OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'mO!bO,59eOOOO-E6w-E6wO'{OpO1G.uO'{OpO1G.uOOOP1G.u1G.uO(TOpO7+$fOOOP7+$f7+$fO(]O!bO<c!|;'S(o;'S;=`)]<%lO(oi>jX|W!O`Or(ors&osv(owx'}x!r(o!r!s?V!s;'S(o;'S;=`)]<%lO(oi?^X|W!O`Or(ors&osv(owx'}x!g(o!g!h?y!h;'S(o;'S;=`)]<%lO(oi@QY|W!O`Or?yrs@psv?yvwA[wxBdx!`?y!`!aCr!a;'S?y;'S;=`Db<%lO?ya@uV!O`Ov@pvxA[x!`@p!`!aAy!a;'S@p;'S;=`B^<%lO@pPA_TO!`A[!`!aAn!a;'SA[;'S;=`As<%lOA[PAsOiPPAvP;=`<%lA[aBQSiP!O`Ov&ox;'S&o;'S;=`'Q<%lO&oaBaP;=`<%l@pXBiX|WOrBdrsA[svBdvwA[w!`Bd!`!aCU!a;'SBd;'S;=`Cl<%lOBdXC]TiP|WOr'}sv'}w;'S'};'S;=`(c<%lO'}XCoP;=`<%lBdiC{ViP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiDeP;=`<%l?yiDoZ|W!O`Or(ors&osv(owx'}x!e(o!e!fEb!f#V(o#V#WIr#W;'S(o;'S;=`)]<%lO(oiEiX|W!O`Or(ors&osv(owx'}x!f(o!f!gFU!g;'S(o;'S;=`)]<%lO(oiF]X|W!O`Or(ors&osv(owx'}x!c(o!c!dFx!d;'S(o;'S;=`)]<%lO(oiGPX|W!O`Or(ors&osv(owx'}x!v(o!v!wGl!w;'S(o;'S;=`)]<%lO(oiGsX|W!O`Or(ors&osv(owx'}x!c(o!c!dH`!d;'S(o;'S;=`)]<%lO(oiHgX|W!O`Or(ors&osv(owx'}x!}(o!}#OIS#O;'S(o;'S;=`)]<%lO(oiI]V|W!O`yPOr(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiIyX|W!O`Or(ors&osv(owx'}x#W(o#W#XJf#X;'S(o;'S;=`)]<%lO(oiJmX|W!O`Or(ors&osv(owx'}x#T(o#T#UKY#U;'S(o;'S;=`)]<%lO(oiKaX|W!O`Or(ors&osv(owx'}x#h(o#h#iK|#i;'S(o;'S;=`)]<%lO(oiLTX|W!O`Or(ors&osv(owx'}x#T(o#T#UH`#U;'S(o;'S;=`)]<%lO(oiLwX|W!O`Or(ors&osv(owx'}x#c(o#c#dMd#d;'S(o;'S;=`)]<%lO(oiMkX|W!O`Or(ors&osv(owx'}x#V(o#V#WNW#W;'S(o;'S;=`)]<%lO(oiN_X|W!O`Or(ors&osv(owx'}x#h(o#h#iNz#i;'S(o;'S;=`)]<%lO(oi! RX|W!O`Or(ors&osv(owx'}x#m(o#m#n! n#n;'S(o;'S;=`)]<%lO(oi! uX|W!O`Or(ors&osv(owx'}x#d(o#d#e!!b#e;'S(o;'S;=`)]<%lO(oi!!iX|W!O`Or(ors&osv(owx'}x#X(o#X#Y?y#Y;'S(o;'S;=`)]<%lO(oi!#_V!SP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(ok!$PXaQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo!$wX[UVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!%mZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!&`!a;'S$q;'S;=`)c<%lO$qk!&kX!RQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!'aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_#P$q#P#Q!(S#Q;'S$q;'S;=`)c<%lO$qk!(]ZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!)O!a;'S$q;'S;=`)c<%lO$qk!)ZXxQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$q",tokenizers:[Tx,Cx,qx,Ax,0,1,2,3,4],topRules:{Document:[0,6]},tokenPrec:0});function n3(n,e){let t=e&&e.getChild("TagName");return t?n.sliceString(t.from,t.to):""}function kr(n,e){let t=e&&e.firstChild;return!t||t.name!="OpenTag"?"":n3(n,t)}function Rx(n,e,t){let r=e&&e.getChildren("Attribute").find(s=>s.from<=t&&s.to>=t),i=r&&r.getChild("AttributeName");return i?n.sliceString(i.from,i.to):""}function vr(n){for(let e=n&&n.parent;e;e=e.parent)if(e.name=="Element")return e;return null}function Xx(n,e){var t;let r=N(n).resolveInner(e,-1),i=null;for(let s=r;!i&&s.parent;s=s.parent)(s.name=="OpenTag"||s.name=="CloseTag"||s.name=="SelfClosingTag"||s.name=="MismatchedCloseTag")&&(i=s);if(i&&(i.to>e||i.lastChild.type.isError)){let s=i.parent;if(r.name=="TagName")return i.name=="CloseTag"||i.name=="MismatchedCloseTag"?{type:"closeTag",from:r.from,context:s}:{type:"openTag",from:r.from,context:vr(s)};if(r.name=="AttributeName")return{type:"attrName",from:r.from,context:i};if(r.name=="AttributeValue")return{type:"attrValue",from:r.from,context:i};let o=r==i||r.name=="Attribute"?r.childBefore(e):r;return o?.name=="StartTag"?{type:"openTag",from:e,context:vr(s)}:o?.name=="StartCloseTag"&&o.to<=e?{type:"closeTag",from:e,context:s}:o?.name=="Is"?{type:"attrValue",from:e,context:i}:o?{type:"attrName",from:e,context:i}:null}else if(r.name=="StartCloseTag")return{type:"closeTag",from:e,context:r.parent};for(;r.parent&&r.to==e&&!(!((t=r.lastChild)===null||t===void 0)&&t.type.isError);)r=r.parent;return r.name=="Element"||r.name=="Text"||r.name=="Document"?{type:"tag",from:e,context:r.name=="Element"?r:vr(r)}:null}var Qr=class{constructor(e,t,r){this.attrs=t,this.attrValues=r,this.children=[],this.name=e.name,this.completion=Object.assign(Object.assign({type:"type"},e.completion||{}),{label:this.name}),this.openCompletion=Object.assign(Object.assign({},this.completion),{label:"<"+this.name}),this.closeCompletion=Object.assign(Object.assign({},this.completion),{label:"",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=e.textContent?e.textContent.map(i=>({label:i,type:"text"})):[]}},wr=/^[:\-\.\w\u00b7-\uffff]*$/;function Vl(n){return Object.assign(Object.assign({type:"property"},n.completion||{}),{label:n.name})}function Yl(n){return typeof n=="string"?{label:`"${n}"`,type:"constant"}:/^"/.test(n.label)?n:Object.assign(Object.assign({},n),{label:`"${n.label}"`})}function Mx(n,e){let t=[],r=[],i=Object.create(null);for(let l of e){let c=Vl(l);t.push(c),l.global&&r.push(c),l.values&&(i[l.name]=l.values.map(Yl))}let s=[],o=[],a=Object.create(null);for(let l of n){let c=r,u=i;l.attributes&&(c=c.concat(l.attributes.map(h=>typeof h=="string"?t.find(p=>p.label==h)||{label:h,type:"property"}:(h.values&&(u==i&&(u=Object.create(u)),u[h.name]=h.values.map(Yl)),Vl(h)))));let d=new Qr(l,c,u);a[d.name]=d,s.push(d),l.top&&o.push(d)}o.length||(o=s);for(let l=0;l{var c;let{doc:u}=l.state,d=Xx(l.state,l.pos);if(!d||d.type=="tag"&&!l.explicit)return null;let{type:h,from:p,context:f}=d;if(h=="openTag"){let m=o,b=kr(u,f);if(b){let g=a[b];m=g?.children||s}return{from:p,options:m.map(g=>g.completion),validFor:wr}}else if(h=="closeTag"){let m=kr(u,f);return m?{from:p,to:l.pos+(u.sliceString(l.pos,l.pos+1)==">"?1:0),options:[((c=a[m])===null||c===void 0?void 0:c.closeNameCompletion)||{label:m+">",type:"type"}],validFor:wr}:null}else if(h=="attrName"){let m=a[n3(u,f)];return{from:p,options:m?.attrs||r,validFor:wr}}else if(h=="attrValue"){let m=Rx(u,f,p);if(!m)return null;let b=a[n3(u,f)],g=(b?.attrValues||i)[m];return!g||!g.length?null:{from:p,to:l.pos+(u.sliceString(l.pos,l.pos+1)=='"'?1:0),options:g,validFor:/^"[^"]*"?$/}}else if(h=="tag"){let m=kr(u,f),b=a[m],g=[],x=f&&f.lastChild;m&&(!x||x.name!="CloseTag"||n3(u,x)!=m)&&g.push(b?b.closeCompletion:{label:"",type:"type",boost:2});let y=g.concat((b?.children||(f?s:o)).map(v=>v.openCompletion));if(f&&b?.text.length){let v=f.firstChild;v.to>l.pos-20&&!/\S/.test(l.state.sliceDoc(v.to,l.pos))&&(y=y.concat(b.text))}return{from:p,options:y,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}else return null}}var De=h5.define({name:"xml",parser:zl.configure({props:[J6.add({Element(n){let e=/^\s*<\//.test(n.textAfter);return n.lineIndent(n.node.from)+(e?0:n.unit)},"OpenTag CloseTag SelfClosingTag"(n){return n.column(n.node.from)+n.unit}}),W6.add({Element(n){let e=n.firstChild,t=n.lastChild;return!e||e.name!="OpenTag"?null:{from:e.to,to:t.name=="CloseTag"?t.from:n.to}}}),$t.add({"OpenTag CloseTag":n=>n.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/$/}});function r3(n={}){let e=[De.data.of({autocomplete:Mx(n.elements||[],n.attributes||[])})];return n.autoCloseTags!==!1&&e.push(Ex),new h6(De,e)}function Ul(n,e,t=n.length){if(!e)return"";let r=e.firstChild,i=r&&r.getChild("TagName");return i?n.sliceString(i.from,Math.min(i.to,t)):""}var Ex=P.inputHandler.of((n,e,t,r,i)=>{if(n.composing||n.state.readOnly||e!=t||r!=">"&&r!="/"||!De.isActiveAt(n.state,e,-1))return!1;let s=i(),{state:o}=s,a=o.changeByRange(l=>{var c,u,d;let{head:h}=l,p=o.doc.sliceString(h-1,h)==r,f=N(o).resolveInner(h,-1),m;if(p&&r==">"&&f.name=="EndTag"){let b=f.parent;if(((u=(c=b.parent)===null||c===void 0?void 0:c.lastChild)===null||u===void 0?void 0:u.name)!="CloseTag"&&(m=Ul(o.doc,b.parent,h))){let g=h+(o.doc.sliceString(h,h+1)===">"?1:0),x=``;return{range:l,changes:{from:h,to:g,insert:x}}}}else if(p&&r=="/"&&f.name=="StartCloseTag"){let b=f.parent;if(f.from==h-2&&((d=b.lastChild)===null||d===void 0?void 0:d.name)!="CloseTag"&&(m=Ul(o.doc,b,h))){let g=h+(o.doc.sliceString(h,h+1)===">"?1:0),x=`${m}>`;return{range:w.cursor(h+x.length,-1),changes:{from:h,to:g,insert:x}}}}return{range:l}});return a.changes.empty?!1:(n.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var K5;(d=>{class n{constructor(f,m,b,g,x){Q(this,"begin");Q(this,"end");Q(this,"state");Q(this,"offending");Q(this,"expected");this.begin=f,this.end=m,this.state=b,this.offending=g,this.expected=x}getBegin(){return this.begin}getEnd(){return this.end}getState(){return this.state}getExpected(){return this.expected}getOffending(){return this.offending}isAmbiguousInput(){return!1}getMessage(){return this.offending<0?"lexical analysis failed":"syntax error"}}d.ParseException=n;let h=class h{constructor(f,m){Q(this,"thread");Q(this,"eventHandler");Q(this,"input");Q(this,"size");Q(this,"maxId");Q(this,"pool",null);this.initialize(f,m)}initialize(f,m){this.eventHandler=m,this.input=f,this.size=f.length,this.maxId=0,this.thread=new s,this.thread.parser=this,this.thread.reset(0,0,0)}reset(f,m,b){this.thread.reset(f,m,b)}getOffendingToken(f){var m=f.getOffending();return m>=0?h.TOKEN[m]:null}getExpectedTokenSet(f){var m;return f.getExpected()<0?m=h.getTokenSet(-f.getState()):m=[h.TOKEN[f.getExpected()]],m}getErrorMessage(f){var m=f.getMessage();if(f.isAmbiguousInput())m+=` +`;else{var b=this.getOffendingToken(f),g=this.getExpectedTokenSet(f),x=f.getEnd()-f.getBegin();m+=(b==null?"":", found "+b)+` +while expecting `+(g.length==1?g[0]:"["+g.join(", ")+"]")+` +`+(x==0||b!=null?"":"after successfully scanning "+x+" characters beginning ")}var y=this.input.substring(0,f.getBegin()),v=y.split(` +`),S=v.length,k=v[S-1].length+1;return m+"at line "+S+", column "+k+`: +...`+this.input.substring(f.getBegin(),Math.min(this.input.length,f.getBegin()+64))+"..."}parse_Module(){this.thread=this.parse(0,0,this.eventHandler,this.thread)}parse(f,m,b,g){for(var x=g.open(m,b,f);;){if(g=x.poll(),g.accepted){for(;!x.isEmpty();){var y=x.poll();g=g.e0=(v==null?0:v.getDepth())?(S=y,y=y.getLink()):(k=v,v=v.getLink());var $=S!=null&&S.isTerminal(),X=k!=null&&k.isTerminal();return $!=X?X&&(f=m):m.eventCount>3;return h.GOTO[(b&7)+h.GOTO[(g&7)+h.GOTO[g>>3]]]}static getTokenSet(f){for(var m=[],b=f<0?-f:h.INITIAL[f]&8191,g=0;g<307;g+=32)for(var x=g,y=(g>>5)*4796+b-1,v=y>>1,S=v>>2,k=h.EXPECTED[(y&1)+h.EXPECTED[(v&3)+h.EXPECTED[(S&3)+h.EXPECTED[S>>2]]]];k!=0;k>>>=1,++x)(k&1)!=0&&m.push(h.TOKEN[x]);return m}};Q(h,"PARSING",0),Q(h,"ACCEPTED",1),Q(h,"ERROR",2),Q(h,"MAP0",[76,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,19,19,19,19,19,19,19,20,21,22,23,24,25,26,27,28,29,30,31,28,32,32,32,32,32,33,34,35,32,32,36,32,32,37,32,32,32,38,32,32,39,40,41,40,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,40,40]),Q(h,"MAP1",[108,124,214,214,214,214,214,214,214,214,214,214,214,214,214,214,156,181,181,181,181,181,214,215,213,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,247,261,277,293,309,357,373,389,425,425,425,417,459,333,459,324,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459,442,442,442,442,442,442,442,341,459,459,459,459,459,459,459,459,403,425,425,426,424,425,425,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,458,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459,425,76,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,19,19,19,19,19,19,19,20,21,22,23,24,25,26,27,28,29,30,31,28,32,32,32,32,32,33,34,35,32,32,32,32,32,32,32,75,32,32,32,32,32,32,32,32,74,32,32,32,32,32,32,32,32,32,32,32,32,32,32,40,32,32,36,32,32,37,32,32,32,38,32,32,39,40,41,40,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,40,40,40,40,40,40,40,40,40,40,40,40,32,32,40,40,40,40,40,40,40,73,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,40,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32]),Q(h,"MAP2",[57344,63744,64976,65008,65536,983040,63743,64975,65007,65533,983039,1114111,40,32,40,32,32,40]),Q(h,"INITIAL",[1,2,3,172036,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,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,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,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270]),Q(h,"TRANSITION",[39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39424,39447,39477,39478,39476,39477,39477,39477,39494,39509,39477,39477,39477,39477,39460,39477,39514,39530,39561,61836,40157,39562,39562,51424,39562,39562,39562,80877,39562,39562,39562,39562,83055,40408,40408,40350,40071,40407,42551,39579,49582,41300,41941,72843,78469,39562,39649,83224,73873,39669,66704,66711,43142,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41897,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,39931,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,82827,40211,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,40782,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,41324,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,39562,39562,63973,40157,39562,39562,39562,81604,77186,50344,42958,42958,42974,42984,39562,77879,43007,39561,61836,40157,39562,39562,51424,46030,39562,39562,80877,77457,39562,39562,39562,40591,40408,40408,40350,40071,40407,77565,43023,49582,40190,41941,72843,78469,39562,43084,83224,73873,39669,66704,66711,43142,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41897,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,71245,39562,63973,43192,39562,39562,39562,43251,43210,39562,39562,39562,39562,44466,43237,43267,43283,39561,61836,40157,39562,39562,51424,43299,39562,39562,80877,39562,39562,39562,39562,83055,40408,40408,40350,40071,40407,42551,43317,49582,40190,41941,72843,78469,39562,43084,83224,73873,39669,66704,66711,43142,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41897,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,43353,43360,39562,63973,43377,39562,39562,39562,81604,43396,39562,39562,39562,72392,72405,43418,43433,43007,39561,61836,43449,39562,39562,83267,39562,39562,39562,80877,39562,39562,39562,39562,83055,40408,40408,40350,40071,40407,42551,43468,49582,40190,41941,72843,78469,39562,43084,83224,73873,39669,66704,66711,43142,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41897,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,77620,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,41187,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,82347,39562,63973,43504,39562,39562,39562,73402,77186,43527,39562,39562,73395,43526,82350,43543,43007,39561,61836,40157,39562,39562,51424,39562,39562,39562,80877,39562,39562,39562,39562,83055,40408,40408,40350,40071,40407,42551,39579,49582,40190,41941,72843,78469,39562,43084,83224,73873,39669,66704,66711,43142,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41897,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,39562,39562,63973,40157,39562,39562,43559,81604,43905,50760,39562,39562,39562,52273,43891,43580,43007,39561,61836,40157,39562,39562,51424,39562,39562,39562,80877,39562,39562,39562,39562,83055,40408,40408,40350,40071,40407,42551,39579,49582,40190,41941,72843,78469,39562,43084,83224,73873,39669,66704,66711,43142,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41897,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,39562,39562,63973,40157,39562,39562,39562,81940,43332,39562,39562,39562,39562,39562,39562,43194,43596,39561,61836,40157,39562,39562,51424,39562,39562,39562,80877,39562,39562,39562,39562,83055,40408,40408,40350,40071,40407,42551,39579,49582,40190,41941,72843,78469,39562,43084,83224,73873,39669,66704,66711,48675,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,42602,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,71677,39562,63973,43612,39562,39562,39562,49040,43632,39562,39562,39562,39562,44855,49026,39545,43654,39561,61836,40157,39562,39562,83123,39562,39562,39562,80877,39562,39562,39562,39562,83055,40408,40408,40350,40071,40407,42551,43670,49582,40190,41941,72843,78469,39562,43084,83224,73873,39669,66704,66711,43142,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41897,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,39609,43795,43796,43735,43795,43795,43746,43762,43790,43795,43795,43795,43777,39633,39624,43812,43007,39561,64308,43833,39562,39562,51424,39562,39562,39562,80877,39562,39562,39562,39562,83055,40408,40408,40350,40071,40407,42551,39579,49582,43828,41941,72843,78469,39562,43084,83224,73873,39669,66704,66711,43142,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41897,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,67789,39562,63973,43850,39562,39562,43993,43876,43926,79550,43952,43952,43952,43961,43984,43860,44022,39561,61836,44038,39562,39562,51424,39562,39562,39562,80877,39562,39562,39562,39562,83055,40408,40408,40350,40071,40407,42551,39579,49582,40153,41941,72843,78469,39562,43084,83224,73873,39669,66704,66711,43142,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41897,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,39562,39562,63973,40157,39562,39562,39562,81604,77186,66659,39562,44088,44092,44055,44078,44108,43007,39561,61836,40157,39562,39562,51424,39562,39562,39562,80877,39562,39562,39562,39562,83055,40408,40408,40350,40071,40407,42551,39579,49582,40190,41941,72843,78469,39562,43084,83224,73873,39669,66704,66711,43142,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41817,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,41131,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,39562,39562,63973,40157,39562,39562,39562,81604,77186,68212,81728,44124,44128,44144,39562,44167,43007,39561,61836,40157,39562,39562,51424,39562,39562,39562,80877,39562,39562,39562,39562,83055,40408,40408,40350,40071,40407,42551,39579,49582,40190,41941,72843,78469,44183,43084,83224,73873,39669,66704,66711,43142,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41897,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,39562,44306,63973,44200,44306,39562,75252,44228,44262,44291,44212,44212,44212,44300,39562,44275,43007,39561,61836,40157,39562,39562,51424,39562,39562,39562,80877,39562,39562,39562,39562,83055,40408,40408,40350,40071,40407,42551,39579,49582,40190,41941,72843,78469,39562,43084,83224,73873,39669,66704,66711,43142,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41897,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,45574,39562,39562,63973,40157,39562,39562,39562,81604,44323,73115,40100,44345,44360,44370,39562,44393,44409,39561,61836,40157,39562,39562,51424,39562,39562,39562,80877,39562,39562,39562,39562,55151,44526,44526,54003,51620,74172,77082,44425,39562,40190,72822,44445,78469,44183,44462,39562,76284,44482,39562,39562,71111,44526,66976,44506,44525,44526,44526,44545,51619,54026,73693,44582,51619,52384,44834,54522,61359,44602,44834,57873,39562,39562,39562,39562,72183,39562,44622,69730,39562,39562,39562,80562,44526,44526,44526,44526,44526,77740,44526,44526,44526,52762,51619,51619,51619,51619,51619,60065,51619,51619,44911,44834,44834,44834,44834,44834,63918,44834,44834,44834,76975,39562,39562,39562,39562,44760,45943,44640,44676,39562,83171,80716,44526,44526,44526,44526,44526,44526,44526,79590,52760,44693,51619,51619,51619,51619,51619,51619,51619,51619,44730,79688,44834,44834,44834,44834,44834,44834,44834,81356,39562,39562,39562,39562,39562,44759,39562,39562,77153,44526,44776,44526,44794,44526,44526,44526,44526,44890,51619,44815,51619,72635,51619,51619,51619,76937,44834,81165,44834,44834,44833,44834,44834,44834,76975,39562,39562,44851,39562,39562,50057,44526,44526,44526,44526,44871,44526,44889,51619,51619,51619,51619,44906,52381,44834,44834,44834,44834,44834,44927,51984,39562,46782,71106,73430,80569,52568,44526,44945,44526,52763,44559,44707,58675,51619,59292,57337,57373,45375,44834,52549,39562,44964,44985,45011,73509,53688,44526,72591,45035,55532,56543,51658,45051,45067,68495,44834,76975,39562,53456,73499,73903,60959,61285,45098,59409,50197,45134,51983,69270,75650,76655,45169,75975,45205,66268,42002,55344,72554,60056,45240,45257,74352,51093,57779,45282,45302,66940,44528,45335,61173,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,52977,45355,45391,57815,45411,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,39562,39562,63973,40157,39562,39562,39562,45440,45434,39562,39562,39562,39562,39562,82111,45456,45472,39562,61836,40157,39562,39562,81735,39562,39562,39562,80877,39562,39562,39562,39562,55151,44526,44526,54003,51620,74172,55458,44425,39562,40190,39562,39562,39562,39562,45488,39562,39562,45508,39562,39562,71111,44526,44526,44526,44526,44526,44526,56845,51619,51619,51619,51619,51619,52384,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,80562,44526,44526,44526,44526,44526,44526,44526,44526,44526,52762,51619,51619,51619,51619,51619,51619,51619,51619,44911,44834,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,39562,39562,44760,45943,39562,39562,39562,61444,44526,44526,44526,44526,44526,44526,44526,44526,44526,52760,51619,51619,51619,51619,51619,51619,51619,51619,51619,74167,44834,44834,44834,44834,44834,44834,44834,44834,51982,39562,39562,39562,39562,39562,39562,39562,39562,77153,44526,44526,44526,44526,44526,44526,44526,44526,44890,51619,51619,51619,51619,51619,51619,51619,76937,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,44851,39562,39562,50057,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,52381,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,45545,39562,63973,40157,39562,39562,39562,81604,77186,73836,39562,39562,45527,45537,39562,45561,43007,39561,61836,40157,39562,39562,51424,46176,39562,39562,80877,45626,39562,39562,39562,83055,40408,40408,40350,40071,40407,42551,39579,49582,40190,41941,72843,78469,39562,45647,83224,73873,39669,66704,66711,43142,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41897,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,45667,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,45712,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,41330,39562,63973,40157,39562,39562,39562,45752,45746,39562,41329,39562,39562,39562,45511,45768,45472,45795,61836,40157,39562,39562,69981,39562,39562,39562,80877,39562,39562,39562,39562,55151,44526,44526,54003,51620,74172,55132,45784,39562,40190,39562,39562,44624,45812,45488,39562,39562,45508,39562,39562,71111,44526,44526,44526,44526,44526,44526,56845,51619,51619,51619,51619,51619,52384,44834,44834,44834,44834,44834,52699,45835,39562,39562,39562,56693,45853,39562,39562,39562,39562,39562,80562,44526,44526,44526,44526,44526,44526,44526,44526,44526,52762,51619,51619,51619,51619,51619,51619,51619,51619,44911,44834,44834,44834,44834,44834,44834,44834,44834,44834,45875,39562,39562,39562,39562,45927,45943,39562,39562,39562,45960,44526,44526,44526,44526,44526,44526,44526,44526,44526,52760,51619,51619,51619,51619,51619,51619,51619,51619,51619,56109,44834,44834,44834,44834,44834,44834,44834,44834,66367,39562,39562,39562,39562,39562,39562,39562,72798,77153,44526,44526,44526,44526,44526,44526,44526,44526,44890,51619,51619,51619,51619,51619,51619,51619,57176,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,44851,39562,39562,58153,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,54178,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,41330,39562,63973,40157,39562,39562,39562,45859,45984,39562,41329,39562,39562,39562,46211,46007,45472,45795,61836,40157,39562,39562,69981,39562,39562,39562,80877,39562,39562,39562,39562,55151,44526,44526,54003,51620,74172,55132,45784,39562,40190,39562,39562,44624,45812,45488,39562,39562,45508,39562,39562,71111,44526,44526,44526,44526,44526,44526,56845,51619,51619,51619,51619,51619,52384,44834,44834,44834,44834,44834,52699,45835,39562,39562,39562,56693,45853,39562,39562,39562,39562,39562,80562,44526,44526,44526,44526,44526,44526,44526,44526,44526,52762,51619,51619,51619,51619,51619,51619,51619,51619,44911,44834,44834,44834,44834,44834,44834,44834,44834,44834,45875,39562,39562,39562,39562,45927,45943,39562,39562,39562,45960,44526,44526,44526,44526,44526,44526,44526,44526,44526,52760,51619,51619,51619,51619,51619,51619,51619,51619,51619,56109,44834,44834,44834,44834,44834,44834,44834,44834,66367,39562,39562,39562,39562,39562,39562,39562,72798,77153,44526,44526,44526,44526,44526,44526,44526,44526,44890,51619,51619,51619,51619,51619,51619,51619,57176,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,44851,39562,39562,58153,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,54178,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,41330,39562,63973,40157,39562,39562,39562,45859,45984,39562,41329,39562,39562,39562,46211,46007,45472,45795,61836,40157,39562,39562,69981,39562,39562,39562,80877,39562,39562,39562,39562,55151,44526,44526,54003,51620,74172,55132,45784,39562,40190,39562,39562,44624,46023,45488,39562,39562,45508,39562,39562,71111,44526,44526,44526,44526,44526,44526,56845,51619,51619,51619,51619,51619,52384,44834,44834,44834,44834,44834,52699,45835,39562,39562,39562,56693,46046,39562,39562,39562,39562,39562,80562,44526,44526,44526,44526,44526,44526,44526,44526,44526,52762,51619,51619,51619,51619,51619,51619,51619,51619,44911,44834,44834,44834,44834,44834,44834,44834,44834,44834,45875,39562,39562,39562,39562,45927,45943,39562,39562,39562,45960,44526,44526,44526,44526,44526,44526,44526,44526,44526,52760,51619,51619,51619,51619,51619,51619,51619,51619,51619,56109,44834,44834,44834,44834,44834,44834,44834,44834,66367,39562,39562,39562,39562,39562,39562,39562,72798,77153,44526,44526,44526,44526,44526,44526,44526,44526,44890,51619,51619,51619,51619,51619,51619,51619,57176,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,44851,39562,39562,58153,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,54178,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,39562,46068,63973,46087,46104,39562,66312,82863,82858,46124,46139,46139,46154,46169,39562,67172,46192,39561,66641,46208,39562,39562,51424,39562,39562,39562,80877,39562,39562,39562,39562,75291,47809,47809,46871,46475,46227,46511,39579,49582,79936,41941,72843,78469,39562,46244,83224,73873,39669,66704,66711,49481,46264,46288,48725,46319,54763,46618,77997,47051,47465,46342,48421,46911,46877,47713,48170,46381,46420,47723,46552,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,77983,46826,49505,46991,46831,46445,47809,47809,47806,54771,46326,47578,48919,48053,48586,48035,46474,48585,48046,47584,46491,47880,47911,46527,47641,46545,46228,47184,46228,48542,40087,79217,40123,40175,82885,43103,83310,40237,40279,76310,46568,46984,47972,49494,46861,47812,46595,46609,46634,46650,78011,47762,48430,48895,46677,48585,48771,46693,48107,47612,46722,46394,47213,47283,47366,47915,46747,46503,46763,40620,40667,40714,40757,43129,40795,75581,40818,46798,46579,46847,46893,46927,47809,46957,47792,46973,47007,48081,47037,47077,47093,48585,48756,47144,48822,47175,47200,47229,47270,47118,46731,47320,47351,48185,39594,41285,43171,39653,41346,75301,48260,47393,47437,46941,47481,46303,47522,46365,47550,47159,46706,47566,47600,47295,47335,47128,47628,47657,47698,48662,41691,41770,50976,53561,48390,47739,46458,47494,47778,47754,47828,47859,46661,48909,47872,47896,47931,47377,47672,48460,41964,41980,42018,47960,47421,47988,48567,48004,48020,48069,48097,48123,48139,48155,48836,48849,48219,42304,48249,47407,48276,48292,47061,48308,47843,47682,48324,48340,48377,47506,48406,47534,48446,47944,48502,60154,46272,46871,48784,46529,48533,48558,76318,48583,47108,47304,54754,47451,46355,78025,46404,46813,48602,48648,48710,48741,48791,46429,46902,47021,48807,48865,48881,48935,48942,47244,47254,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,39562,81937,63973,59898,48958,39562,39562,81604,81928,62921,48980,48980,48980,48989,39562,52096,43007,39561,61836,40157,39562,39562,51424,39562,39562,39562,80877,39562,39562,39562,39562,83055,40408,40408,40350,40071,40407,42551,39579,49582,40190,41941,72843,78469,39562,43084,83224,73873,39669,66704,66711,43142,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41897,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,75213,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,41394,40087,79217,40123,40175,69398,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,49012,40620,40667,40714,40757,43129,40795,75581,49056,49068,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,49084,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,49114,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,49142,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,39562,39562,63973,40157,39562,39562,39562,39562,43483,52248,49180,49180,49180,49189,56241,49212,43007,39561,61836,40157,39562,39562,51424,39562,39562,39562,48361,39562,39562,39562,39562,83055,40408,40408,40350,40071,40407,42551,49228,49582,40190,41941,72843,78469,39562,43084,83224,73873,39669,66704,66711,43142,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41897,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49296,49334,49332,63973,40157,39562,39562,39562,81604,77186,82409,49352,49353,49369,49384,39562,78492,43007,49407,61836,40157,39562,39562,51424,39562,39562,39562,62033,39562,39562,39562,39562,76828,40408,40408,40350,40071,40407,42551,49426,49582,40190,41941,72843,78469,39562,43084,83224,73873,39669,66704,66711,43142,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41897,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,83145,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,49468,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,49521,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49542,49569,39562,63973,40157,39562,39562,39562,81604,77186,82542,49598,49598,49598,49607,39562,56152,49623,39561,61836,40157,39562,39562,51424,39562,39562,39562,50947,49639,39562,39562,39562,40250,40408,40408,40350,40071,40407,42551,49661,49582,40190,41941,72843,78469,39562,45647,83224,73873,49697,66704,66711,49710,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41897,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,45667,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,45712,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49739,49747,39562,63973,49767,39562,39562,39562,81604,77186,39562,39562,82624,49794,49820,82622,49843,49859,39561,61836,40157,39562,39562,51424,59350,39562,39562,39562,39562,39562,39562,39562,71689,40408,40408,40350,40071,40407,83408,49875,49582,40190,41941,72843,78469,39562,43084,83224,73873,39669,66704,66711,43142,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41897,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,39562,39562,63973,40157,39562,39562,39562,81604,77186,39562,39562,39562,39562,39562,39562,49906,43007,39561,61836,40157,39562,39562,51424,39562,39562,39562,80877,39562,39562,39562,39562,83055,40408,40408,40350,40071,40407,42551,39579,49582,40190,41941,72843,78469,39562,43084,83224,73873,39669,66704,66711,43142,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41897,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,63973,40157,39562,39562,39562,81604,77186,39562,39562,39562,39562,59757,49945,69041,45472,39562,61836,40157,39562,39562,39562,48996,39562,39562,80877,39562,39562,39562,39562,55151,44526,44526,54003,51620,74172,62714,49974,39562,40190,39562,39562,39562,49994,45488,39562,39562,45508,39562,39562,62959,44526,44526,44526,44526,44526,44526,54846,51619,51619,51619,51619,51619,73699,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,39562,50014,45939,39562,39562,39562,39562,81419,44526,44526,44526,44526,44526,44526,44526,44526,44526,52762,51619,51619,51619,51619,51619,51619,51619,51619,51927,44834,44834,44834,44834,44834,44834,44834,44834,44834,56597,39562,39562,39562,39562,48474,45943,39562,39562,39562,61444,44526,44526,44526,44526,44526,44526,44526,44526,44526,52760,51619,51619,51619,51619,51619,51619,51619,51619,51619,74167,44834,44834,44834,44834,44834,44834,44834,44834,66367,39562,39562,39562,39562,50036,39562,39562,60172,50056,44526,44526,44526,44526,44526,44526,44526,44526,44890,51619,51619,51619,51619,51619,51619,51619,77786,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,44851,39562,39562,58153,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,54178,44834,44834,44834,44834,44834,44834,51984,39562,65446,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,63973,40157,39562,39562,39562,81604,77186,39562,39562,39562,39562,59757,49945,69041,45472,39562,61836,40157,39562,39562,39562,48996,39562,39562,80877,39562,39562,39562,39562,55151,44526,44526,54003,51620,74172,62714,49974,39562,40190,39562,39562,39562,49994,45488,39562,39562,45508,39562,39562,62959,44526,44526,44526,44526,44526,44526,54846,51619,51619,51619,51619,51619,73699,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,39562,50014,45939,39562,39562,39562,39562,81419,44526,44526,44526,44526,44526,44526,44526,44526,44526,52762,51619,51619,51619,51619,51619,51619,51619,51619,51927,44834,44834,44834,44834,44834,44834,44834,44834,44834,56597,39562,39562,39562,39562,48474,45943,39562,39562,39562,61444,44526,44526,44526,44526,44526,44526,44526,44526,44526,52760,51619,51619,51619,51619,51619,51619,51619,51619,51619,74167,44834,44834,44834,44834,44834,44834,44834,44834,66367,39562,39562,39562,39562,44851,39562,39562,60172,50056,44526,44526,44526,44526,44526,44526,44526,44526,44890,51619,51619,51619,51619,51619,51619,51619,77786,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,44851,39562,39562,58153,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,54178,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,63973,40157,39562,39562,39562,81604,77186,39562,39562,39562,39562,59757,49945,69041,45472,39562,61836,40157,39562,39562,39562,48996,39562,39562,80877,39562,39562,39562,39562,55151,44526,44526,54003,51620,74172,62714,49974,39562,40190,39562,39562,39562,49994,45488,39562,39562,45508,39562,39562,62959,44526,44526,44526,44526,44526,44526,54846,51619,51619,51619,51619,51619,73699,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,39562,50014,50073,39562,39562,39562,39562,81419,44526,44526,44526,44526,44526,44526,44526,44526,44526,52762,51619,51619,51619,51619,51619,51619,51619,51619,51927,44834,44834,44834,44834,44834,44834,44834,44834,44834,56597,39562,39562,39562,39562,48474,45943,39562,39562,39562,61444,44526,44526,44526,44526,44526,44526,44526,44526,44526,52760,51619,51619,51619,51619,51619,51619,51619,51619,51619,74167,44834,44834,44834,44834,44834,44834,44834,44834,66367,39562,39562,39562,39562,44851,39562,39562,60172,50056,44526,44526,44526,44526,44526,44526,44526,44526,44890,51619,51619,51619,51619,51619,51619,51619,77786,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,44851,39562,39562,58153,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,54178,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,63973,40157,39562,39562,39562,81604,77186,39562,39562,39562,39562,59757,49945,69041,45472,39562,61836,40157,39562,39562,39562,48996,39562,39562,80877,39562,39562,39562,39562,55151,44526,44526,54003,51620,74172,62714,49974,39562,40190,39562,39562,39562,49994,45488,39562,39562,45508,39562,39562,62959,44526,44526,44526,44526,44526,44526,54846,51619,51619,51619,51619,51619,73699,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,39562,50014,45939,39562,39562,39562,39562,81419,44526,44526,44526,44526,44526,44526,44526,44526,44526,52762,51619,51619,51619,51619,51619,51619,51619,51619,51927,44834,44834,44834,44834,44834,44834,44834,44834,44834,56597,39562,39562,39562,39562,48233,45943,39562,39562,39562,61444,44526,44526,44526,44526,44526,44526,44526,44526,44526,52760,51619,51619,51619,51619,51619,51619,51619,51619,51619,74167,44834,44834,44834,44834,44834,44834,44834,44834,66367,39562,39562,39562,39562,44851,39562,39562,60172,50056,44526,44526,44526,44526,44526,44526,44526,44526,44890,51619,51619,51619,51619,51619,51619,51619,77786,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,44851,39562,39562,58153,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,54178,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,63973,40157,39562,39562,39562,81604,77186,39562,39562,39562,39562,59757,49945,69041,45472,39562,61836,40157,39562,39562,44151,48996,39562,39562,80877,39562,39562,39562,39562,55151,44526,44526,54003,51620,74172,62714,49974,39562,40190,39562,39562,45837,49994,45488,39562,39562,45508,39562,39562,62959,44526,44526,44526,44526,44526,44526,54846,51619,51619,51619,51619,51619,73699,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,39562,50014,45939,39562,39562,39562,39562,81419,44526,44526,44526,44526,44526,44526,44526,44526,44526,52762,51619,51619,51619,51619,51619,51619,51619,51619,51927,44834,44834,44834,44834,44834,44834,44834,44834,44834,56597,39562,39562,39562,39562,48474,45943,39562,39562,39562,61444,44526,44526,44526,44526,44526,44526,44526,44526,44526,52760,51619,51619,51619,51619,51619,51619,51619,51619,51619,74167,44834,44834,44834,44834,44834,44834,44834,44834,66367,39562,39562,39562,39562,44851,39562,39562,60172,50056,44526,44526,44526,44526,44526,44526,44526,44526,44890,51619,51619,51619,51619,51619,51619,51619,77786,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,44851,39562,39562,58153,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,54178,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,63973,40157,39562,39562,39562,81604,77186,39562,39562,39562,39562,59757,49945,69041,45472,39562,61836,40157,39562,39562,39562,48996,39562,39562,80877,39562,39562,39562,39562,55151,44526,44526,54003,51620,74172,62714,49974,39562,40190,39562,39562,39562,39562,45488,39562,39562,45508,39562,39562,62959,44526,44526,44526,44526,44526,44526,54846,51619,51619,51619,51619,51619,73699,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,39562,39562,45939,39562,39562,39562,39562,81419,44526,44526,44526,44526,44526,44526,44526,44526,44526,52762,51619,51619,51619,51619,51619,51619,51619,51619,51927,44834,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,39562,39562,44760,45943,39562,39562,39562,61444,44526,44526,44526,44526,44526,44526,44526,44526,44526,52760,51619,51619,51619,51619,51619,51619,51619,51619,51619,74167,44834,44834,44834,44834,44834,44834,44834,44834,51982,39562,39562,39562,39562,44851,39562,39562,39562,50056,44526,44526,44526,44526,44526,44526,44526,44526,44890,51619,51619,51619,51619,51619,51619,51619,76937,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,44851,39562,39562,50057,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,52381,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,63973,40157,39562,39562,39562,81604,77186,39562,39562,39562,39562,59757,49945,69041,45472,39562,61836,40157,39562,39562,39562,48996,39562,39562,80877,39562,39562,39562,39562,55151,44526,44526,54003,51620,74172,62714,50093,39562,40190,39562,39562,39562,39562,45488,39562,39562,45508,39562,39562,62959,44526,44526,44526,44526,44526,44526,54846,51619,51619,51619,51619,51619,73699,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,39562,39562,45939,39562,39562,39562,39562,81419,44526,44526,44526,44526,44526,44526,44526,44526,44526,52762,51619,51619,51619,51619,51619,51619,51619,51619,51927,44834,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,39562,39562,44760,45943,39562,39562,39562,61444,44526,44526,44526,44526,44526,44526,44526,44526,44526,52760,51619,51619,51619,51619,51619,51619,51619,51619,51619,74167,44834,44834,44834,44834,44834,44834,44834,44834,51982,39562,39562,39562,39562,44851,39562,39562,39562,50056,44526,44526,44526,44526,44526,44526,44526,44526,44890,51619,51619,51619,51619,51619,51619,51619,76937,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,44851,39562,39562,50057,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,52381,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,63973,40157,39562,39562,39562,81604,77186,39562,39562,39562,39562,59757,49945,69041,50113,39562,61836,40157,39562,39562,39562,48996,39562,39562,80877,39562,39562,39562,39562,55151,44526,44526,54003,51620,74172,62714,49974,39562,40190,39562,39562,39562,39562,45488,39562,39562,45508,39562,39562,62959,44526,44526,44526,44526,44526,44526,54846,51619,51619,51619,51619,51619,73699,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,39562,39562,45939,39562,39562,39562,39562,81419,44526,44526,44526,44526,44526,44526,44526,44526,44526,52762,51619,51619,51619,51619,51619,51619,51619,51619,51927,44834,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,39562,39562,44760,45943,39562,39562,39562,61444,44526,44526,44526,44526,44526,44526,44526,44526,44526,52760,51619,51619,51619,51619,51619,51619,51619,51619,51619,74167,44834,44834,44834,44834,44834,44834,44834,44834,51982,39562,39562,39562,39562,44851,39562,39562,39562,50056,44526,44526,44526,44526,44526,44526,44526,44526,44890,51619,51619,51619,51619,51619,51619,51619,76937,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,44851,39562,39562,50057,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,52381,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,63973,40157,39562,39562,39562,81604,77494,39562,39562,39562,39562,39985,50129,50144,45472,39562,61836,40157,39562,39562,39562,48996,39562,39562,80877,39562,39562,39562,39562,55151,44526,44526,54003,51620,74172,62714,49974,39562,40190,39562,39562,39562,39562,50160,39562,39562,45508,39562,39562,65241,44526,44526,44526,44526,44526,44526,51578,51619,51619,51619,51619,51619,72641,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,39562,39562,45939,39562,39562,39562,39562,81419,44526,44526,44526,44526,44526,44526,44526,44526,44526,52762,51619,51619,51619,51619,51619,51619,51619,51619,51927,44834,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,39562,39562,44760,45943,39562,39562,39562,61444,44526,44526,44526,44526,44526,44526,44526,44526,44526,52760,51619,51619,51619,51619,51619,51619,51619,51619,51619,74167,44834,44834,44834,44834,44834,44834,44834,44834,51982,39562,39562,39562,39562,44851,39562,39562,39562,50056,44526,44526,44526,44526,44526,44526,44526,44526,44890,51619,51619,51619,51619,51619,51619,51619,76937,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,44851,39562,39562,50057,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,52381,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,63973,40157,39562,39562,39562,81604,77186,39562,39562,39562,39562,40221,50176,50213,45472,39562,61836,40157,39562,39562,39562,48996,39562,39562,80877,39562,39562,39562,39562,55151,44526,44526,54003,51620,74172,62714,49974,39562,40190,39562,39562,39562,39562,45488,39562,39562,45508,39562,39562,62959,44526,44526,44526,44526,44526,44526,54846,51619,51619,51619,51619,51619,73699,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,39562,39562,45939,39562,39562,39562,39562,81419,44526,44526,44526,44526,44526,44526,44526,44526,44526,52762,51619,51619,51619,51619,51619,51619,51619,51619,51927,44834,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,39562,39562,44760,45943,39562,39562,39562,61444,44526,44526,44526,44526,44526,44526,44526,44526,44526,52760,51619,51619,51619,51619,51619,51619,51619,51619,51619,74167,44834,44834,44834,44834,44834,44834,44834,44834,51982,39562,39562,39562,39562,44851,39562,39562,39562,50056,44526,44526,44526,44526,44526,44526,44526,44526,44890,51619,51619,51619,51619,51619,51619,51619,76937,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,44851,39562,39562,50057,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,52381,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,63973,40157,39562,39562,39562,81604,77186,39562,39562,39562,39562,59757,49945,69041,45472,39562,61836,40157,39562,39562,39562,48996,39562,39562,80877,39562,39562,39562,39562,55151,44526,44526,54003,51620,74172,62714,49974,39562,40190,39562,39562,39562,39562,45488,39562,39562,45508,39562,39562,62959,44526,44526,44526,44526,44526,44526,54846,51619,51619,51619,51619,51619,73699,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,39562,39562,45939,39562,39562,39562,39562,81419,44526,44526,44526,44526,44526,44526,44526,44526,44526,52762,51619,51619,51619,51619,51619,51619,51619,51619,51927,44834,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,39562,39562,44760,45943,39562,39562,39562,61444,44526,44526,44526,44526,44526,44526,44526,44526,44526,52760,51619,51619,51619,51619,51619,51619,51619,51619,51619,74167,44834,44834,44834,44834,44834,44834,44834,44834,51982,39562,39562,39562,39562,44851,39562,39562,39562,50056,44526,44526,44526,44526,44526,44526,44526,44526,44890,51619,51619,51619,51619,51619,51619,51619,76937,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,50229,39562,39562,50057,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,52381,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,50249,39562,39562,63973,40157,39562,39562,39562,81604,77186,39562,39562,39562,39562,59757,49945,69041,45472,39562,61836,40157,39562,39562,39562,48996,39562,39562,80877,39562,39562,39562,39562,55151,44526,44526,54003,51620,74172,62714,49974,39562,40190,39562,39562,39562,39562,45488,39562,39562,45508,39562,39562,62959,44526,44526,44526,44526,44526,44526,54846,51619,51619,51619,51619,51619,73699,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,39562,39562,45939,39562,39562,39562,39562,81419,44526,44526,44526,44526,44526,44526,44526,44526,44526,52762,51619,51619,51619,51619,51619,51619,51619,51619,51927,44834,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,39562,39562,44760,45943,39562,39562,39562,61444,44526,44526,44526,44526,44526,44526,44526,44526,44526,52760,51619,51619,51619,51619,51619,51619,51619,51619,51619,74167,44834,44834,44834,44834,44834,44834,44834,44834,51982,39562,39562,39562,39562,44851,39562,39562,39562,50056,44526,44526,44526,44526,44526,44526,44526,44526,44890,51619,51619,51619,51619,51619,51619,51619,76937,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,44851,39562,39562,50057,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,52381,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,39562,39562,63973,40157,39562,39562,39562,81604,77186,74297,39562,39562,50272,50282,69775,50325,43007,39561,61836,40157,39562,39562,51424,39562,39562,39562,80877,39562,39562,39562,39562,83055,40408,40408,40350,40071,40407,42551,39579,49582,40190,41941,72843,78469,39562,50341,83224,73873,39669,66704,66711,43142,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41897,39837,39855,39710,39896,84401,42640,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,50360,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,39562,39562,63973,40157,39562,39562,39562,81604,77186,39562,39562,39562,39562,39562,39562,43194,43007,39561,61836,40157,39562,39562,51424,39562,39562,39562,80877,39562,39562,39562,39562,83055,40408,40408,40350,40071,40407,42551,39579,49582,40190,41941,72843,78469,39562,43084,83224,73873,39669,66704,66711,43142,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41897,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,50410,42328,49275,63973,49258,39562,39562,39562,81604,49270,83036,50440,50440,50440,50449,39562,49553,50472,39561,61836,40157,39562,39562,51424,39562,39562,39562,80877,39562,39562,39562,39562,83055,40408,40408,40350,40071,40407,42551,50488,49582,40190,41941,72843,78469,39562,43084,83224,73873,39669,66704,66711,43142,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41897,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,63973,40157,39562,39562,39562,81604,77186,39562,39562,39562,39562,59757,49945,69041,45472,50542,61836,40157,39562,39562,40107,48996,39562,39562,80877,39562,39562,39562,39562,55151,44526,44526,54003,51620,74172,62714,50531,39562,40190,39562,39562,49409,50559,45488,39562,39562,45508,39562,39562,62959,44526,44526,44526,44526,44526,44526,54846,51619,51619,51619,51619,51619,73699,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,49410,50577,45939,39562,39562,39562,39562,81419,44526,44526,44526,44526,44526,44526,44526,44526,44526,52762,51619,51619,51619,51619,51619,51619,51619,51619,51927,44834,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,39562,39562,50595,45943,39562,39562,39562,61444,44526,44526,44526,44526,44526,44526,44526,44526,44526,52760,51619,51619,51619,51619,51619,51619,51619,51619,51619,74167,44834,44834,44834,44834,44834,44834,44834,44834,51982,39562,39562,39562,39562,44851,39562,39562,39562,50056,44526,44526,44526,44526,44526,44526,44526,44526,44890,51619,51619,51619,51619,51619,51619,51619,76937,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,44851,39562,39562,50057,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,52381,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,50623,50630,39562,67122,40157,39562,39562,39562,81604,77186,39562,39562,39562,39562,39562,82168,50646,50662,39561,43510,40157,39562,39562,51424,39562,39562,39562,80877,39562,39562,39562,39562,83055,40408,40408,40350,40071,40407,40984,50678,49582,40190,41941,72843,78469,39562,43084,83224,73873,39669,66704,66711,43142,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41897,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,54800,63973,50728,50751,39562,51045,40138,50785,50811,50838,50854,50826,50864,50880,50895,45472,55860,61836,50911,45722,50963,59682,79206,80258,50999,51034,53300,48517,51061,43968,51078,51116,51157,51192,51229,51278,51294,51330,39562,40190,51377,67660,39562,49994,51405,62629,39562,45508,54643,53527,51440,60269,63133,57035,44526,51480,44526,54846,52176,79846,68111,51619,75963,73699,52194,79179,82291,44834,65083,51984,68540,68567,54674,55891,51523,50014,45939,39562,56751,58087,59218,56199,54539,44526,78958,51540,44526,51558,44526,51594,51169,76716,51619,51618,72082,51636,51619,72604,51656,51674,76672,75765,81578,67739,76384,44834,65486,51710,53192,51734,56597,39562,39562,51062,51524,51752,45943,39562,40766,62622,51780,51804,51840,44526,51861,44526,61135,70851,80915,44526,52760,62680,51881,51619,54945,51619,51619,51905,69926,51922,74167,51943,51978,44834,52e3,44834,80231,44834,52020,66367,39562,39562,52036,77953,52053,78398,39562,60172,52112,79310,44526,72860,44526,44526,52140,75371,82269,54576,58668,51619,51619,52157,51619,52174,68705,77786,58439,52192,44834,65202,44834,57894,44834,52210,63785,67105,52245,44851,52264,39562,58153,52289,52307,52326,52360,58156,53110,54006,52378,52400,73977,52421,51619,52441,65673,44834,52487,52505,52530,44834,52547,39562,39562,39562,64451,77155,52565,44526,51845,44526,52849,51694,51619,51619,52584,59292,62748,44834,44834,52607,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,52630,52666,54425,51686,52693,52715,52740,52756,52779,58639,52815,52836,52873,52895,59084,52931,54414,75408,57010,52966,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,67764,63973,40157,39562,39562,39562,55793,77186,68548,52993,53003,53009,53025,53040,53055,45472,39562,61836,40157,39562,39562,44377,48996,39562,39562,80877,39562,39562,39562,39562,55151,44526,44526,54003,51620,74172,62714,49974,39562,40190,39562,39562,39562,49994,45488,39562,39562,45508,39562,39562,62959,44526,44526,44526,44526,44526,44526,54846,51619,51619,51619,51619,51619,73699,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,55933,53071,52077,45796,39562,39562,39562,81419,44526,44526,44526,44526,75906,44526,67409,53106,44526,52762,51619,51619,51619,51619,60074,51619,67720,57226,51927,44834,44834,44834,44834,62451,44834,44834,53126,44834,56597,39562,39562,39562,39562,48474,45943,39562,39562,39562,61444,44526,44526,44526,44526,44526,44526,44526,44526,44526,52760,51619,51619,51619,51619,51619,51619,51619,51619,51619,74167,44834,44834,44834,44834,44834,44834,44834,44834,66367,39562,39562,39562,59954,44851,39562,79735,60172,53156,44526,44526,44526,44526,44526,44526,68281,67321,81091,51619,51619,51619,51619,51619,51619,55539,77786,53185,44834,44834,44834,44834,44834,44834,62427,76975,39562,39562,44851,39562,39562,58153,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,54178,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,53208,77117,53245,53268,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,41308,63973,40157,39431,39562,39562,43337,53316,53329,53345,53360,53375,53385,53401,53416,45472,39562,61836,53432,48964,39562,39562,48996,39562,39562,80877,39562,39562,71257,39562,53450,61698,53473,53490,66169,74172,53512,49974,39562,40294,39562,50256,39562,53548,45488,53577,53594,45508,53629,64776,56332,53647,53683,44526,53704,44526,70431,78119,53739,53755,51619,53778,51619,73699,53815,53831,44834,53854,44834,51984,39562,50233,39562,54679,39562,50014,51764,81189,53891,39562,39562,53907,72020,53941,53960,44526,44526,53976,60326,44526,68273,54e3,75452,54022,54042,54061,51619,60083,51619,54079,51927,67608,62160,73997,76031,44834,65120,54099,80299,44834,56597,39562,39562,39562,58117,54117,45943,39562,69368,39562,61444,55338,44526,44526,44526,44526,44526,72145,44526,54155,78989,54954,51619,51619,51619,51619,51619,51619,54175,44714,74167,54194,44834,44834,44834,44834,44834,71647,44834,57987,39562,39562,39562,39562,44851,75261,39562,60172,50056,44526,44526,44526,54214,82687,44526,65955,44526,44890,51619,51619,51619,54233,72943,51619,64675,77786,44834,44834,44834,73306,44834,55034,44834,54253,76975,65466,54271,44851,39562,54291,58153,75851,44509,44526,44526,54318,44526,54006,56550,51619,54338,51619,79619,82310,44834,52221,75735,44834,44834,54355,55384,39562,39562,39562,54375,54403,44526,76698,44526,44526,54441,54462,61641,54480,51619,59292,54500,75495,54518,44834,52549,39562,42677,39562,77154,54538,44526,44526,73948,54600,51619,51619,58353,61211,44834,44834,67641,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,59429,54555,44527,54592,65909,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,80510,63220,54616,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,77463,63973,40157,69755,39562,54636,54659,77544,43685,43700,43715,43719,54695,54710,54725,45472,39562,61836,40157,39562,39562,39562,48996,39562,39562,80877,46071,39562,46070,67838,55151,75843,51542,45395,51620,56114,62714,49974,50503,40682,49336,54741,39562,49994,45488,39562,71264,45508,40306,54787,71561,44526,54823,65598,54840,68301,52291,54862,54899,54917,51619,54936,51906,73699,54988,55006,44834,55025,44835,51984,39562,58002,39562,39562,55938,55068,45939,39562,39562,39562,68765,81419,44526,44526,44526,70472,44526,44526,51572,44526,55095,75875,51619,51619,51619,67346,51619,51619,73663,51619,55111,44834,44834,44834,44834,55127,44834,57911,44834,53252,56597,39562,55148,61996,40732,48474,45943,55667,39562,64892,61444,55169,81390,55190,44526,44526,44526,44526,78066,44526,52760,55214,62649,54972,51619,51619,51619,51619,75700,55238,79654,55257,63703,55276,44834,44834,44834,44834,52229,66367,39562,39562,39562,78535,44851,64738,77920,60172,55300,44526,44526,44526,44526,62307,44526,44526,55324,77110,51619,51619,51619,51619,63616,51619,51619,74665,55360,44834,44834,44834,44834,55378,44834,44834,55400,77513,39562,44851,67153,39562,58153,68329,44526,44948,81108,44526,44526,54006,68379,51619,51619,55417,55434,54178,44834,55453,44834,76522,72162,44834,51984,39562,80686,39562,39562,77155,44526,44526,44526,75911,52763,51619,51619,51619,51619,55474,44834,44834,44834,44834,76968,55498,39562,39562,77154,44526,44526,55174,52760,51619,51619,51619,81534,44834,44834,44834,63746,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,55518,51619,70790,51984,53457,65961,82130,59293,55555,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,43176,63973,40157,55579,55665,42942,77191,55650,55594,55609,55624,55683,55634,55699,55714,45472,44995,55730,55782,55809,55831,55847,49890,49804,64813,55876,55918,49391,55954,55990,56013,56049,56065,56094,56130,56168,56184,49974,56238,40190,50693,56257,56715,49994,56291,39562,56348,56366,58009,39562,56382,61099,56418,56454,70097,56474,56499,56529,44586,56566,70756,55437,67997,56582,44606,56622,79397,65788,69100,56638,41675,56663,54387,56690,56709,56731,78808,68862,56767,52729,56802,56823,56839,56861,56886,75834,56910,56938,56974,57026,57059,57080,57116,57139,57166,74550,59013,57192,57215,57250,76197,57279,73331,57308,61756,57324,57360,80997,57396,57447,57411,57463,39562,57499,73087,41408,57528,57559,69973,61866,61444,41793,57594,57613,60899,65852,57630,57653,57673,57709,57760,44566,57795,64060,74315,57831,68066,68079,57771,57852,74167,79906,57889,57910,51718,44834,57927,57951,57972,58025,39562,50769,58061,58083,58103,39562,45583,58139,58172,72027,58188,58213,64956,58249,64640,58284,81507,51507,78228,58305,58339,61523,73630,69327,58376,77786,58398,58424,58461,55043,58477,58511,58535,58551,76975,58568,39562,44851,60612,69440,58153,58604,80011,78850,71606,44526,44526,54006,58629,51619,58655,51889,58691,54178,44834,58708,82328,70798,44743,44834,58445,66420,58731,52950,45911,58766,68618,78629,78929,58791,53169,75682,79072,58818,58834,58850,60232,55009,58905,74439,58921,58946,56606,72717,71874,44526,58963,56078,58998,59029,82370,59051,59073,59108,75538,59133,59185,65835,59214,64498,44526,59234,56222,59269,68660,59289,59309,59160,59329,59366,53925,59386,68387,59406,59169,59426,55153,44526,81219,70390,44834,69637,53457,79976,64986,58360,74173,74581,58982,59445,59481,59516,56483,59253,59539,59555,59582,59623,77146,52763,45285,69064,59292,45315,45077,71050,59653,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,63973,40157,45651,59679,59698,59733,59773,59786,59802,59817,59821,59837,59852,59867,45472,39562,59883,40157,59952,39562,59970,48996,39562,43361,68176,39562,59993,39562,59988,55151,60009,56870,64116,67522,60099,60134,49974,60170,40190,39562,39562,72686,49994,45488,51309,73097,45508,50579,39562,62959,60946,44526,60188,44526,44526,44526,54846,70125,51619,60206,51619,51619,73699,78356,44834,60227,44834,44834,51984,39562,39562,39562,39562,39562,50014,45939,39562,39562,39562,60248,81419,44526,60265,44526,44526,44526,44526,60285,44526,44526,52762,51619,60304,51619,51619,51619,51619,45182,51619,51927,44834,81585,44834,44834,44834,44834,65693,44834,44834,56597,50543,39562,39562,39562,48474,45943,39562,39562,39562,61444,44526,44526,44526,44526,60325,44526,44526,44526,44526,52760,51619,51619,51619,51619,57093,51619,51619,51619,51619,74167,44834,44834,44834,44834,60342,44834,44834,44834,66367,55401,39562,39562,39562,44851,39562,59972,60172,50056,44526,44526,44526,44526,75620,82251,44526,44526,44890,51619,51619,51619,51619,51619,60360,51619,77786,44834,44834,44834,44834,44834,76558,80375,44834,76975,39562,39562,44851,39562,39562,58153,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,54178,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,66105,39562,39562,64164,44526,44526,44526,52760,51206,51619,51619,44817,59465,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,52820,57657,70763,55563,60376,60405,59566,67492,45315,45077,71050,45082,60441,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,63973,40157,39562,60479,39562,81604,60499,60512,60528,60528,60528,60537,60553,60568,45472,39562,61836,40157,39562,39562,61471,48996,39562,39562,80877,39562,39562,39562,39562,55151,44526,44526,54003,51620,74172,62714,60584,39562,40190,39562,39562,39562,39562,45488,60610,39562,45508,39562,39562,62959,61738,44526,44526,44526,44526,44526,54846,54063,51619,51619,51619,51619,73699,52489,44834,44834,44834,44834,51984,39562,39562,39562,39562,39562,39562,45939,55502,39562,39562,83343,40634,44526,44526,44526,67679,44526,44526,44526,70061,44526,52762,51619,51619,51619,51619,60628,51619,51619,51619,60645,44834,44834,44834,44834,45217,44834,44834,44834,62740,76975,64533,39562,63404,60844,44760,45943,39562,39562,39562,61444,44526,44526,44526,44526,76337,44526,44526,51176,44526,52760,51619,51619,51619,51619,51619,60661,51619,51619,60681,74167,44834,44834,44834,44834,70282,44834,44834,71972,51982,39562,39562,39562,39562,44851,39562,39562,39562,50056,44526,44526,44526,44526,44526,44526,44526,44526,44890,51619,51619,51619,51619,51619,51619,51619,76937,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,66836,60699,39562,39562,50057,44526,44526,60715,44526,60734,44526,54006,51619,51619,60755,51619,65383,52381,44834,44834,44834,60776,44834,60794,51984,60815,60832,60867,71354,60891,81437,60915,44526,60931,81455,51619,60982,78255,52591,61009,44834,61034,61238,60118,61069,39562,77372,39562,61093,51489,61115,44526,60739,51619,61151,80112,44817,61189,61206,61227,44834,76975,78451,53456,61262,57686,63144,61279,82755,59409,81350,61795,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,61301,61345,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,63973,40157,39562,39562,39562,81604,77186,39562,39562,39562,39562,59757,49945,69041,45472,39562,61836,40157,39562,61381,58744,48996,61401,39562,64586,39562,64577,61421,61468,55151,61496,61487,61512,59607,61539,61562,49974,39562,40190,60594,39562,39562,39562,45488,39562,39562,45508,76625,39562,62959,44526,44526,61601,70695,44526,44526,71445,51619,51619,61619,45189,61640,73699,44834,44834,61657,51962,61678,51984,39562,42282,39562,39562,39562,39562,45939,39562,39562,46088,39562,81419,44526,44526,44526,44526,44526,44526,44526,44526,61695,52762,51619,51619,51619,51619,51619,51619,51619,51619,62693,44834,44834,44834,44834,44834,44834,44834,44834,65769,76975,39562,61714,39562,39562,44760,45943,39562,39562,61385,61444,61734,44526,44526,44526,44526,44526,44526,68798,44526,52760,52792,51619,51619,51619,51619,51619,51619,51619,73656,74167,61754,44834,44834,44834,44834,44834,44834,44834,61772,39562,57431,39562,39562,44851,39562,39562,39562,50056,44526,44526,44526,40651,44526,60897,44526,79268,44890,51619,51619,51619,63515,51619,80936,51619,76937,44834,44834,44834,44834,61790,44834,80368,44834,76975,39562,39562,44851,39562,39562,50057,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,52381,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,71410,39562,39562,77154,44526,63568,44526,52760,51619,51619,61811,44817,44834,44834,63359,44834,76975,39562,78843,44526,45688,56033,51619,81975,61165,44834,82603,63775,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39563,61831,40157,40826,42319,61852,55902,83017,41948,61888,61903,61929,61913,61945,61960,45472,39562,49243,61976,39562,43614,69361,48996,50795,43616,49441,49827,70330,62012,79743,46108,62049,62089,56989,62127,62176,79123,49974,39562,62192,39562,39562,62213,58067,62230,39562,39562,45508,62266,53606,62959,79251,52141,44526,53474,62293,62333,58613,57836,51619,62351,51619,62369,62412,67589,44834,62449,44834,62467,62504,39562,62993,70007,50515,39562,62529,62568,62588,39562,39562,62610,81419,60190,72541,44526,67925,80427,57614,77213,67453,44526,52762,52158,79876,51619,79362,76464,62645,62665,73255,51927,44834,76227,62709,68514,44834,62730,78761,62764,62785,76975,39562,59710,62807,39562,60463,45943,70833,39562,39562,39680,44526,44526,44526,44526,44526,58227,62824,71846,76100,52760,62846,51619,51619,51619,51619,76006,58323,51619,71021,51243,44834,44834,44834,44834,44834,51255,62863,44834,62886,39562,62903,57483,64564,62937,62953,62975,64287,63009,63031,63074,63093,51865,63118,70546,63187,66970,70724,63208,63244,63263,78677,63288,68696,63304,66223,73034,77829,74085,63326,63711,75148,63346,63382,64091,63399,79481,63420,63456,62244,63482,44526,63531,44526,63560,63584,74111,63603,51619,70880,51619,63651,63677,74408,63693,44834,63727,68149,45368,63762,58519,39562,39562,63801,39562,63817,63840,53723,45696,44526,69314,57234,51619,63860,63879,78263,61246,44834,63897,63916,71993,39562,56786,39562,77154,53944,70091,44526,63934,51619,63272,51619,81037,44834,79094,63953,44834,63972,67809,77590,44526,53916,52760,63989,80954,59409,64006,63956,51983,66438,44526,62102,51619,68823,44834,70222,50300,77709,64023,64045,81685,64082,73812,64107,73272,59293,73061,53455,44528,51619,45286,52549,61585,60966,64132,64152,44529,59410,77023,52763,45285,69064,59292,45315,58408,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,63973,40157,39562,39562,39562,81604,77186,39562,39562,39562,39562,39880,64180,64195,45472,39562,61836,40157,39562,39562,39562,48996,39562,39562,80877,39562,39562,39562,39562,55151,44526,44526,54003,51620,74172,62714,49974,39562,40190,39562,39562,39562,39562,45488,39562,39562,45508,39562,39562,62959,44526,44526,44526,44526,44526,44526,54846,51619,51619,51619,51619,51619,73699,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,39562,39562,45939,39562,39562,39562,39562,81419,44526,44526,44526,44526,44526,44526,44526,44526,44526,52762,51619,51619,51619,51619,51619,51619,51619,51619,51927,44834,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,39562,39562,44760,45943,39562,39562,39562,61444,44526,44526,44526,44526,44526,44526,44526,44526,44526,52760,51619,51619,51619,51619,51619,51619,51619,51619,51619,74167,44834,44834,44834,44834,44834,44834,44834,44834,51982,39562,39562,39562,39562,44851,39562,39562,39562,50056,44526,44526,44526,44526,44526,44526,44526,44526,44890,51619,51619,51619,51619,51619,51619,51619,76937,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,44851,39562,39562,50057,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,52381,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,63973,40157,39562,39562,39562,64211,77186,39562,39562,39562,39562,43038,43053,43068,45472,39562,61836,40157,39562,45631,39562,48996,39562,39562,80877,39562,39562,39562,39562,55151,44526,64227,64244,73599,74172,64266,49974,39562,40190,39562,39562,39562,39562,45488,39562,39562,45508,39562,39562,62959,44526,44526,44526,44526,44526,44526,54846,51619,51619,51619,51619,51619,73699,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,39562,39562,45939,39562,39562,39562,39562,81419,44526,44526,44526,44526,44526,44526,44526,44526,44526,52762,51619,51619,51619,51619,51619,51619,51619,51619,51927,44834,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,39562,39562,44760,45943,39562,39562,39562,61444,44526,44526,44526,53716,44526,44526,44526,44526,44526,52760,51619,51619,51619,74018,51619,51619,51619,51619,51619,74167,44834,44834,44834,60111,44834,44834,44834,44834,51982,39562,39562,39562,39562,44851,39562,39562,39562,50056,44526,44526,44526,44526,44526,44526,44526,44526,44890,51619,51619,51619,51619,51619,51619,51619,76937,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,44851,39562,39562,50057,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,52381,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,64303,40157,39562,64324,66712,81604,64350,64363,64379,64379,64379,64390,64406,64421,45472,67772,61836,40157,39562,39562,64437,64479,49676,39562,64514,39562,50020,51340,64549,60875,64602,64626,64662,78205,64698,64723,64766,39562,40190,64800,39562,54807,64887,64829,39562,39562,64858,64879,62594,64842,67931,69495,44526,64908,52362,64944,74516,64972,73237,51619,71752,65009,65027,65069,64707,44834,80189,65118,65136,39562,39562,39562,72124,39562,65161,48486,39562,71283,39562,39562,40634,58775,44526,73211,44526,44526,70630,44526,61263,44526,52762,69541,51619,70902,51619,51619,54339,51619,51619,65180,60344,65196,44834,65218,44834,44834,76776,44834,65102,76975,57426,57478,58040,39562,40741,65235,39562,65257,39562,61444,44526,44526,65277,81300,65295,81624,76873,65313,44526,52760,51619,51619,52908,51619,65334,51619,65358,76161,51619,74167,44834,44834,65407,70301,65425,70668,69675,63739,51982,65444,65462,61718,39562,44851,39562,39562,39562,50056,79318,62061,44526,44526,44526,44526,44526,44526,44890,68669,59595,51619,51619,51619,51619,51619,76937,44834,65482,65502,44834,44834,44834,44834,44834,76975,39562,69796,65525,60816,39562,65561,65595,44526,44526,65614,44526,65635,78997,65652,51619,51619,76190,51619,76930,67032,65672,44834,44834,65689,44834,65709,39562,39562,63434,39562,77155,73909,44526,65725,44526,52763,51619,65745,59057,51619,59292,44834,65765,53799,44834,52549,39562,39562,39562,77154,44526,44526,70603,74119,51619,51619,62847,44817,44834,44834,44834,65785,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,65804,80340,64136,65828,65851,65868,59457,61774,65889,65925,65941,74727,81544,69064,59292,45315,45077,71050,45418,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,63973,62197,39562,42991,39562,65977,77860,50983,65993,66008,66012,66028,66043,66058,50113,45991,61836,40157,39562,57572,39562,48996,39562,39562,66074,39562,45990,49164,49157,55151,56214,57597,54620,51620,74677,62769,49974,49929,40190,39562,39562,77506,63466,45488,39562,39562,45508,39562,66103,62959,58233,44526,65318,65729,66121,68248,66155,45339,51619,54901,66194,66210,73699,52004,44834,54255,66239,66255,61365,66303,39562,63440,54275,78516,39562,45939,39562,39562,39562,39562,81419,56438,60894,53667,44526,44526,44526,75082,44526,79806,52762,65873,57100,54484,68881,51619,51619,61815,51619,51927,44834,66328,76552,66344,66363,44834,44834,66383,44834,76975,39562,39562,56745,72443,72732,66402,66436,39562,39562,61577,81280,56432,44526,44526,44526,66454,57043,44526,82468,59246,55418,54963,51619,51619,51619,57263,68969,51619,51619,53223,53838,66470,44834,44834,44834,66490,66517,44834,51982,39562,39562,39562,39562,44851,39562,39562,39562,50056,44526,44526,44526,44526,44526,44526,44526,44526,44890,51619,51619,51619,51619,51619,51619,51619,76937,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,44851,39562,39562,50057,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,52381,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,66552,50309,44526,44526,44526,44526,52763,66571,51619,51619,51619,59292,73009,44834,44834,44834,52549,39562,39562,62808,77154,44526,44526,72924,52760,51619,51619,51619,66593,44834,44834,44834,66528,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,54159,51619,64029,44834,74807,59370,44526,62111,51619,66615,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,66636,66657,39562,55079,39562,66675,77444,66728,66741,66757,66762,66778,66793,66808,45472,46052,61836,66824,66852,66413,39562,48996,49645,66832,66868,83370,66884,62277,66919,66935,66956,66992,63544,67008,67056,67085,49974,67121,67138,58123,46775,67188,44184,45488,77908,52943,67224,67227,67243,67262,62830,58802,51464,65619,44526,67309,74756,51640,63635,69334,60683,67344,76746,54198,74066,45153,54502,67362,71551,39562,67380,39562,53292,39562,39562,72744,39562,50424,51314,56779,67400,67433,44526,74216,70373,44526,44526,68938,45019,44526,52762,67469,51619,65011,59273,51619,51619,51619,67508,67547,57380,67563,44834,67584,67605,44834,44834,82505,67624,76975,39562,53631,39562,39562,44760,62572,49681,39562,67657,39942,44526,65297,44526,67676,56513,44526,44526,58261,44526,59390,51619,51619,67695,67484,74258,67715,51619,70573,51619,62141,44834,67364,44834,67736,76239,44834,44834,73781,51982,67755,67788,76601,58045,67805,67825,67854,67100,50056,67882,67417,78154,82562,67898,67947,44526,70536,44890,67968,68025,80162,71771,68051,68105,51619,76937,62791,58865,68127,74800,55052,55284,68148,44834,62513,60249,67866,68165,53875,68210,68228,57637,68264,56458,68297,76140,68317,68352,53496,68368,51619,68403,52857,68425,68448,59117,68487,82523,68511,57292,68530,68564,39562,79762,62214,68583,68604,62316,51453,44873,52879,58382,68642,79336,68721,79370,62488,73764,55260,68740,52549,81056,39562,68759,68781,58268,44526,68797,81082,68814,68839,64682,44817,77817,60418,82149,44834,76975,68859,53456,57064,44526,75401,68651,68878,59409,59151,68897,51983,39959,44526,75120,51619,68916,44929,51981,69300,68935,68954,81994,68985,72668,53457,52677,51619,69010,69017,53455,44528,51619,45286,52549,44526,54005,59293,61774,51131,69033,69057,52763,45285,69064,59292,45315,45077,80533,69086,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,69140,40157,40158,43380,40159,43564,69156,69169,69185,69200,69204,69220,69235,69250,45472,68187,57512,69266,69286,39562,43488,49316,64527,69350,69384,48203,69425,69466,64784,69482,69520,69557,69592,69653,69691,69707,49974,39562,41995,39562,50926,61872,39562,69746,69771,39562,45508,39562,69791,62959,44526,67293,68243,73818,69812,44526,69847,51619,60211,73591,63247,69911,74843,44834,68132,67633,66347,69948,68994,49526,49280,39562,77927,64750,68471,45939,69997,72348,71580,39562,70031,70058,51824,70077,75361,44526,78568,44526,51818,53661,70113,70141,54237,70161,79834,51619,60665,51619,52915,82584,70177,44834,70211,70238,70280,44834,70298,58552,44834,70317,71359,39562,39562,39562,72779,45943,39562,59343,60149,61444,44526,44526,70346,73179,69576,44526,44526,44526,70367,52760,51619,51619,71468,70728,51619,70389,51619,51619,80141,74167,44834,44834,70406,70187,80210,44834,44834,44834,58877,39562,61990,39562,39562,44851,75603,39562,39562,70427,44526,44526,44526,44526,66131,44526,68336,44526,44890,51619,51619,51619,51619,68687,51619,69932,66178,44834,44834,44834,44834,44834,70447,44834,81253,70954,39562,39562,44851,39562,58889,70467,44526,69824,44526,82213,55308,81428,76667,51619,63162,51619,79054,76428,52381,70488,44834,62482,44834,73015,62870,51984,39562,45902,39562,70506,70526,82735,44526,44526,44526,63937,51619,78197,51619,51619,66599,44834,61045,44834,44834,52549,39562,39562,50291,77154,70554,44526,44526,52760,51619,70570,51619,44817,44834,80481,44834,44834,45266,39562,70589,44526,70625,78964,70646,79626,71027,70665,65509,51983,68194,70684,70711,70744,61315,70779,70814,55153,70849,70867,70896,67069,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,81260,70918,70934,70970,71006,75985,69064,59292,53140,71043,71066,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,63973,40157,39562,43910,39562,71091,79531,71127,71140,71156,71184,71168,71200,71215,45472,39562,61836,40157,39562,48195,39562,61077,39562,71231,80877,39562,71280,39562,39562,71299,63077,71320,54003,69606,74172,71339,49974,71375,40190,39562,55815,39562,64334,45488,71395,53083,45508,39562,39562,62959,63015,64923,71434,67952,70609,65579,75330,52425,71461,71484,62353,63863,73699,54359,71514,71537,54990,66386,75771,71577,39562,45944,53434,55997,73365,45939,39562,39562,39562,39562,81419,44526,44526,44526,44526,75933,44526,71596,44526,44526,52762,51619,51619,51619,51619,71789,51619,81464,51619,51927,44834,44834,44834,44834,44834,71622,65409,71643,44834,53282,39562,39562,71828,39562,44760,71663,39562,71705,39562,62544,44526,71323,52124,44526,44526,44526,74237,44526,44526,52760,51619,51619,71740,71768,51619,51619,51619,71787,51619,53793,44834,68900,69124,44834,44834,44834,71809,44834,51982,77872,39562,39562,39562,44851,39562,39562,53578,50056,44526,44526,44526,52336,44526,44526,44526,56958,44890,51619,51619,51619,68678,51619,51619,51619,67531,44834,44834,44834,44834,71805,44834,44834,44834,76975,39562,39562,44851,39562,39562,50057,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,52381,44834,44834,44834,44834,44834,44834,51984,79500,71825,39562,39562,77155,44526,44526,71844,44526,52763,51619,51619,75460,51619,59292,44834,44834,67040,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,71862,71890,71911,71931,71952,71968,71988,72009,72043,45319,72059,61053,68461,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,63973,40157,39562,39562,39562,81604,77186,39562,39562,39562,39562,59757,49945,69041,45472,39562,61836,40157,39562,39562,65164,48996,39562,39562,82092,51383,51383,51350,51389,55151,63053,63044,63495,54920,81136,71521,72106,39562,40190,39562,39562,39562,39562,45488,39562,39562,45508,39562,39562,62959,44526,44526,44526,44526,44526,44526,54846,51619,51619,51619,51619,51619,73699,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,39562,39562,45939,39562,39562,39562,39562,41784,44526,44526,44526,44526,44526,44526,44526,44526,44526,52762,51619,51619,51619,51619,51619,51619,51619,51619,52405,44834,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,39562,39562,44760,45943,39562,39562,39562,61444,44526,44526,44526,44526,44526,44526,44526,44526,44526,52760,51619,51619,51619,51619,51619,51619,51619,51619,51619,74167,44834,44834,44834,44834,44834,44834,44834,44834,51982,39562,39562,39562,39562,44851,39562,39562,39562,50056,44526,44526,44526,44526,44526,44526,44526,44526,44890,51619,51619,51619,51619,51619,51619,51619,76937,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,44851,39562,39562,50057,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,52381,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,39562,39562,39562,77154,72140,44526,44526,52760,80973,51619,51619,44817,44834,72161,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,43221,72178,43216,39562,72182,81604,72199,72212,72231,72228,72231,72247,72262,72277,45472,44969,72293,40195,49751,44062,39562,49196,72330,72364,66087,72440,72427,72459,72484,72495,72511,72577,72620,69861,72657,72702,49974,70827,72760,72776,55758,72795,50561,72814,64489,39562,72838,39562,77396,50456,72859,72876,44526,58197,72901,72917,54846,72940,72959,51619,68409,76458,72994,73031,73050,44834,57344,69889,73077,39562,72678,73113,73131,39562,39562,50607,76976,39562,73151,55968,81419,73170,54824,61603,44526,44526,44526,73203,75662,61452,52762,73227,51619,73253,73271,51619,51619,62384,81897,73288,81145,44834,69629,45146,44834,44834,79459,73304,73322,76975,73355,73381,60453,73418,60851,45943,59748,73453,75564,69409,44526,73469,64228,73485,56922,76409,44526,51602,78560,60023,73525,73544,73560,73581,73615,73679,73715,51619,73733,69875,61190,59500,61679,73749,75521,75167,44834,81018,58715,39562,39562,73797,73834,44851,73852,39562,73868,50056,73889,44526,44526,73925,73941,44526,44526,44526,44890,73964,51619,51619,74013,74034,51619,51619,76937,74335,74058,44834,64007,76782,74082,44834,44834,76975,44660,45610,44851,62026,39562,74101,44526,44526,44526,44526,82667,74135,65899,51619,51619,51619,51619,70145,74155,74189,44834,44834,44834,44834,57935,69963,79543,39562,39562,80896,74212,44526,44799,44526,74232,51100,51619,51619,74253,82233,65342,44834,44834,74274,60799,52549,74295,39562,39562,77154,44526,56026,44526,52760,51619,51619,74313,44817,44834,44834,74331,44834,76975,39562,74351,56395,44526,52760,82449,51619,59409,61662,44834,62887,81483,74368,74388,74404,74424,74455,74474,55153,74503,54003,74532,60425,74566,56674,74630,74650,68089,70251,74705,74721,65372,76503,52549,44526,54005,59293,61774,77046,57805,74743,74772,74788,74823,74859,45315,78706,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,63973,74889,39562,74905,45492,74921,74937,74953,74968,74983,75011,74995,75027,75042,45472,44245,49452,40157,39562,39562,44246,48996,44243,51009,51018,66555,70015,79942,75058,55151,75074,75098,77001,66577,75136,78306,75183,39562,40190,75238,39562,39562,39562,45488,39562,75277,75198,52456,44307,75317,75346,44526,75387,44526,44526,63587,54846,71498,75424,75442,75476,51619,73699,61329,75494,75511,75537,44834,51984,39562,44446,75554,75580,57578,39562,75597,39562,67165,39562,39562,81419,70351,44526,75113,44526,75619,79969,75636,78588,44526,52762,54083,51619,60047,51619,75678,57744,63627,75698,75716,44834,75732,63330,44834,78329,44834,75751,58487,51955,76975,56305,75787,40723,39562,52065,50077,39562,39562,75805,75823,44526,44526,44526,65636,75867,75891,62317,75927,58975,75949,51619,51619,51619,51619,67983,58314,76001,73643,70649,69620,44834,44834,44834,44834,76022,76055,44834,76071,52514,64281,61405,39562,39562,44851,39562,65261,59717,50056,44526,76095,53984,76116,65545,44526,44526,77745,44890,51619,76156,79020,76177,72090,51619,51619,76937,44834,63383,44834,76213,79430,76255,44834,44834,76975,76276,39562,76300,67384,39562,76334,70990,76353,76128,63824,44526,52310,54006,73528,72072,63171,68843,51619,54045,44834,51262,76377,65042,73339,44834,51984,39562,39562,67208,54139,80404,44526,68626,76400,81446,52763,76425,51619,76444,76480,76498,76519,44834,76538,76574,76591,75222,76617,39562,76641,44526,69831,76688,76714,54876,51619,76732,76762,66536,44834,66501,76798,65145,76814,82805,76864,76897,74634,76915,45110,68919,76953,62152,51983,39959,56402,76992,63310,57003,81551,77017,55153,44526,54003,51619,44834,51984,77039,77062,64250,73989,77078,81382,77098,68009,77133,77171,77207,74833,63661,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71075,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,54302,40157,39562,39562,77229,42336,77247,77268,77260,77284,77313,77297,77329,77344,45472,77413,61836,55745,62914,77360,77388,48996,77412,50375,77429,77479,77529,77581,77606,77666,77695,77725,77761,77777,77802,77845,49974,69450,77895,39562,39562,62985,73363,77943,52089,39562,77969,52471,78041,74487,78057,78149,78082,78106,44526,78135,78170,78186,78221,78244,78279,51619,78659,78295,78322,78345,78372,44834,74873,78388,78414,78432,44654,78467,44677,45939,72116,78485,78508,78532,78551,78617,78919,44526,63102,69504,78584,78604,44526,44526,54569,62396,60035,51619,51213,78645,74606,57150,78675,51927,59313,78693,78722,45241,82031,78740,68743,78754,44834,76975,39562,56319,39562,78777,78796,78831,52037,39562,78866,78882,76361,78906,78945,63058,44526,78090,78890,78980,67328,52760,71936,79013,79036,79052,79070,75426,75478,54883,51619,79088,74689,79110,79139,70451,44834,59092,76039,79168,51982,39562,73154,55974,53613,44851,39562,79195,45592,79244,79267,80741,62073,44526,79284,79301,52650,44526,49958,51619,60993,60389,51619,79334,79352,65749,68432,45224,44834,79386,79420,82390,78724,79454,80767,79475,79497,39562,79516,39562,45884,79566,79582,57693,44526,67447,81875,67912,54446,79606,67699,51619,72970,51619,79642,63366,79670,55482,44834,79704,44834,79725,69722,39562,79759,39562,79778,80416,79800,44526,44526,79822,80836,79862,51619,80276,80120,80855,79892,44834,63900,52549,39562,39562,79922,79958,79992,80010,80027,51498,80048,53762,82429,44817,59198,81319,76575,80083,53869,67202,72468,54217,64646,80101,80136,80157,80178,80205,80226,80247,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,51736,71304,54322,80274,80292,65053,80315,80331,80356,80391,80443,80466,80503,52763,45285,69064,59292,70264,80526,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,40802,40157,39562,43452,42671,81604,80549,44490,43402,80585,80600,80610,80626,80641,45472,39562,61836,80657,39562,80660,39562,80676,43834,46248,80877,51360,39562,39562,51361,45819,80710,80732,57724,57123,80757,79152,49974,39562,40190,39562,39562,39562,50735,80791,39562,78445,45508,49998,39562,80804,67275,56457,44526,44526,66139,72526,54846,68035,80833,51619,51619,60760,72978,61018,80852,44834,44834,71627,79438,80871,80893,53532,39562,39562,39562,54129,56145,39562,39562,78815,81419,44526,40643,44526,80912,80817,74372,44526,79784,64928,52762,51619,80067,51619,80931,52799,80952,80970,73717,51927,44834,60778,44834,52614,52531,80989,65095,44834,81013,59523,39562,39562,39562,39562,44760,45943,83029,39562,39562,65537,65279,44526,44526,45968,44526,44526,44526,44526,44526,52760,51619,81034,51619,58692,51619,51619,51619,51619,51619,50191,66474,44834,44834,79404,44834,44834,44834,44834,51982,39562,39562,39562,66896,44851,78780,39562,81053,81072,44526,44526,44526,44526,44526,80032,44526,81107,63153,51619,51619,51619,51619,51619,65656,51619,81124,81161,44834,44834,44834,44834,44834,79680,57956,76975,39562,39562,44851,81181,39562,81205,44526,44526,44526,55198,44526,56894,51141,51619,51619,51619,64066,51619,52381,81241,44834,44834,44834,59142,44834,51984,39562,71717,39562,39562,77155,44526,44526,44526,81276,52763,51619,51619,51619,81225,59292,44834,44834,44834,69895,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,81296,44526,52760,55222,51619,59409,70195,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,58289,51619,81316,70947,44526,54005,59293,61774,44529,59410,77023,69533,81335,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,63973,40157,43301,44001,43087,44006,81372,45730,39562,39562,81406,42474,42489,42504,45472,39562,61836,40157,39562,39562,39562,48996,39562,39562,80877,39562,39562,39562,39562,55151,52645,60288,80450,51620,82022,66620,49974,55766,40190,39562,39562,39562,39562,45488,39562,42288,45508,81480,39562,62959,63844,44526,81499,68588,44526,44526,77679,54464,51619,81523,63881,51619,73699,54101,44834,81567,55362,44834,51984,39562,39562,39562,39562,39562,39562,45939,39562,81601,50705,39562,81419,44526,44526,44526,81620,44526,67286,44526,44526,44526,52762,51619,51619,51619,57738,51619,81663,51619,51619,51927,44834,44834,44834,76260,44834,44834,81640,44834,44834,76975,39562,39562,39562,39562,44760,45943,39562,39562,39562,61444,44526,44526,44526,44526,44526,44526,44526,44526,44526,52760,51619,51619,51619,51619,51619,51619,51619,51619,51619,74167,44834,44834,44834,44834,44834,44834,44834,44834,51982,39562,39562,39562,39562,44851,39562,39562,39562,50056,44526,44526,44526,44526,44526,44526,44526,44526,44890,51619,51619,51619,51619,51619,51619,51619,76937,44834,44834,44834,44834,44834,44834,44834,44834,76975,45601,39562,44851,39562,39562,50057,44526,44526,44526,82192,44526,44526,54006,51619,51619,51619,72561,51619,52381,44834,44834,44834,44834,59492,44834,51984,45893,39562,39562,39562,77155,44526,44526,44778,44526,52763,51619,51619,51619,80059,59292,44834,44834,44834,75159,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,66280,39562,53456,76881,44526,52760,63990,81657,59409,81641,81679,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,72411,40157,39562,39562,39562,81701,81751,81767,81783,81799,81827,81811,81843,81858,45472,39562,61836,40157,39562,39562,39562,48996,39562,39562,80877,39562,39562,39562,39562,55151,44526,81874,81891,74042,74172,81913,49974,39562,40190,39562,39562,39562,39562,45488,50040,39562,45508,39562,39562,62959,44526,44526,73187,44526,44526,44526,54846,51619,51619,60309,51619,51619,73699,44834,44834,70411,44834,44834,51984,39562,39562,39562,39562,39562,39562,45939,39562,39562,39562,39562,81419,44526,44526,44526,44526,44526,44526,44526,44526,44526,52762,51619,51619,51619,51619,51619,51619,51619,51619,51927,44834,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,39562,60483,44760,45943,39562,39562,39562,45678,44526,44526,44526,44526,44526,44526,44526,44526,44526,63192,51619,51619,51619,51619,51619,51619,51619,51619,51619,69667,44834,44834,44834,44834,44834,44834,44834,44834,51982,64863,39562,39562,39562,44851,39562,66690,39562,50056,44526,76899,44526,79994,44526,44526,81956,44526,81972,51619,76482,51619,60629,51619,51619,81991,82010,44834,44834,63228,44834,61546,44834,74458,53229,76975,39562,39562,44851,39562,39562,50057,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,52381,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,50249,39562,39562,63973,40157,39562,39562,39562,81604,77186,39562,39562,39562,39562,43113,82055,82070,45472,39562,61836,82086,39562,80694,73437,48996,71418,39562,80877,64457,39562,49306,64463,55151,56953,60718,65812,51620,82496,67568,49974,67246,40190,39562,44039,50941,51417,45488,39562,82108,45508,39562,39562,62959,44526,65572,70042,44526,70985,44526,52344,51619,45118,64993,82127,74542,73699,44834,58495,74196,82146,73773,62433,82165,39562,39562,39562,39562,39562,45939,39562,39562,39562,39562,81419,44526,44526,44526,44526,44526,44526,44526,44526,44526,52762,51619,51619,51619,51619,51619,51619,51619,51619,51927,44834,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,39562,39562,44760,45943,39562,39562,39562,82184,44526,44526,44526,44526,44526,44526,44526,44526,44526,52760,51619,51619,51619,51619,51619,51619,51619,51619,51619,57867,44834,44834,44834,44834,44834,44834,44834,44834,51982,39562,39562,39562,58947,44851,39562,39562,39562,50056,82208,44526,44526,44526,44526,44526,44526,44526,44890,82229,51619,51619,51619,51619,51619,51619,76937,70490,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,44851,39562,39562,50057,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,52381,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,63973,40157,39562,39562,39562,81604,77186,39562,39562,39562,39562,59757,49945,69041,45472,48355,61836,40157,39562,39562,39562,61434,39562,39562,80877,39562,39562,39562,39562,49978,82249,82267,74596,57199,82285,59637,49974,39562,40190,39562,39562,50388,39562,45488,39562,39562,45508,39562,50097,62250,44526,44526,69570,44526,62552,44526,54846,82307,51619,74614,51619,61624,73699,82326,44834,76079,44834,74279,51984,39562,39562,82344,39562,39562,39562,45939,39562,72340,39562,39562,81419,74139,44526,44526,44526,62335,44526,44526,44526,44526,52762,68724,51619,51619,51619,51619,82366,51619,51619,51927,44834,82386,44834,44834,44834,80775,44834,44834,44834,76975,82406,39562,39562,39562,44760,45943,58582,39562,39562,79228,44526,72885,71895,44526,44526,44526,44526,44526,51788,71915,51619,73565,82425,82445,51619,51619,51619,51619,51619,67022,44834,69112,79709,44834,44834,44834,44834,44834,51982,56350,39562,39562,39562,44851,39562,39562,39562,50056,44526,44526,44526,61129,44526,44526,44526,82465,44890,51619,51619,51619,63508,51619,51619,51619,82484,44834,44834,44834,44834,82521,44834,44834,65219,56647,39562,82539,44851,39562,39562,50057,79285,82558,44526,44526,44526,44526,54006,51619,82578,51619,51619,51619,52381,44834,80085,82600,44834,44834,44834,51984,39562,39562,82619,82640,82659,44526,82683,44526,44526,69070,51619,59035,51619,51619,65391,44834,80487,44834,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,49922,39562,39562,63973,40157,39562,39562,39562,81604,81716,39562,39562,39562,39562,43936,82703,82718,45472,39562,61836,40157,39562,39562,39562,48996,39562,39562,80877,39562,39562,39562,39562,55151,44526,44526,54003,51620,74172,62714,49974,39562,40190,39562,39562,39562,39562,45488,58750,39562,45508,39562,39562,62959,44526,64607,44526,44526,44526,64610,54846,51619,55241,51619,51619,51619,73699,44834,65428,44834,44834,44834,51984,39562,39562,39562,39562,39562,39562,45939,56807,39562,39562,39562,81419,44526,44526,44526,82734,44526,44526,44526,44526,44526,52762,51619,51619,51619,82751,51619,51619,51619,51619,51927,44834,44834,44834,82039,44834,44834,44834,44834,44834,76975,39562,39562,39562,39562,44760,45943,39562,39562,39562,61444,44526,44526,44526,44526,44526,44526,44526,44526,44526,52760,51619,51619,51619,51619,51619,51619,51619,51619,51619,74167,44834,44834,44834,44834,44834,44834,44834,44834,51982,39562,39562,39562,39562,44851,39562,39562,39562,50056,44526,44526,44526,44526,44526,44526,44526,44526,44890,51619,51619,51619,51619,51619,51619,51619,76937,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,44851,39562,39562,50057,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,52381,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,82771,39562,39562,82643,82796,82780,82821,82934,82843,82879,39562,39562,39562,82901,82927,82914,82950,82966,39561,43638,40157,39562,39562,83080,39562,39562,39562,80877,39562,39562,39562,39562,83205,40408,40408,40350,40071,82982,42551,83002,49582,40190,41941,72843,78469,39562,43084,83224,73873,39669,66704,66711,42031,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,40356,39837,39855,39710,39896,84401,76848,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,39562,39562,63973,72308,39562,39562,83052,72314,77186,75789,83073,83096,83100,83116,39562,66903,43007,39561,61836,40157,39562,39562,51424,39562,39562,39562,80877,39562,83139,39562,39562,83055,40408,40408,40350,40071,40407,42551,39579,49582,40190,41941,72843,78469,39562,43084,83224,73873,39669,66704,66711,43142,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41897,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,39562,39562,75807,40157,83202,39562,56266,70510,83161,71724,83187,83187,83187,83196,39562,56275,43007,39561,44329,40157,39562,39562,51424,83221,39562,39562,80877,39562,39562,39562,39562,83055,40408,40408,40350,40071,40407,42551,39579,49582,40190,41941,72843,78469,39562,43084,83224,73873,39669,66704,66711,59911,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41035,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,39562,39562,63973,40157,39562,39562,39562,81604,77186,39562,39562,39562,39562,39562,39562,43194,45472,39562,61836,40157,39562,39562,39562,39562,39562,39562,80877,39562,39562,39562,39562,55151,44526,44526,54003,51620,74172,77082,44425,39562,40190,39562,39562,39562,39562,45488,39562,39562,45508,39562,39562,71111,44526,44526,44526,44526,44526,44526,56845,51619,51619,51619,51619,51619,52384,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,80562,44526,44526,44526,44526,44526,44526,44526,44526,44526,52762,51619,51619,51619,51619,51619,51619,51619,51619,44911,44834,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,39562,39562,44760,45943,39562,39562,39562,61444,44526,44526,44526,44526,44526,44526,44526,44526,44526,52760,51619,51619,51619,51619,51619,51619,51619,51619,51619,74167,44834,44834,44834,44834,44834,44834,44834,44834,51982,39562,39562,39562,39562,39562,39562,39562,39562,77153,44526,44526,44526,44526,44526,44526,44526,44526,44890,51619,51619,51619,51619,51619,51619,51619,76937,44834,44834,44834,44834,44834,44834,44834,44834,76975,39562,39562,44851,39562,39562,50057,44526,44526,44526,44526,44526,44526,54006,51619,51619,51619,51619,51619,52381,44834,44834,44834,44834,44834,44834,51984,39562,39562,39562,39562,77155,44526,44526,44526,44526,52763,51619,51619,51619,51619,59292,44834,44834,44834,44834,52549,39562,39562,39562,77154,44526,44526,44526,52760,51619,51619,51619,44817,44834,44834,44834,44834,76975,39562,53456,44526,44526,52760,51619,51619,59409,44834,44834,51983,39959,44526,44527,51619,44817,44834,51981,55153,44526,54003,51619,44834,51984,53457,44527,51619,59293,74173,53455,44528,51619,45286,52549,44526,54005,59293,61774,44529,59410,77023,52763,45285,69064,59292,45315,45077,71050,45082,59663,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,39562,39562,63973,40157,39562,39562,39562,81604,77186,77231,39562,83240,83244,83260,39562,50712,43007,39561,61836,40157,39562,39562,51424,39562,39562,39562,80877,39562,39562,39562,39562,83055,40408,40408,40350,40071,40407,42551,39579,49582,40190,41941,72843,78469,39562,43084,83224,73873,39669,66704,66711,43142,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41897,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,42935,39562,39562,63973,40157,39562,39562,39562,81604,77186,78416,39562,83283,83287,83303,39562,66287,43007,39561,61836,40157,39562,39562,51424,39562,39562,39562,80877,39562,39562,39562,39562,83055,40408,40408,40350,40071,40407,42551,39579,49582,40190,41941,72843,78469,39562,43084,83224,73873,39669,66704,66711,43142,39839,39696,39713,39899,84404,40263,39729,41121,41162,39783,39812,40451,41897,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,83815,41891,41525,42176,42728,40043,40070,42727,42595,39821,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,40440,41014,40462,40054,41848,40478,42727,42582,40494,42150,41553,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,40962,39743,41e3,41051,41067,42727,41106,41147,41203,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,41469,39796,41497,42812,41862,41513,41541,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,41809,41833,41878,40507,41177,40976,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,41630,42097,42138,42166,42192,42208,42236,42252,41616,42268,42304,42352,42379,42395,42411,41481,42427,42443,42044,42389,42459,42520,40386,42567,40520,42618,84305,42656,83057,84238,40350,41028,40946,84247,42693,49126,42725,42112,42122,77557,42870,39757,42858,42363,42751,48617,42744,42767,42781,39767,42081,41090,41082,42797,42828,42844,42886,42893,42909,42919,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,40691,39562,39562,39562,39562,39562,40697,39562,40698,53090,83326,83326,83326,83335,39562,72378,39562,39561,39562,39562,39562,39562,51424,39562,39562,39562,39562,39562,39562,39562,39562,83055,40408,40408,77644,83454,40407,42551,73135,49582,39562,41941,72843,78469,39562,39562,83224,73873,83359,66704,66711,42031,39839,39696,39713,39899,84404,40263,83386,84450,83665,83424,84336,84460,77650,39837,39855,39710,39896,84401,40869,50394,39562,39562,44429,39915,39562,58930,39958,71379,39975,49778,42530,42546,59924,40936,42702,40001,40408,40408,40023,42072,40547,84074,84106,83488,84275,84185,83453,84274,83481,84080,42539,59936,59932,40944,42709,40007,40408,41237,40408,84256,40087,79217,40123,40175,58588,43103,83310,40237,40279,57537,40322,76841,49098,83804,40340,40027,40372,40402,40424,83470,83694,83939,84345,83680,83504,84274,83751,83520,83774,83915,40324,77634,49098,84226,40536,40026,40563,42632,40579,40620,40667,40714,40757,43129,40795,75581,40818,41212,48688,40842,40863,41265,40408,40885,40905,40925,83556,83437,83596,83634,83650,84274,84376,83736,83790,41228,48694,40847,41253,41269,82986,40889,40909,39870,39594,41285,43171,39653,41346,40601,49723,41584,41362,41379,41424,41453,83831,84196,83859,83970,83999,83875,83903,40604,41569,41585,41363,41601,41646,41928,41691,41770,50976,53561,57543,41706,41722,41738,41754,83931,83955,83986,83843,83570,83400,41913,41714,41730,41746,41661,41964,41980,42018,42060,42220,42249,41437,84015,84031,84062,84096,84122,42208,42236,42252,41616,42268,42304,42352,42379,42395,84138,83580,84154,84046,42044,42389,42459,42520,40386,84170,83887,84212,84305,42656,83057,84238,77644,83533,40946,84247,42693,43155,84272,84391,42122,77557,83720,83764,83708,42363,42751,48632,84291,42767,84321,83540,42081,83618,83610,84361,84420,84436,84476,84483,84499,84509,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,39562,1351681,2,3,172036,0,6,7,0,0,0,0,0,0,0,0,0,294,294,294,328,0,0,0,1351681,1351681,1351681,1351681,123164,0,0,0,123164,123164,123164,1351681,1351681,123164,123164,123164,123164,123164,123164,123164,123164,123164,0,0,123164,123164,123164,1351681,123164,319,123164,123164,123164,123164,123164,123164,123164,123164,123164,123164,123164,123164,123164,123164,123164,123164,196923,123164,123164,123164,123164,123164,123164,123164,123164,123164,123164,123164,123164,123164,147456,139264,123164,123164,123164,123164,155648,123164,123164,123164,123164,123164,123164,123164,123164,123164,123164,123164,123164,123164,123164,2,3,172036,0,0,6,7,7,0,0,0,0,0,123164,0,0,287,288,288,288,288,288,288,288,288,288,0,0,288,0,288,2,3,9732096,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,301,9895936,3,0,7,0,0,0,0,0,0,0,0,10043392,10059776,8847360,0,0,0,0,0,10461184,9494528,0,0,0,0,0,0,0,10346496,0,0,0,0,285,0,0,0,285,285,285,0,0,285,1392925,285,285,285,1392925,285,285,285,285,1392925,1392925,1392925,1392925,1392925,1392925,1392925,1392925,285,1392925,0,0,285,285,285,0,285,0,0,8724480,1252,0,0,0,0,0,0,0,0,0,0,0,0,0,10387456,0,0,0,9904128,9912320,10231808,0,10313728,10330112,10379264,10412032,10428416,10469376,0,0,0,0,0,0,0,67496,526,526,526,526,526,2569,526,526,8462336,10231808,8462336,8462336,8462336,8462336,8462336,0,8462336,8462336,8462336,8462336,10313728,8462336,10330112,8462336,9166848,8462336,9175040,10379264,8462336,8462336,8462336,8462336,10412032,8462336,10428416,8462336,8462336,8462336,8462336,8462336,10469376,8462336,8462336,8462336,9322496,8462336,8462336,8462336,8462336,8462336,8462336,8462336,16834560,16834560,0,956,956,956,956,956,10141696,956,956,956,956,956,956,956,8962048,956,956,956,956,8978432,956,956,956,956,10272768,956,956,956,956,956,956,956,956,956,956,8462336,8904704,8462336,8462336,8462336,8462336,10330112,956,9166848,956,9175040,10379264,956,956,956,956,10412032,956,10428416,956,956,956,956,956,956,8929280,956,956,956,956,956,956,956,956,10223616,956,956,10469376,9322496,956,9347072,956,956,10526720,956,956,956,956,956,956,956,956,956,956,956,0,0,8757248,0,0,8462336,8462336,8462336,10043392,10059776,8462336,8462336,8462336,8462336,8847360,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,10231808,8462336,8462336,8462336,8462336,8462336,9076736,8462336,8462336,8462336,8462336,10313728,8462336,0,0,0,9019392,9265152,0,10608640,10813440,10452992,0,0,0,0,0,0,0,537,537,560,560,577,577,560,560,577,8462336,8462336,10469376,9322496,8462336,9347072,8462336,8462336,10526720,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,0,0,0,10395648,0,0,0,0,0,0,0,0,0,0,0,8503296,0,0,0,1252,0,0,0,0,10280960,0,10420224,0,0,0,0,0,0,0,67496,526,526,526,526,2568,526,526,526,8757248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,526,10076160,0,0,0,10190848,0,0,0,0,10444800,0,0,0,0,0,0,0,527,527,527,527,568,568,527,527,568,8462336,10420224,8462336,8462336,8462336,8462336,10444800,8462336,8462336,8462336,8462336,8462336,10502144,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,9625600,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,10616832,8462336,8462336,956,956,10403840,956,10420224,956,956,9281536,956,956,10444800,956,956,956,956,956,956,956,956,956,956,10289152,956,956,956,10305536,956,10502144,956,956,956,956,956,956,956,956,956,956,956,956,956,956,956,0,0,0,0,10371072,0,0,0,0,9592832,0,0,0,10821632,0,0,0,0,0,0,1433600,0,0,0,0,0,0,0,0,0,722,722,0,0,0,0,0,0,9224192,0,9297920,0,0,0,0,10485760,0,0,0,0,0,9601024,0,0,0,0,291,0,370,372,0,0,0,0,0,147456,139264,0,0,0,0,319,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,332,0,0,0,0,10289152,9543680,0,0,0,0,0,0,0,0,0,9568256,0,0,0,0,319,319,0,0,0,0,0,0,0,0,0,0,0,0,0,0,677,1252,0,9617408,0,0,0,0,0,0,10788864,0,0,0,0,0,0,0,528,528,526,528,567,567,528,526,567,0,0,0,0,10199040,0,0,0,10092544,0,0,0,10338304,0,0,0,0,0,0,1548288,0,0,0,0,0,0,8462336,8462336,8462336,8462336,8462336,8462336,8462336,9076736,8462336,8462336,10059776,8462336,8462336,8462336,8462336,9166848,0,0,0,0,10821632,0,0,0,0,10616832,10305536,0,0,0,10838016,0,0,0,0,319,319,0,0,0,0,0,1180,0,0,0,0,0,0,1306,0,0,0,0,1311,0,0,0,1163,8462336,10084352,10092544,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8896512,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,9297920,8462336,10477568,8462336,8462336,0,8462336,10518528,8462336,8462336,8462336,8462336,8462336,8462336,956,956,956,956,956,956,956,956,956,956,0,0,0,8462336,0,8462336,8462336,9519104,8462336,8462336,9543680,8462336,9551872,8462336,8462336,8462336,9568256,8462336,8462336,9601024,8462336,8462336,8462336,8462336,8462336,8937472,10166272,8953856,8462336,8462336,8462336,8462336,8462336,8462336,9289728,9330688,8462336,8462336,8462336,9617408,8462336,0,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,10788864,8462336,8462336,8462336,8462336,10821632,10838016,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,9011200,9224192,8462336,8462336,10485760,8462336,8462336,8462336,8462336,9592832,10731520,8462336,956,956,956,956,956,956,956,956,956,956,10690560,956,956,956,956,956,956,956,956,956,956,10199040,956,956,956,9011200,956,9248768,956,956,956,956,956,956,956,9297920,956,10477568,956,956,10485760,956,10518528,9568256,956,956,9592832,9601024,956,956,956,956,956,9617408,956,10731520,956,956,956,956,956,956,10543104,956,956,956,956,956,9404416,956,956,956,956,956,8937472,10166272,8953856,956,956,956,956,956,956,956,9289728,8462336,8462336,8462336,9297920,8462336,10477568,8462336,8462336,10485760,8462336,10518528,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8757248,958,10018816,958,10027008,10035200,958,8462336,8462336,9519104,8462336,8462336,9543680,8462336,9551872,8462336,8462336,8462336,9568256,8462336,8462336,9592832,9601024,8462336,8462336,10788864,8462336,8462336,8462336,8462336,10821632,10838016,8462336,8462336,8462336,0,0,0,0,0,0,797,0,0,0,0,0,0,8462336,8462336,8462336,8462336,8462336,10067968,8462336,8462336,10117120,8462336,8462336,8462336,8462336,8462336,8462336,8462336,0,0,0,10207232,0,0,0,10534912,0,10682368,10764288,0,10846208,10633216,0,0,0,0,0,1334,526,1958,67496,526,526,526,526,526,526,526,1990,526,526,526,526,526,526,526,526,3131,526,526,526,526,526,526,526,0,0,10108928,0,0,0,10665984,9060352,0,9256960,0,0,0,0,10772480,0,0,0,0,319,319,0,0,1177,0,0,0,0,0,0,0,0,1335296,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10493952,0,0,0,0,9576448,0,0,0,0,0,0,0,0,2468,0,0,0,0,0,0,0,0,2481,0,0,0,0,0,0,0,0,2493,0,0,0,0,0,0,1888,9068544,0,10010624,0,0,0,0,0,9125888,0,0,0,0,0,0,0,0,2536,0,2538,0,0,2540,0,0,0,0,2499,0,9052160,10141696,10321920,0,10698752,10797056,10805248,0,8962048,0,0,0,0,0,0,9142272,0,0,0,0,0,0,0,0,0,311,0,0,0,0,0,196923,10739712,0,0,0,0,0,10534912,10297344,0,0,0,0,0,0,0,0,301,0,0,0,0,0,0,0,8462336,10207232,8462336,8462336,8462336,9027584,8462336,8462336,8462336,8462336,9052160,8462336,9060352,9068544,8462336,8462336,10297344,9125888,8462336,9142272,8462336,10297344,9125888,8462336,9142272,8462336,10321920,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,0,0,0,0,0,0,8462336,10633216,8462336,8462336,8462336,8462336,10665984,8462336,8462336,9576448,8462336,8462336,10682368,10698752,8462336,10715136,8462336,8462336,10739712,8462336,8462336,8462336,10739712,8462336,8462336,8462336,10764288,8462336,10772480,8462336,8462336,8462336,10797056,10805248,8462336,8462336,8462336,10846208,9691136,8462336,8462336,10846208,8462336,8462336,8814592,8462336,8462336,8462336,8462336,8462336,9232384,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,10280960,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,9199616,8462336,8462336,9691136,10010624,956,956,8814592,956,956,956,956,956,956,10108928,8855552,956,956,956,956,9674752,956,10829824,956,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,0,1148,8462336,8462336,0,956,10207232,956,956,956,9027584,956,956,956,956,9052160,956,9060352,9068544,956,956,956,956,10084352,10092544,956,956,956,956,956,956,956,8896512,956,956,956,956,9199616,956,9338880,956,956,956,956,956,956,956,956,956,956,0,0,0,8462336,1648,8462336,10297344,9125888,956,9142272,956,10321920,956,956,956,956,956,956,956,956,956,9232384,956,9256960,956,956,956,956,956,956,956,956,956,10493952,956,956,10534912,956,956,956,9502720,8806400,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,9502720,8806400,956,956,956,956,956,956,956,956,956,10633216,956,956,956,956,10665984,956,956,9576448,956,956,10682368,10698752,956,956,956,10043392,10059776,956,956,956,956,8847360,956,956,956,956,956,956,956,956,956,956,956,0,0,8757248,0,81920,10715136,956,956,10739712,956,956,956,10764288,956,10772480,956,956,956,10797056,10805248,956,956,956,10231808,956,956,956,956,956,9076736,956,956,956,956,10313728,956,956,956,9478144,956,956,956,956,956,10649600,956,956,956,956,956,956,956,956,956,956,956,0,0,8757248,2275,0,956,956,10846208,9691136,956,956,0,0,0,0,0,0,0,10010624,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,10108928,8855552,8462336,8814592,8462336,8462336,8462336,8462336,8462336,8462336,10108928,8855552,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,9625600,8462336,8462336,8462336,10321920,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,9232384,8462336,9256960,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,10493952,8462336,8462336,10534912,8462336,8462336,8462336,8462336,8462336,8462336,0,10674176,0,0,10436608,10067968,0,0,0,0,0,0,0,0,9461760,0,0,0,0,319,319,0,21234328,0,0,0,0,0,0,0,0,294,295,0,0,0,0,0,0,0,9355264,0,2499,10657792,0,0,0,0,0,0,0,0,0,0,0,289,0,0,0,0,0,10117120,0,10248192,0,0,0,0,10747904,0,0,0,10223616,10780672,10510336,0,10567680,9216e3,10387456,8462336,9265152,8462336,10436608,8462336,10452992,10461184,8462336,8462336,8462336,10510336,9355264,8462336,8462336,8462336,8462336,8462336,9379840,8462336,8462336,8462336,10567680,8462336,8462336,8462336,8462336,8462336,9469952,8462336,10608640,8462336,287,0,0,0,287,0,288,0,0,0,288,0,10084352,0,0,0,0,0,1878,0,0,0,0,0,0,2496,0,0,1888,8462336,9494528,8462336,8462336,8462336,10657792,8462336,10674176,8462336,8462336,8462336,8462336,10747904,8462336,8462336,8462336,8462336,8462336,8462336,8462336,9535488,9560064,8462336,8462336,10723328,8462336,10756096,8462336,9658368,8462336,8462336,10780672,8462336,10813440,8462336,10854400,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,9461760,9494528,9584640,8462336,956,956,956,956,956,10067968,956,956,10117120,956,956,956,956,956,956,956,10174464,956,956,956,9084928,956,9117696,956,956,9019392,956,10248192,956,956,956,956,956,956,956,956,10346496,956,956,956,9207808,956,10608640,956,956,9494528,956,956,956,10657792,956,10674176,9584640,956,956,956,956,956,956,956,10190848,956,956,956,956,956,10215424,956,956,956,10747904,956,956,956,956,956,10780672,956,10813440,956,10854400,956,0,0,0,0,0,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,10084352,8462336,8462336,8462336,8929280,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,10223616,9019392,8462336,10248192,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,10346496,8462336,8462336,8462336,9207808,8462336,8462336,9216e3,8462336,9379840,8462336,8462336,8462336,10567680,8462336,8462336,8462336,8462336,9461760,8462336,9469952,8462336,10608640,8462336,8462336,8462336,8462336,9535488,9560064,8462336,8462336,10723328,8462336,8462336,10756096,8462336,9658368,9666560,8462336,8462336,9134080,8462336,8970240,8462336,8462336,8462336,8462336,8462336,8790016,8798208,956,956,8830976,8462336,9494528,8462336,8462336,8462336,10657792,8462336,10674176,9584640,8462336,8462336,8462336,8462336,8462336,10747904,8462336,8462336,8462336,8462336,9674752,8462336,10829824,8462336,0,0,9043968,9003008,9134080,9150464,0,0,0,0,0,1806,0,0,0,0,0,0,0,1813,1814,1815,0,10256384,0,9674752,0,9191424,0,0,0,0,0,10543104,0,0,0,10149888,10158080,8462336,8462336,8462336,8462336,8462336,8462336,8462336,1024e4,8462336,8462336,10256384,8462336,10264576,8462336,8462336,8462336,8462336,8462336,9191424,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,10543104,8462336,8462336,8462336,8462336,8462336,9404416,8462336,8462336,8462336,8462336,8462336,8462336,9478144,8462336,8462336,8462336,8462336,8462336,10649600,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,9674752,8462336,10829824,8462336,8462336,0,1024e4,0,0,0,0,0,0,0,0,10649600,0,0,8888320,0,0,0,0,0,1334,526,1959,67496,526,526,526,526,526,526,526,2578,526,2581,526,526,526,526,526,526,8462336,8863744,8462336,8986624,8462336,8462336,8462336,8462336,956,956,956,956,956,956,956,956,956,956,0,0,81920,8462336,1055,8462336,8863744,956,956,8880128,8888320,956,956,10149888,10158080,956,956,956,956,956,8986624,956,956,956,10338304,956,956,956,956,956,956,10371072,956,956,9224192,956,956,956,956,9379840,956,956,956,10567680,956,956,956,956,9461760,956,9469952,956,1024e4,956,956,10256384,956,10264576,956,956,956,956,956,9191424,956,956,956,956,956,10076160,956,956,956,956,956,956,956,956,956,956,0,0,0,8462336,1055,8462336,8863744,8462336,8462336,8880128,8888320,8462336,8462336,10149888,10158080,8462336,8462336,8462336,8462336,8462336,8986624,8462336,8462336,8462336,8462336,10780672,8462336,10813440,8462336,10854400,8462336,8880128,10158080,8986624,0,0,0,0,0,0,9166848,0,0,0,0,0,0,0,0,0,302,302,302,302,448,462,448,0,0,9445376,0,0,9535488,10756096,0,0,8790016,9560064,0,0,0,0,10723328,9666560,0,0,0,0,9183232,0,0,0,0,0,9240576,0,0,10592256,0,0,0,0,319,319,1176,0,0,0,0,0,0,0,0,0,4389,0,4391,526,526,526,526,0,8830976,0,0,0,0,9363456,0,0,10575872,10100736,10133504,10354688,0,0,0,0,0,0,9175040,0,0,0,0,8462336,0,8462336,8462336,8462336,8462336,8462336,8462336,8462336,10174464,8462336,8462336,8462336,9084928,8462336,9117696,8462336,8462336,0,10182656,0,8790016,8798208,8462336,8830976,8462336,10100736,8462336,8462336,10133504,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,9281536,8462336,8462336,8462336,8462336,8462336,8462336,8462336,0,0,0,0,8806400,8462336,8462336,8462336,8462336,956,10100736,956,956,10133504,956,956,956,956,956,956,10182656,8970240,956,9003008,956,956,956,10600448,9486336,956,956,8462336,8462336,8871936,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,10600448,9486336,8462336,8462336,0,9043968,956,956,956,9134080,9150464,956,9183232,956,10354688,956,9240576,956,956,956,956,956,956,956,10788864,956,956,956,956,10821632,10838016,956,956,956,9363456,956,956,956,956,10575872,956,9445376,10592256,956,956,956,956,956,956,956,956,956,956,956,10280960,956,956,956,956,956,9535488,9560064,956,956,10723328,956,956,10756096,956,9658368,9666560,956,956,8790016,8798208,8462336,8462336,8830976,8462336,10100736,8462336,8462336,10133504,8462336,8462336,8462336,8462336,8462336,8462336,10182656,8970240,8462336,9003008,8462336,9043968,8462336,8462336,8462336,9150464,8462336,9183232,8462336,10354688,8462336,9003008,8462336,9043968,8462336,8462336,8462336,9134080,9150464,8462336,9183232,8462336,10354688,8462336,9240576,8462336,8462336,8462336,8462336,8462336,9363456,8462336,8462336,8462336,8462336,10575872,8462336,9445376,10592256,8462336,8462336,8462336,8462336,9306112,10625024,0,0,9527296,0,9641984,9371648,0,10641408,9609216,9682944,10125312,0,0,0,0,0,1821,0,0,0,0,0,0,0,0,0,0,1291,0,0,0,0,0,0,0,0,0,9396224,0,0,9273344,9650176,10051584,0,0,0,0,9117696,0,0,0,0,338,301,339,341,343,0,0,0,0,0,0,0,283,0,0,0,0,0,0,0,0,374,0,0,0,0,147456,139264,388,0,0,10362880,10551296,10706944,10174464,0,8462336,10051584,8462336,10125312,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8912896,0,0,0,0,8839168,0,10584064,8462336,8462336,10174464,8462336,8462336,9084928,8462336,9117696,8462336,8462336,10362880,9273344,8462336,9306112,8462336,8462336,10551296,9371648,8462336,9396224,8462336,9412608,8462336,8462336,8462336,10625024,8462336,8462336,9527296,10641408,9609216,10706944,9641984,9650176,9682944,8462336,8822784,8462336,9306112,8462336,8462336,8462336,8462336,956,10051584,8822784,956,10125312,10362880,9273344,956,9306112,956,956,10551296,9371648,956,9396224,956,9412608,956,956,956,10625024,956,956,9527296,10641408,9609216,10706944,956,9641984,9650176,9682944,956,8462336,10051584,8822784,8462336,10125312,8462336,8462336,9527296,10641408,9609216,10706944,8462336,9641984,9650176,9682944,8462336,9330688,0,0,10559488,0,0,0,0,344,0,344,548,548,548,548,588,588,548,548,588,588,616,548,588,588,616,548,548,616,548,548,548,548,548,588,588,616,616,616,616,616,616,616,588,548,548,548,616,2,3,0,0,0,9289728,0,9699328,8953856,10166272,0,0,0,0,0,0,0,8462336,8757248,0,0,8462336,10018816,8462336,10027008,10035200,8462336,8462336,8462336,8462336,8462336,8462336,10076160,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,0,0,8462336,8462336,0,8462336,10559488,8462336,8462336,8462336,8462336,8462336,8462336,9699328,8462336,8462336,8462336,8462336,8462336,9633792,956,956,956,10616832,956,956,956,9519104,956,956,9543680,956,9551872,956,956,956,956,956,956,9625600,956,956,956,956,956,956,956,956,956,956,0,0,0,8462336,1647,8462336,956,9330688,956,10559488,956,956,956,956,956,956,956,956,9633792,9699328,8462336,8462336,8462336,8462336,8462336,9617408,8462336,10731520,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,0,393216,0,0,0,0,9330688,8462336,10559488,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,9633792,9699328,9199616,9338880,0,0,0,0,360,0,0,0,0,0,0,0,0,0,0,0,4007,0,0,0,0,0,8871936,0,9486336,0,0,10600448,8462336,8462336,8871936,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,10395648,8462336,8462336,10403840,8462336,10420224,8462336,8462336,9281536,8462336,8462336,956,8871936,956,956,956,956,956,956,956,956,956,956,956,956,956,956,956,956,10395648,956,10584064,956,956,956,956,9510912,8462336,8839168,8462336,8912896,8462336,8462336,8994816,8462336,8462336,8462336,8462336,8462336,10584064,8462336,8462336,8462336,8462336,8462336,9314304,8462336,10584064,8462336,8462336,8462336,8462336,9510912,0,0,0,0,8904704,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,956,8904704,956,8921088,0,0,9388032,8921088,8462336,8462336,9093120,9101312,8462336,9388032,9420800,9428992,8462336,8921088,956,956,9216e3,10387456,956,9265152,956,10436608,956,10452992,10461184,956,956,956,10510336,9355264,956,9093120,9101312,956,9388032,9420800,9428992,956,8921088,8462336,8462336,9093120,9101312,8462336,9388032,9420800,9428992,8462336,9035776,9158656,8945664,9035776,8462336,9158656,8462336,8462336,8945664,9035776,956,9158656,956,956,956,8462336,8462336,8462336,8462336,8462336,8462336,8978432,8462336,8462336,8462336,8462336,10272768,8462336,8462336,8462336,8462336,8462336,8462336,8978432,8462336,8462336,8462336,8462336,956,956,8945664,9035776,8462336,9158656,8462336,8462336,8462336,8462336,8462336,956,956,956,8462336,8462336,8462336,8462336,8462336,8462336,956,956,956,8462336,8462336,8462336,8462336,8462336,9453568,956,956,9453568,8462336,8462336,9453568,8462336,8462336,956,956,8462336,8462336,9109504,9437184,9109504,9437184,9109504,9437184,0,0,0,0,0,2,3,172036,0,6,7,0,0,0,0,0,0,0,0,0,326,326,361,0,0,299,0,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,1360314,442,1360314,442,1360314,1360314,1360314,1360314,1360314,442,1360314,1360314,1360314,1360314,1360314,1360314,1360314,0,0,0,0,0,0,0,0,0,345,346,0,0,0,0,0,172036,0,0,6,7,7,0,0,0,0,0,0,0,0,287,288,9897083,3,0,7,0,0,0,0,0,0,0,0,10043392,10059776,8847360,0,0,0,0,368,0,0,538,538,538,538,578,578,538,538,578,578,606,538,578,578,606,538,538,606,538,538,538,538,538,578,578,606,606,606,606,606,606,606,578,538,538,538,606,2,3,0,0,8724480,0,0,0,0,0,0,0,0,0,0,0,0,0,344,0,0,0,0,9617408,0,0,0,0,0,0,10788864,0,0,0,0,0,0,0,550,550,566,566,590,590,566,566,590,0,0,0,0,9052160,10141696,10321920,0,10698752,10797056,10805248,0,8962048,0,0,0,0,0,0,9175040,0,0,0,0,8462336,845,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,10600448,9486336,8462336,8462336,8462336,8462336,8462336,958,0,9355264,0,0,10657792,0,0,0,0,0,0,0,0,0,0,0,297,298,299,300,0,319,287,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,0,0,0,0,155648,287,0,0,0,0,0,0,0,0,0,0,307,0,0,0,0,0,0,0,0,0,196923,287,0,0,0,287,287,0,0,0,0,0,0,0,287,0,287,287,0,0,0,0,0,0,287,0,0,287,147456,221570,0,287,287,287,287,287,287,287,287,287,0,0,287,0,287,2,3,172036,0,0,6,7,7,0,0,0,0,0,0,0,0,17016,288,0,49152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,331,0,9895936,3,0,7,0,0,0,287,0,0,0,0,10043392,10059776,8847360,0,0,0,0,382,0,0,0,0,0,0,0,0,0,0,0,380,0,147456,139264,0,0,8519951,3,172036,0,6,7,279,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,712,319,0,1376256,0,0,0,0,0,0,0,0,0,0,0,0,0,351,0,0,0,0,0,0,155648,1376256,0,0,0,0,0,0,0,0,0,0,311,311,311,311,491,311,0,1376256,0,0,0,0,0,1376256,0,0,0,0,0,1376256,0,1376256,1376256,1376256,1376256,1376256,1376256,1376256,1376256,1376256,1376256,1376256,1376256,1376256,1376256,8519951,3,319,0,664,0,0,0,0,0,0,0,0,0,0,0,0,0,352,0,0,9895936,3,0,7,0,0,0,0,1150,1154,0,0,10043392,10059776,8847360,0,0,0,0,394,0,0,0,0,0,0,0,0,0,0,0,725,0,0,0,0,319,0,0,1384448,1384448,1384448,0,0,0,0,0,0,0,0,0,0,316,196923,0,0,319,319,0,0,0,0,1384448,0,0,0,1384448,0,0,0,0,0,0,0,0,0,1384448,1384448,1384448,1384448,1384448,1384448,1384448,1384448,0,0,1384448,0,1384448,2,3,0,0,0,237568,237568,0,0,0,0,0,0,0,0,0,0,0,306,0,147456,139264,0,0,0,237568,237568,237568,237568,237568,237568,237568,0,0,237568,0,237568,2,3,172036,0,0,6,7,7,0,0,0,0,0,0,0,0,633,634,319,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,709,0,0,0,0,0,0,0,155648,288,0,0,0,0,0,0,0,0,0,0,317,0,196923,0,319,319,172036,0,0,6,7,7,0,0,0,0,0,0,0,0,287,17019,9895936,3,0,7,0,0,0,0,0,0,288,0,10043392,10059776,8847360,0,0,0,0,425,0,0,0,428,434,434,434,434,434,458,434,434,434,434,474,474,434,474,474,474,474,474,474,474,474,474,494,474,474,494,494,494,494,494,494,494,494,494,494,494,494,494,494,494,494,320,285,1392925,285,285,285,1392925,1392925,323,285,285,285,285,285,285,285,1392925,1392925,285,285,285,285,285,285,285,285,285,285,1392963,285,285,285,285,285,285,285,1392963,285,285,1392963,147456,139264,285,285,1392925,1392925,285,1392925,1392925,1392925,285,1392925,1392925,1392925,1392925,285,285,1392925,285,155648,285,285,285,285,285,285,285,285,285,285,285,285,285,285,285,285,196923,1392925,1392925,1392925,1392925,1392963,1392963,1392963,1392963,1392963,1392925,1392925,1392925,1392925,1392925,2,3,0,0,0,0,8602261,8602261,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,763,319,0,0,1400832,0,0,0,0,0,1400832,1400832,1400832,0,0,0,0,1400832,0,0,1400832,1400832,1400832,1400832,1400832,0,3,0,0,0,0,1400832,1400832,0,0,0,0,0,0,0,147456,139264,0,0,0,0,592,0,0,0,237568,0,237568,237568,0,237568,237568,0,237568,237568,155648,0,0,0,0,0,0,0,0,0,0,0,349,0,0,353,349,0,1400832,0,0,155648,0,0,0,0,1400832,0,0,0,0,0,0,0,551,551,551,551,591,591,551,551,591,1400832,1400832,1400832,1400832,1400832,1400832,1400832,1400832,1400832,1400832,1400832,1400832,1400832,1400832,1400832,1400832,0,0,0,0,0,0,0,0,0,640,835,836,0,0,0,0,1400832,0,0,0,1400832,1400832,1400832,0,0,0,0,0,0,0,1400832,0,1400832,0,0,0,0,0,0,0,0,344,0,0,0,0,0,0,0,0,0,147456,139264,344,172036,0,0,6,7,7,229376,0,0,0,0,0,0,0,287,288,303104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1214,1409024,1409024,1409024,1409024,1409024,1409024,1409024,0,0,0,0,0,0,0,0,0,703,0,0,0,0,0,0,0,0,82513,0,0,1409024,82513,0,0,82513,0,1409024,0,0,1409024,1409024,1409024,1409024,1409024,1409024,1409024,1409024,1409024,1409024,1409024,1409024,1409024,1409024,1409024,1409024,1409024,1409024,82513,82513,82513,82513,82513,82513,82513,1409024,1409024,1409024,1409024,82513,2,3,0,1417216,0,0,1417216,1417216,1417216,1417216,1417216,1417216,1417216,1417216,1417216,1417216,1417216,1417216,1417216,1417216,1417216,1417216,1417216,1417216,1417216,1417216,1417216,1417216,1417216,0,0,0,0,0,0,0,0,0,721,721,0,0,0,0,0,0,0,0,0,1417216,1417216,1417216,1417216,1417216,1417216,1417216,1417216,1417216,1417216,2,3,1231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1248,319,0,0,0,0,0,0,0,0,1425408,0,0,1425408,1425408,1425408,1425408,1425408,1425408,1425408,1425408,1425408,1425408,1425408,1425408,1425408,1425408,1425408,1425408,0,0,0,0,1425408,1425408,0,0,0,0,0,0,0,147456,139264,0,0,0,0,637,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1425408,0,0,155648,0,0,1425408,0,1425408,1425408,0,0,0,1425408,0,0,0,0,0,0,0,1425408,1425408,1425408,1425408,1425408,2,3,0,1425408,0,0,1425408,0,0,0,0,1425408,1425408,1425408,1425408,1425408,1425408,1425408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1304,0,0,0,0,155648,1433600,0,0,0,0,0,0,0,0,0,0,318,0,0,196923,319,319,0,1433600,0,0,1433600,1433600,1433600,1433600,1433600,1433600,1433600,1433600,1433600,1433600,1434052,1434052,1433600,1434052,1433600,1434052,1434052,1434052,1434052,1434052,1433600,1434052,1434052,1434052,1434052,1434052,1434052,1434052,0,0,0,0,0,0,0,0,0,723,0,0,0,0,0,0,1433600,0,0,0,1433600,1433600,1433600,1433600,1433600,1434052,1434052,1434052,1434052,1434052,2,3,0,180498,180498,6,7,7,0,629,0,0,0,0,0,0,287,288,9895936,3,180498,7,0,0,0,0,0,0,0,0,0,0,0,0,0,10403840,0,0,1200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1831,0,1250,8724480,740,0,0,0,0,0,0,0,0,0,0,0,0,287,0,0,287,0,9904128,9912320,0,0,0,0,1295,0,0,0,0,0,0,0,0,360,0,0,0,0,0,467,0,526,526,1403,526,526,526,526,526,526,526,526,526,526,526,526,526,526,3511,526,1419,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,567,567,567,526,526,526,1419,526,526,526,526,526,526,526,16834560,16834560,0,567,567,567,567,567,567,3863,567,567,567,567,567,567,567,567,567,567,2721,567,2724,567,567,567,567,567,567,1583,567,567,567,567,567,567,567,567,567,567,567,567,1514,567,567,567,594,594,594,1733,594,594,594,594,594,594,594,594,594,594,594,594,1664,594,594,594,0,319488,0,0,0,0,0,0,0,0,0,0,0,0,0,0,719,719,0,0,0,2517,0,0,0,0,0,0,0,0,0,2526,0,0,0,0,0,1853,0,0,0,0,0,0,0,0,0,0,3421,0,0,0,0,0,2529,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1885,567,2713,567,567,567,567,567,567,567,567,567,567,567,2725,567,567,567,567,567,567,3875,567,567,567,567,567,567,567,567,567,567,2832,567,567,567,567,567,2838,0,0,0,0,0,594,594,594,594,594,594,2852,594,594,594,594,594,594,3694,594,594,594,594,594,594,3700,594,594,3034,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1888,526,3100,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,3831,526,526,526,526,3127,526,526,526,526,526,526,526,526,526,526,526,526,3814,526,526,526,567,3214,567,567,567,567,567,567,567,567,567,567,567,567,567,567,594,594,3350,594,594,594,594,594,594,594,594,594,594,594,594,594,594,594,594,1778,0,0,0,3028,0,0,0,0,0,0,0,0,0,0,0,0,288,0,0,288,526,3535,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,3844,3559,526,526,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,3623,567,567,567,567,567,567,567,567,567,567,567,0,83565,594,0,0,594,3703,594,594,594,594,594,594,594,594,594,594,594,594,594,594,594,4368,526,526,3819,526,526,526,526,526,526,526,526,526,526,526,526,526,526,3519,526,0,0,0,4001,4002,0,0,0,0,0,0,0,0,0,0,0,646,0,0,0,0,0,0,4012,0,0,0,0,0,0,4018,0,0,0,0,0,0,0,642,0,0,0,0,0,0,649,0,0,0,0,526,4024,526,526,4026,526,526,526,526,526,526,526,526,526,2091,526,526,526,526,2097,526,4079,567,567,567,567,567,567,567,567,567,567,567,4089,567,567,4091,594,594,594,4127,594,594,594,594,594,594,594,594,594,594,594,4137,594,594,4139,594,594,594,594,594,594,4143,594,594,594,594,594,594,526,526,526,567,567,567,594,594,594,526,526,567,567,594,594,567,567,567,4241,567,567,567,567,567,567,567,4247,567,567,567,567,567,567,567,4244,567,567,567,567,567,567,567,567,1546,567,567,567,567,567,567,567,594,594,594,4272,594,594,594,594,594,594,594,4278,594,594,594,594,594,594,2330,594,594,594,594,594,594,594,594,594,1719,594,594,594,594,594,1728,567,567,567,567,567,4333,567,567,567,567,567,567,4339,567,567,567,567,567,567,2232,567,567,567,567,567,567,567,567,567,1590,567,567,567,567,567,567,594,594,594,594,4359,594,594,594,594,594,594,4365,594,594,594,594,594,594,2347,594,594,594,594,594,594,594,594,594,594,3306,594,594,594,594,594,4440,594,594,594,594,594,594,594,594,594,594,594,594,594,594,594,2340,594,594,4456,594,594,594,594,594,594,594,0,0,0,0,0,0,0,0,0,0,0,0,0,4176,0,4511,567,567,567,567,567,567,594,594,594,594,594,594,594,594,594,594,594,594,594,594,4525,594,594,594,594,594,594,4532,594,594,594,594,594,594,0,0,526,526,526,526,526,526,567,567,567,567,567,567,567,567,567,4425,567,567,567,4570,567,567,567,567,567,567,567,567,567,567,567,567,1516,567,567,567,567,567,4733,567,567,567,4735,567,594,594,594,594,4739,594,594,594,594,594,594,3695,594,594,594,594,594,594,594,594,594,594,3960,594,594,594,594,594,4741,594,0,0,526,526,526,526,526,526,567,567,567,567,567,567,567,567,567,994,4762,526,4764,4765,567,4767,4768,594,526,526,526,567,567,567,594,594,594,4785,4786,4787,4788,4789,4790,0,0,0,0,155648,377,0,0,0,0,0,0,0,0,0,0,377,0,0,147456,139264,0,377,287097,287344,287344,287344,287344,287344,287344,287344,0,0,287097,0,287344,2,3,172036,180498,180498,6,7,7,0,0,0,0,0,0,0,0,287,288,0,0,8724480,740,0,0,0,0,0,0,0,0,0,0,0,0,322,0,333,364,0,9904128,9912320,0,0,0,0,0,0,0,0,0,0,0,0,0,378,0,378,0,0,1450437,0,1450437,1450437,1450437,1450437,1450437,0,1450437,1450437,1450437,1450437,1450437,1450437,1450437,0,0,0,0,0,0,0,286,0,0,0,0,0,286,0,0,0,0,0,0,1450437,1450437,1450437,1450437,1450437,1450437,1450437,1450437,1450437,1450437,0,2,3,273,0,6,7,0,280,0,0,0,0,0,0,0,0,3057,0,0,0,0,0,0,0,0,3069,0,0,0,0,0,0,0,0,3419,0,0,0,0,0,0,0,0,3431,3432,0,0,0,0,0,0,0,0,0,0,1458176,0,0,0,0,0,0,0,0,0,0,0,705,0,0,0,0,0,0,8724480,12894208,0,0,0,0,0,0,0,0,0,0,0,0,329,330,0,0,0,0,0,12894208,0,0,0,0,10280960,0,10420224,0,0,0,0,0,0,0,67496,526,2566,526,526,526,526,526,526,526,4215,526,526,526,526,526,526,526,526,526,3825,526,526,526,526,526,526,12894208,0,9617408,0,0,0,0,0,0,10788864,0,0,0,0,0,0,0,685,0,0,0,0,0,0,0,0,391,0,0,0,0,0,0,0,0,0,0,0,155648,378,0,0,0,0,0,0,0,0,0,0,378,0,0,147456,139264,0,378,378,378,378,378,378,378,378,378,0,0,378,0,378,2,3,9895936,3,180498,7,0,0,0,0,0,0,0,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1894,1232,379,99537,91346,0,0,1237,0,0,0,0,0,0,0,0,0,732,0,0,0,526,526,526,0,1800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,721,721,99537,91346,0,0,1237,1878,0,0,0,0,0,0,0,0,0,0,379,0,0,147456,139264,0,594,1794,2429,0,0,0,0,1800,2431,0,0,0,0,0,0,0,0,3471,0,0,0,0,0,0,0,0,3729,0,0,0,0,0,0,0,0,3742,0,0,0,0,0,0,0,0,3771,0,3773,0,0,0,0,0,0,0,1232,0,0,1878,0,0,0,0,0,0,0,0,0,1888,1889,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1847,0,0,0,2558,0,0,0,67496,526,526,526,526,526,526,526,526,526,2624,526,526,526,526,526,526,0,0,0,0,155648,379,0,0,0,0,0,0,0,0,0,0,644,0,0,0,0,0,0,379,379,379,379,379,379,379,379,379,0,0,379,0,379,2,3,1232,379,0,91346,0,0,1237,0,0,0,0,0,0,0,0,0,738,0,0,0,0,0,0,0,91346,0,0,1237,1878,0,0,0,0,0,0,0,0,0,0,645,0,647,648,0,0,0,290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,804,0,0,321,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1941,0,290,290,290,0,0,0,0,0,0,0,0,0,0,0,0,655,526,526,526,0,290,0,0,0,0,0,0,0,1474560,1474560,1474560,1474560,1474560,290,1474560,1474560,1474560,1474560,1474560,1474560,1474560,1474560,1474560,1474560,1474560,1474560,1474560,1474560,1474560,1474560,1474850,1474850,1474850,1474560,1474850,1474850,1474850,1474560,1474850,1474850,1474850,1474850,1475078,1474850,1474850,1474560,1475078,1474850,1474850,1474850,1474850,0,0,0,0,0,0,0,0,0,739,0,0,0,0,0,0,172036,0,0,6,7,7,0,0,0,0,0,0,270336,0,287,288,8602262,0,270336,0,0,0,0,0,0,0,0,0,0,0,0,0,379,0,379,1052,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,0,0,8724480,1253,0,0,0,0,0,0,0,0,0,0,0,0,671,0,0,0,8463179,10044235,10060619,8463179,8463179,8463179,8463179,8848203,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,9200459,9339723,8463179,8463179,8463179,8463179,8463179,8463179,8463179,10232651,8463179,8463179,8463179,8463179,8463179,843,8463179,8463179,8463179,8463179,10314571,8463179,10330955,8463179,8463179,10781515,8463179,10814283,8463179,10855243,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,9462603,9323339,8463179,9347915,8463179,8463179,10527563,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8757248,957,10018816,957,10027008,10035200,957,10330112,957,9166848,957,9175040,10379264,957,957,957,957,10412032,957,10428416,957,957,957,957,8978432,957,957,957,957,10272768,957,957,957,957,957,957,8929280,957,957,957,957,957,957,957,957,10223616,10331165,8463389,9167901,8463389,9176093,10380317,8463389,8463389,8463389,8463389,10413085,8463389,10429469,8463389,8463389,8463389,8463389,8463389,10200093,8463389,8463389,8463389,9012253,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8912896,0,0,0,0,8839168,0,10584064,8463389,8463389,10470429,9323549,8463389,9348125,8463389,8463389,10527773,8463389,8463389,8463389,8463389,8463389,8463389,8463389,0,0,0,0,8807243,8463179,8463179,8463179,8463179,8463179,10421067,8463179,8463179,8463179,8463179,10445643,8463179,8463179,8463179,8463179,8463179,10502987,8463179,8463179,8463179,8463179,9192267,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,10543947,8463179,10502144,957,957,957,957,957,957,957,957,957,957,957,957,957,957,957,0,8463389,10019869,8463389,10028061,10036253,8463389,8463389,8463389,8463389,8463389,8463389,10077213,8463389,8463389,8463389,8463389,8463389,9618461,8463389,10732573,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,0,0,8463179,8463179,0,8463389,10282013,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,9200669,8463389,10445853,8463389,8463389,8463389,8463389,8463389,10503197,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,0,0,0,0,0,0,8463179,10085195,10093387,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8897355,8463179,8463179,8463179,8463179,8463179,8463179,10142539,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8962891,8463179,8463179,9519947,8463179,8463179,9544523,8463179,9552715,8463179,8463179,8463179,9569099,8463179,8463179,9601867,8463179,8463179,8463179,9618251,8463179,843,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,9077579,8463179,8463179,10060619,8463179,8463179,8463179,8463179,9167691,10789707,8463179,8463179,8463179,8463179,10822475,10838859,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,9012043,9225035,8463179,8463179,10486603,8463179,8463179,8463179,8463179,9593675,10732363,8463179,957,957,957,957,957,957,10543104,957,957,957,957,957,9404416,957,957,957,9248768,957,957,957,957,957,957,957,9297920,957,10477568,957,957,10485760,957,10518528,9568256,957,957,9592832,9601024,957,957,957,957,957,9617408,957,10731520,957,957,957,957,9379840,957,957,957,10567680,957,957,957,957,9461760,957,9469952,10093597,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8897565,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,10634269,8463389,8463389,8463389,8463389,9520157,8463389,8463389,9544733,8463389,9552925,8463389,8463389,8463389,9569309,8463389,8463389,9593885,9602077,8463389,8463389,10789917,8463389,8463389,8463389,8463389,10822685,10839069,8463389,8463389,8463389,0,0,0,0,0,0,1206,0,0,0,0,0,0,0,0,0,3743,0,0,0,0,0,3747,0,0,0,0,10011467,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,10109771,8856395,8463179,8840011,8463179,8913739,8463179,8463179,8995659,8463179,8463179,8463179,8463179,8463179,10584907,8463179,8463179,8463179,8463179,10077003,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,10396491,8463179,8463179,10404683,8463179,10208075,8463179,8463179,8463179,9028427,8463179,8463179,8463179,8463179,9053003,8463179,9061195,9069387,8463179,8463179,9298763,8463179,10478411,8463179,8463179,843,8463179,10519371,8463179,8463179,8463179,8463179,8463179,8463179,957,957,957,957,957,957,957,957,957,957,0,0,0,8463389,1055,8463389,10298187,9126731,8463179,9143115,8463179,10322763,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,9503563,8806400,957,957,957,957,957,957,957,957,957,957,10690560,957,957,957,957,957,9257803,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,10494795,8463179,8463179,10535755,8463179,8463179,9380683,8463179,8463179,8463179,10568523,8463179,8463179,8463179,8463179,8463179,9470795,8463179,10609483,8463179,8463179,10634059,8463179,8463179,8463179,8463179,10666827,8463179,8463179,9577291,8463179,8463179,10683211,10699595,8463179,10715979,8463179,10847051,8463179,8463179,8815435,8463179,8463179,8463179,8463179,8463179,9233227,8463179,8463179,8463179,8463179,8463179,8463179,10199883,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,10281803,8463179,8463179,8463179,8463179,8463179,8463179,8463179,9691979,10010624,957,957,8814592,957,957,957,957,957,957,10108928,8855552,957,957,957,9502720,8807453,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,9503773,957,10207232,957,957,957,9027584,957,957,957,957,9052160,957,9060352,9068544,957,957,957,10043392,10059776,957,957,957,957,8847360,957,957,957,957,957,957,957,10174464,957,957,957,9084928,957,9117696,957,957,10297344,9125888,957,9142272,957,10321920,957,957,957,957,957,957,957,957,957,9232384,957,9256960,957,957,957,957,957,957,957,957,957,10493952,957,957,10534912,957,957,957,10600448,9486336,957,957,8463389,8463389,8872989,8463389,8463389,8463389,8463389,8463389,8463389,10495005,8463389,8463389,10535965,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,10347549,8463389,8463389,8463389,9208861,8463389,8463389,9217053,10715136,957,957,10739712,957,957,957,10764288,957,10772480,957,957,957,10797056,10805248,957,957,9216e3,10387456,957,9265152,957,10436608,957,10452992,10461184,957,957,957,10510336,9355264,8815645,8463389,8463389,8463389,8463389,8463389,8463389,10109981,8856605,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,9626653,8463389,8463389,8463389,10142749,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8963101,8463389,8463389,8463389,10208285,8463389,8463389,8463389,8463389,8463389,10290205,8463389,8463389,8463389,10306589,8463389,8463389,8463389,8463389,10339357,8463389,9028637,8463389,8463389,8463389,8463389,9053213,8463389,9061405,9069597,8463389,8463389,10298397,9126941,8463389,9143325,8463389,8463179,8463179,9454411,957,957,9453568,8463389,8463389,9454621,8463179,8463179,957,957,8463389,8463389,9110347,9438027,9109504,9437184,9110557,9438237,0,0,0,0,10322973,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,9233437,8463389,9258013,8463389,8463389,8463389,8463389,8463389,10372125,8463389,8463389,9225245,8463389,8463389,9249821,8463389,8463389,8463389,8463389,8463389,10069021,8463389,8463389,10118173,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,10601501,9487389,8463389,8463389,0,8463389,8463389,10667037,8463389,8463389,9577501,8463389,8463389,10683421,10699805,8463389,10716189,8463389,8463389,10740765,8463389,8463389,8463389,8930333,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,10224669,9020445,8463389,10249245,8463389,8463389,10765341,8463389,10773533,8463389,8463389,8463389,10798109,10806301,8463389,8463389,8463389,10847261,9692189,8463389,8463389,8463389,9298973,8463389,10478621,8463389,8463389,10486813,8463389,10519581,8463389,8463389,8463389,8463389,8463389,8463389,10544157,8463389,8463389,8463389,8463389,8463389,9405469,8463389,8463389,8463389,10249035,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,10347339,8463179,8463179,8463179,9208651,8463179,8463179,10175307,8463179,8463179,9085771,8463179,9118539,8463179,8463179,10363723,9274187,8463179,9306955,8463179,8463179,10183499,8971083,8463179,9003851,8463179,9044811,8463179,8463179,8463179,9151307,8463179,9184075,8463179,10355531,9216843,10388299,8463179,9265995,8463179,10437451,8463179,10453835,10462027,8463179,8463179,8463179,10511179,9356107,8463179,8463179,10273611,8463179,8463179,8463179,8463179,8463179,8463179,8979275,8463179,8463179,8463179,8463179,957,957,957,10231808,957,957,957,957,957,9076736,957,957,957,957,10313728,957,8463179,9495371,8463179,8463179,8463179,10658635,8463179,10675019,8463179,8463179,8463179,8463179,10748747,8463179,8463179,8463179,8463179,9405259,8463179,8463179,8463179,8463179,8463179,8463179,9478987,8463179,8463179,8463179,8463179,8463179,8938315,10167115,8954699,8463179,8463179,8463179,8463179,8463179,8463179,9290571,9331531,9495371,9585483,8463179,957,957,957,957,957,10067968,957,957,10117120,957,957,957,957,957,8937472,10166272,8953856,957,957,957,957,957,957,957,9289728,9019392,957,10248192,957,957,957,957,957,957,957,957,10346496,957,957,957,9207808,957,10608640,957,957,9494528,957,957,957,10657792,957,10674176,9584640,957,957,957,957,957,10076160,957,957,957,957,957,957,957,957,957,957,957,0,0,8758301,0,0,957,10747904,957,957,957,957,957,10780672,957,10813440,957,10854400,957,0,0,0,0,0,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,10085405,10388509,8463389,9266205,8463389,10437661,8463389,10454045,10462237,8463389,8463389,8463389,10511389,9356317,8463389,8463389,8463389,8463389,8463389,10396701,8463389,8463389,10404893,8463389,10421277,8463389,8463389,9282589,8463389,8463389,8463389,9380893,8463389,8463389,8463389,10568733,8463389,8463389,8463389,8463389,9462813,8463389,9471005,8463389,10609693,8463389,8463389,8463389,9479197,8463389,8463389,8463389,8463389,8463389,10650653,8463389,8463389,8463389,8463389,8463389,8463389,8463389,10175517,8463389,8463389,8463389,9085981,8463389,9118749,8463389,8463389,8463389,9495581,8463389,8463389,8463389,10658845,8463389,10675229,9585693,8463389,8463389,8463389,8463389,8463389,10748957,8463389,8463389,8463389,10044445,10060829,8463389,8463389,8463389,8463389,8848413,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,10691613,8463389,8463389,8463389,8463389,8463389,10150731,10158923,8463179,8463179,8463179,8463179,8463179,8463179,8463179,10240843,8463179,8463179,10257227,8463179,10265419,8463179,8864587,8463179,8987467,8463179,8463179,8463179,8463179,957,957,957,957,957,957,957,957,957,957,10199040,957,957,957,9011200,957,8463179,10650443,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,9675595,8463179,10830667,8463179,8463179,10740555,8463179,8463179,8463179,10765131,8463179,10773323,8463179,8463179,8463179,10797899,10806091,8463179,8463179,9626443,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,10617675,8463179,8463179,8863744,957,957,8880128,8888320,957,957,10149888,10158080,957,957,957,957,957,8986624,957,957,9527296,10641408,9609216,10706944,957,9641984,9650176,9682944,957,8463389,10052637,8823837,8463389,10126365,957,1024e4,957,957,10256384,957,10264576,957,957,957,957,957,9191424,957,957,957,957,9674752,957,10829824,957,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,10191901,8463389,8463389,8864797,8463389,8463389,8881181,8889373,8463389,8463389,10150941,10159133,8463389,8463389,8463389,8463389,8463389,8987677,8463389,8463389,8463389,10216477,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,10617885,8463389,8463389,10241053,8463389,8463389,10257437,8463389,10265629,8463389,8463389,8463389,8463389,8463389,9192477,8463389,8463389,8463389,8463389,8938525,10167325,8954909,8463389,8463389,8463389,8463389,8463389,8463389,8463389,9290781,8463389,0,10182656,0,8790859,8799051,8463179,8831819,8463179,10101579,8463179,8463179,10134347,8463179,8463179,8463179,8463179,8463179,10289995,8463179,8463179,8463179,10306379,8463179,8463179,8463179,8463179,10339147,8463179,8463179,9241419,8463179,8463179,8463179,8463179,8463179,9364299,8463179,8463179,8463179,8463179,10576715,8463179,9446219,10593099,9667403,8463179,8463179,9134923,8463179,8971083,8463179,8463179,8463179,8463179,8463179,8790016,8798208,957,957,8830976,957,10100736,957,957,10133504,957,957,957,957,957,957,10182656,8970240,957,9003008,957,957,10403840,957,10420224,957,957,9281536,957,957,10444800,957,957,957,957,957,957,9625600,957,957,957,957,957,957,957,957,957,957,957,10280960,957,957,957,957,9043968,957,957,957,9134080,9150464,957,9183232,957,10354688,957,9240576,957,957,957,957,957,10141696,957,957,957,957,957,957,957,8962048,957,957,957,9363456,957,957,957,957,10575872,957,9445376,10592256,957,957,957,957,957,957,957,10788864,957,957,957,957,10821632,10838016,957,957,957,9535488,9560064,957,957,10723328,957,957,10756096,957,9658368,9666560,957,957,8791069,8799261,8463389,8463389,8832029,8463389,10101789,8463389,8463389,10134557,8463389,8463389,8463389,8463389,8463389,8463389,10183709,8971293,8463389,9004061,8463389,9045021,8463389,8463389,8463389,9135133,9151517,8463389,9184285,8463389,10355741,8463389,9241629,8463389,8463389,8463389,10232861,8463389,8463389,8463389,8463389,8463389,9077789,8463389,8463389,8463389,8463389,10314781,8463389,0,0,0,9019392,9265152,0,10608640,10813440,10452992,0,0,0,0,0,0,0,701,0,0,0,0,0,0,0,0,800,0,0,803,0,0,0,807,8463389,9306112,10625024,0,0,9527296,0,9641984,9371648,0,10641408,9609216,9682944,10125312,0,0,0,0,0,1878,0,0,0,0,0,0,0,0,2498,1888,0,0,10362880,10551296,10706944,10174464,0,8463179,10052427,8463179,10126155,8463179,8463179,8463179,8463179,8463179,8930123,8463179,8463179,8463179,8463179,8463179,8463179,8463179,10224459,9020235,8463179,10552139,9372491,8463179,9397067,8463179,9413451,8463179,8463179,8463179,10625867,8463179,8463179,9528139,10642251,9610059,10707787,9642827,9651019,9683787,8463179,8823627,8463179,9306955,8463179,8463179,8463179,8463179,957,10051584,8822784,957,10125312,10362880,9273344,957,9306112,957,957,10551296,9371648,957,9396224,957,9412608,957,957,957,10625024,10363933,9274397,8463389,9307165,8463389,8463389,10552349,9372701,8463389,9397277,8463389,9413661,8463389,8463389,8463389,10626077,8463389,8463389,9528349,10642461,9610269,10707997,8463389,9643037,9651229,9683997,8463389,9330688,0,0,10559488,0,0,0,0,639,0,0,0,0,0,0,0,0,0,0,0,9896722,0,0,0,0,0,0,0,0,9289728,0,9699328,8953856,10166272,0,0,0,0,0,0,0,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8880971,8889163,8463179,8463179,8463179,10560331,8463179,8463179,8463179,8463179,8463179,8463179,9700171,8463179,8463179,8463179,8463179,8463179,9634635,957,957,10469376,9322496,957,9347072,957,957,10526720,957,957,957,957,957,957,957,957,957,957,10289152,957,957,957,10305536,957,957,9330688,957,10559488,957,957,957,957,957,957,957,957,9633792,9699328,8463389,8463389,8463389,8463389,9675805,8463389,10830877,8463389,0,0,9043968,9003008,9134080,9150464,0,0,0,0,0,1878,0,0,0,0,0,0,0,0,0,1888,1889,0,0,0,0,0,0,0,0,0,1897,0,9331741,8463389,10560541,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,9634845,9700381,9199616,9338880,0,0,0,0,640,0,0,0,0,0,0,0,818,0,0,707,9339933,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,8463389,0,0,0,0,0,0,0,0,0,0,0,0,10084352,0,0,8871936,0,9486336,0,0,10600448,8463179,8463179,8872779,8463179,8463179,8463179,8463179,8463179,8463179,8463179,9536331,9560907,8463179,8463179,10724171,8463179,10756939,8463179,9659211,957,8871936,957,957,957,957,957,957,957,957,957,957,957,957,957,957,957,957,10395648,9315147,8463179,8463179,9511755,957,8839168,957,8912896,957,957,8994816,957,957,957,957,9314304,8462336,8462336,9510912,956,8839168,956,8912896,956,956,8994816,956,956,956,956,9314304,8462336,8462336,9510912,958,8839168,958,8912896,958,958,8994816,958,958,958,958,9314304,957,10584064,957,957,957,957,9510912,8463389,8840221,8463389,8913949,8463389,8463389,8995869,8463389,8463389,8463389,8463389,10781725,8463389,10814493,8463389,10855453,8463389,8880128,10158080,8986624,0,0,0,0,0,0,9175040,0,0,0,0,8462336,1336,8462336,8462336,8462336,8462336,8462336,8462336,10141696,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8962048,8462336,8462336,8462336,10207232,8462336,8462336,8462336,8463389,8463389,9315357,8463389,10585117,8463389,8463389,8463389,8463389,9511965,0,0,0,0,8904704,8463179,9175883,10380107,8463179,8463179,8463179,8463179,10412875,8463179,10429259,8463179,8463179,8463179,8463179,8463179,10470219,8905547,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,957,8904704,957,957,10633216,957,957,957,957,10665984,957,957,9576448,957,957,10682368,10698752,957,957,957,10616832,957,957,957,9519104,957,957,9543680,957,9551872,957,957,957,957,9199616,957,9338880,957,957,957,957,957,957,957,957,957,957,8463389,8905757,8463389,8463389,8463389,8463389,8921088,0,0,9388032,8921931,8463179,8463179,9093963,9102155,8463179,9388875,9421643,9429835,8463179,8921088,957,957,10846208,9691136,957,957,0,0,0,0,0,0,0,10011677,8463389,8463389,8463389,8463389,9364509,8463389,8463389,8463389,8463389,10576925,8463389,9446429,10593309,8463389,8463389,8463389,8463389,9536541,9561117,8463389,8463389,10724381,8463389,8463389,10757149,8463389,9659421,9667613,8463389,957,9093120,9101312,957,9388032,9420800,9428992,957,8922141,8463389,8463389,9094173,9102365,8463389,9389085,9421853,9430045,8463389,9035776,9158656,8946507,9036619,8463179,9159499,8463179,8463179,8945664,9035776,957,9158656,957,957,957,10338304,957,957,957,957,957,957,10371072,957,957,9224192,957,957,957,9478144,957,957,957,957,957,10649600,957,957,957,957,957,957,957,10190848,957,957,957,957,957,10215424,957,957,8946717,9036829,8463389,9159709,8463389,8463389,8463179,8463179,8463179,957,957,957,8463389,8463389,8463389,8463179,8463179,8463179,957,957,957,8463389,8463389,0,1499136,0,0,1499136,1499136,0,0,0,0,0,0,0,0,0,0,688,0,0,0,0,0,1499136,1499136,1499136,1499136,1499136,1499136,1499136,1499136,1499136,1499136,1499136,1499136,1499136,1499136,1499136,1499136,0,0,0,0,0,0,0,0,0,740,0,0,0,0,0,0,8462336,8462336,10788864,8462336,8462336,8462336,8462336,10821632,10838016,8462336,8462336,8462336,287,0,288,0,0,0,288,288,0,0,0,0,0,0,0,288,0,288,288,0,0,0,0,0,0,288,0,0,288,254335,139264,0,10739712,0,0,0,0,0,10534912,10297344,0,0,0,0,0,845,0,0,10010624,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,10108928,8855552,8462336,956,956,10846208,9691136,956,956,0,1055,0,0,0,1055,0,10010624,8462336,8462336,8462336,8462336,8462336,10289152,8462336,8462336,8462336,10305536,8462336,8462336,8462336,8462336,10338304,8462336,845,0,0,8462336,8462336,8462336,8462336,8462336,10067968,8462336,8462336,10117120,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,10600448,9486336,8462336,8462336,8462336,8462336,8462336,956,956,10747904,956,956,956,956,956,10780672,956,10813440,956,10854400,956,0,1055,0,0,0,0,644,0,0,0,0,0,0,0,0,0,644,0,644,0,0,0,0,0,0,443,443,443,443,443,443,443,443,443,443,443,443,443,443,443,443,0,0,0,0,0,0,0,0,0,740,0,742,0,0,745,0,0,0,620,620,620,620,620,620,620,443,443,625,443,625,2,3,9896722,3,0,7,0,0,0,0,0,0,0,0,10043392,10059776,8847360,0,0,0,0,655,0,0,658,659,0,196923,0,0,0,319,319,0,0,0,0,0,0,0,0,0,0,0,0,1605632,0,0,155648,0,0,0,0,1605632,0,0,0,0,0,0,0,0,0,0,0,1827,0,0,0,0,0,2,3,172036,0,6,7,0,0,1531904,0,0,0,0,0,0,0,702,0,802,0,0,0,0,0,0,0,736,0,740,0,0,743,744,0,0,0,0,0,1531904,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1198,0,1531904,1531904,1531904,1531904,1531904,1531904,1531904,1531904,1531904,1531904,1531904,1531904,1531904,1531904,1531904,1531904,1532358,1532358,1531904,1532358,1531904,1532358,1532358,1532358,1532358,1532358,1531904,1532358,1532358,1532358,1532358,1532358,1532358,1532423,1532358,1532358,1532358,1532358,1532358,0,0,0,0,0,0,0,0,0,781,0,0,0,0,0,0,9732096,1490944,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1230,0,1875,9896723,3,0,7,0,0,0,0,0,0,0,0,10043392,10059776,8847360,0,0,0,0,659,0,0,0,670,0,9895936,0,0,0,0,0,0,657,0,0,0,196923,0,0,0,319,319,0,0,12894208,0,9052160,10141696,10321920,0,10698752,10797056,10805248,0,8962048,0,0,0,0,0,0,9175040,0,0,0,0,8463179,845,8463179,8463179,8463179,8463179,8463179,10371915,8463179,8463179,8463179,8463179,9249611,8463179,8463179,8463179,8463179,8463179,8463179,10191691,8463179,8463179,8463179,8463179,10216267,8463179,8463179,8463179,8463179,0,9355264,0,12894208,10657792,0,0,0,0,0,0,0,0,0,0,0,1811,1812,0,0,0,0,2,3,172036,0,6,7,0,0,0,1564672,0,0,0,0,0,0,0,1605632,0,1605632,1605632,1605632,1605632,1605632,2,16941682,0,0,1564672,0,0,0,1564672,0,0,0,0,0,1564672,0,0,0,0,0,0,9175040,0,0,0,9347072,0,0,0,0,10690560,1565116,1565116,1565116,1565116,1565116,1565116,1565116,1565116,1565116,1565116,1565116,1565116,1565116,1565116,1565116,1565116,0,0,0,0,0,0,0,1564672,0,172036,0,0,0,7,7,0,0,352256,0,0,0,0,1466368,287,288,0,0,0,1441792,0,1548288,0,0,0,0,0,0,0,0,0,0,757,0,0,0,0,0,9895936,0,0,7,278528,376832,0,0,0,0,0,0,10043392,10059776,8847360,0,0,0,0,714,0,0,0,0,0,0,0,0,0,0,0,2524,0,0,0,0,0,9904128,9912320,10231808,0,10313728,10330112,10379264,10412032,10428416,10469376,0,1540096,0,0,0,0,0,0,9175040,0,1556480,0,0,8462336,845,8462336,8462336,8462336,8462336,8462336,8929280,8462336,8462336,8462336,8462336,8462336,8462336,8462336,10223616,9019392,8462336,0,2,3,172036,0,8577300,7,0,0,0,0,281,0,0,0,0,0,0,0,0,0,0,0,0,690,0,692,0,319,0,0,0,0,0,0,0,0,0,1589248,0,0,0,0,0,0,0,10502144,0,0,0,10444800,0,10018816,10035200,0,0,1589248,0,1589248,0,0,0,0,0,1589248,0,0,0,0,0,0,0,753,0,0,0,0,760,761,0,0,0,1589248,0,0,0,0,1589248,0,0,0,0,0,0,0,0,0,801,0,0,0,0,0,0,0,0,1589248,1589248,1589248,1589248,1589248,1589248,1589248,0,0,1589248,0,1589248,2,3,172036,0,0,8577300,7,7,0,0,0,0,0,0,0,0,287,288,344064,3,0,7,0,0,0,0,0,0,0,0,10043392,10059776,8847360,0,0,0,0,733,0,0,0,0,740,0,0,0,0,0,746,0,0,360448,360448,360448,360448,360448,360448,360448,0,0,0,0,360448,2,3,0,2,3,172036,180498,6,7,0,0,0,0,0,0,0,0,0,1167,0,0,0,0,1171,0,567,567,594,526,567,567,594,526,526,594,526,526,526,526,526,567,567,3189,567,567,567,567,567,567,567,567,567,567,3197,9896676,3,180498,7,0,0,0,0,0,0,0,0,0,0,0,0,734,526,526,526,0,0,0,91346,0,0,0,0,0,0,0,0,0,0,0,0,1256,0,0,0,0,91346,0,0,0,1878,0,0,0,0,0,0,0,0,0,0,782,0,0,0,0,0,0,3027,0,3028,0,0,0,0,0,0,0,0,0,0,0,0,1278,0,0,0,0,0,0,68611,526,526,526,526,526,526,526,526,526,526,526,526,526,0,0,1887,1888,1889,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2513,9896676,3,274,7,0,0,0,0,0,0,0,0,0,0,0,0,1327,0,0,0,172036,180498,180851,6,7,7,0,0,0,0,0,0,0,0,287,288,568,568,595,527,568,568,595,527,527,595,527,527,527,527,527,568,568,595,595,595,595,595,595,595,568,527,527,527,595,2,3,0,0,8724480,740,0,0,0,0,0,0,0,0,0,0,0,1265,567,567,596,528,567,567,596,528,528,596,528,528,528,528,528,567,0,0,0,0,2845,594,594,594,594,594,594,594,594,594,594,594,4267,594,594,594,594,567,567,596,596,596,596,596,596,596,567,528,528,528,596,2,3,0,0,3439,3028,0,0,0,0,0,0,0,0,0,0,0,0,1828,0,1830,0,0,2,3,172036,180499,6,7,0,0,0,0,0,0,0,0,0,1209,0,0,0,0,0,0,0,0,1597440,0,0,1597440,1597440,1597440,1597440,0,1597440,1597440,1597440,1597440,1597440,1597440,1597440,0,1597440,0,0,0,0,0,0,0,0,4017,0,0,0,0,0,0,0,0,4388,0,0,526,526,526,526,526,526,526,526,526,526,526,526,3789,526,0,0,1597440,1597440,1597440,1597440,1597440,1597440,1597440,1597440,1597440,1597440,1597440,1597440,2,3,0,1251,8724480,0,0,0,0,0,0,0,0,0,0,0,0,0,442,1360314,442,9666560,327680,0,0,0,9183232,0,0,0,0,0,9240576,0,0,10592256,0,0,0,0,768,0,0,0,0,0,0,0,777,0,0,0,0,0,1220,0,0,0,0,0,0,0,0,0,0,10215424,0,0,0,0,0,0,2,272,172036,0,6,277,0,0,0,0,0,282,283,0,0,0,0,0,1919,0,0,0,0,0,0,0,0,1927,0,1605632,1605632,1605632,1605632,1605632,1605632,1605632,1605632,1605632,1605632,1605632,1605632,1605632,1605632,1605632,1605632,0,0,0,0,0,0,0,0,0,1216,1334,526,845,526,526,526,172036,0,0,6,277,277,0,0,0,630,0,0,0,0,287,288,9895936,16941682,0,277,0,0,0,0,0,0,0,0,10043392,10059776,8847360,0,0,0,0,1163,0,0,0,0,0,0,1168,0,0,0,0,0,0,1854,0,0,0,0,0,0,0,0,1862,9896676,3,180498,7,0,0,0,0,0,0,0,636,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2447,0,722,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1247,0,1233,1234,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1313,0,0,0,1875,0,0,0,0,0,0,0,0,0,0,0,0,1888,1889,0,0,0,0,0,0,0,0,1896,0,1896,0,2,3,172036,0,6,278,0,0,0,0,0,0,0,385024,0,0,0,0,0,0,0,0,0,0,385645,385645,385645,385645,385645,385645,385645,0,0,385645,0,385645,2,3,172036,0,0,6,16982644,278,0,0,0,0,631,0,0,0,287,288,9895936,3,0,1149,0,0,1613824,0,0,0,0,0,10043392,10059776,8847360,0,0,0,0,1189,0,0,0,0,0,0,1195,0,0,0,0,0,0,1933,0,0,0,0,0,0,0,0,0,2506752,2506752,2506752,2506752,2506752,2,3,319,0,0,0,0,0,292,0,0,0,0,0,0,0,0,0,1242,0,0,0,0,0,0,0,0,291,0,292,0,291,292,292,0,0,0,0,0,0,0,0,237568,0,0,0,0,0,0,0,0,2993,0,0,0,0,0,0,2998,0,0,0,0,155648,0,0,0,0,405,0,0,0,0,0,0,0,754,0,0,0,758,0,0,762,0,0,291,0,292,424,0,292,292,0,432,432,439,432,439,455,439,510,439,510,439,439,439,439,439,510,439,439,439,439,439,439,473,473,439,473,473,473,473,473,473,473,473,473,473,439,473,498,439,439,439,439,439,439,439,439,439,439,439,439,510,529,552,555,555,569,569,555,555,569,569,569,597,555,569,569,597,555,555,597,555,555,555,555,555,569,569,597,597,597,597,597,597,597,569,555,555,555,597,2,3,319,0,0,0,666,0,0,669,0,0,0,0,0,0,676,0,0,0,0,1204,0,0,0,0,0,0,0,0,0,1213,0,0,0,0,1219,0,0,0,0,0,0,0,0,0,0,0,9895936,1581056,0,0,0,0,694,0,0,0,0,0,0,0,0,0,704,0,707,0,0,0,0,0,0,9404416,0,0,0,0,0,0,0,0,0,324,324,324,324,324,464,324,764,0,0,0,0,0,0,0,0,773,0,0,0,0,0,0,0,771,0,0,0,0,0,0,0,780,0,0,0,9895936,0,0,0,0,792,640,0,0,666,0,0,0,785,0,0,9895936,0,0,0,0,0,0,292,0,0,291,291,292,292,292,0,0,666,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2474,666,0,0,666,0,0,0,0,666,0,704,666,0,526,844,526,526,526,526,526,4487,526,526,526,526,526,526,526,526,526,567,3853,567,567,567,567,567,567,526,852,857,526,526,870,526,526,526,526,887,891,895,526,904,526,526,526,526,526,4657,526,526,526,4661,526,526,526,567,567,567,3564,567,567,567,567,567,567,567,3570,567,909,526,526,927,526,526,526,526,870,938,526,857,526,526,526,526,526,526,2106,526,526,526,526,526,526,526,526,526,526,2679,526,526,526,526,526,947,904,526,909,526,526,567,959,567,966,971,567,567,984,567,567,567,567,567,567,4083,567,567,567,567,567,567,567,567,567,2185,567,567,567,567,567,567,567,567,1002,1006,1010,567,1019,567,1024,567,567,1042,567,567,567,0,0,0,0,0,594,594,594,594,594,2851,594,594,594,594,594,594,2932,594,594,594,594,594,594,594,594,594,594,3664,594,594,594,594,594,0,594,1054,594,594,1062,1067,594,594,1080,594,594,594,594,1098,1102,1106,594,1115,594,1120,594,594,1138,594,594,594,740,0,526,526,0,0,0,0,1270,0,0,0,0,0,0,0,0,0,0,0,1937,0,0,0,0,9896676,3,180498,7,0,0,0,0,1151,1155,0,0,0,0,0,0,0,782,0,782,0,0,0,0,0,0,0,788,0,788,0,0,0,0,0,0,0,798,0,0,0,0,0,0,0,0,0,0,1186,0,0,0,1190,0,0,0,0,0,0,0,0,0,0,788,0,0,0,0,0,0,0,0,0,788,0,0,0,8724480,740,0,0,0,0,0,0,1260,1261,0,0,0,0,0,0,1238,0,0,0,0,0,0,0,0,0,9732096,9732096,0,0,0,0,0,1261,0,0,0,1332,0,0,0,0,1280,1334,526,845,526,526,526,526,526,526,3822,526,526,526,3826,526,526,526,526,526,526,1406,526,526,526,526,526,1414,526,526,526,526,526,1448,526,526,526,526,526,1456,526,526,526,526,526,526,526,526,4038,526,526,526,526,526,526,526,526,4073,526,526,567,567,567,567,567,567,567,3193,567,567,567,567,3196,567,1863,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2487,526,2013,526,526,526,526,526,526,526,526,526,526,526,526,526,526,880,526,526,526,2046,526,526,2051,526,526,526,2057,2058,526,526,2061,526,526,526,526,526,2070,526,526,526,526,526,526,526,526,526,526,526,16834560,0,0,1498,567,2083,526,526,526,526,526,526,2089,526,526,526,526,526,526,526,526,526,2678,526,526,526,526,526,526,2146,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,0,567,567,567,2178,567,567,567,567,567,567,567,567,567,567,567,567,1517,567,567,567,567,2227,567,567,567,567,567,567,567,567,567,567,567,567,567,567,594,4124,567,567,567,567,2250,567,567,567,567,567,567,2256,567,567,567,567,567,567,567,4431,567,567,567,567,567,567,567,567,567,3864,567,567,567,567,567,567,594,594,594,2378,2379,594,594,2382,594,594,594,594,594,594,594,594,594,2907,594,594,594,594,594,2912,594,2411,594,594,594,594,594,594,594,594,594,594,594,594,594,594,594,4537,0,0,0,2490,0,1878,0,0,0,0,0,2495,0,0,0,1888,1889,0,0,0,0,0,0,0,1895,0,0,0,0,2536,0,0,0,0,0,67496,526,526,526,526,526,526,526,526,526,2693,526,526,526,526,526,526,526,526,2573,526,526,526,2577,526,526,2580,526,526,526,2585,526,526,526,526,526,2087,526,526,526,526,526,526,526,526,526,526,1993,526,526,526,1995,526,526,526,526,526,2592,526,526,526,526,526,526,526,526,526,526,526,526,3827,526,3829,526,526,526,526,2620,526,526,526,526,526,526,526,526,526,526,526,526,526,3136,526,526,2728,567,567,567,567,567,567,2735,567,567,567,567,567,567,567,567,567,3614,567,567,567,567,567,567,2798,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,1628,567,567,567,567,2827,567,567,567,567,567,567,567,567,567,567,567,0,83565,594,0,67496,2855,594,594,594,2859,594,594,2862,594,594,594,2867,594,594,594,594,594,594,2417,594,594,594,594,594,594,594,594,594,1740,594,594,594,594,594,594,594,594,2874,594,594,594,594,594,594,594,594,594,594,594,594,594,0,0,0,0,0,0,594,594,594,2903,594,594,594,594,594,594,594,594,594,594,594,594,1666,594,594,594,2952,594,594,594,594,594,594,594,594,594,594,594,594,594,594,2966,2999,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2528,0,0,0,3028,0,0,0,0,0,0,0,3030,0,0,0,0,0,0,1241,0,0,0,0,0,0,0,0,1888,1889,0,0,0,0,0,0,1894,0,0,0,0,0,0,1272,0,0,0,0,0,0,0,0,0,1499136,1499136,1499136,1499136,1499136,2,3,0,0,0,68611,526,526,526,526,526,526,526,3082,526,526,526,526,526,526,2608,526,526,526,526,526,526,2614,526,526,3154,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,1396,3237,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,2144,567,3269,567,567,567,567,567,567,567,567,567,567,567,567,567,567,1524,567,594,3313,594,594,594,594,594,594,594,594,594,594,594,594,594,594,1674,594,594,594,594,3394,594,594,594,594,594,594,3398,594,594,594,594,594,594,594,3661,594,594,594,594,594,594,594,594,594,2960,594,594,594,2964,594,594,0,0,3427,0,0,0,0,0,0,0,0,0,0,0,0,0,443,443,443,3451,3452,0,0,0,0,0,0,3459,0,0,0,0,0,0,0,0,237568,0,0,0,0,0,0,592,526,3487,526,526,526,526,526,526,526,526,526,526,526,526,526,526,1372,526,526,526,3500,526,526,526,526,526,526,526,526,526,526,526,526,526,526,3558,526,526,526,526,526,3514,526,526,526,526,3516,526,526,526,526,526,526,526,3130,526,526,526,526,526,526,526,526,1495,526,526,16834560,0,0,567,567,526,3522,526,526,526,526,526,526,526,526,526,526,526,526,526,526,1467,526,567,567,3574,567,567,567,567,567,567,567,567,567,567,567,567,567,0,0,0,594,1055,594,567,567,567,567,3588,567,567,567,567,567,567,567,567,567,567,567,0,83565,594,2278,67496,567,567,567,3610,567,567,567,567,567,567,567,567,567,567,567,567,1518,567,567,567,567,567,567,3634,567,567,567,567,567,567,567,567,567,0,3295,0,0,0,0,1304,0,0,0,0,0,0,0,0,0,1314,0,0,0,0,1305,0,0,0,0,0,0,0,0,1312,0,1315,594,3668,594,594,594,594,594,594,594,594,594,594,594,594,594,594,1676,594,594,594,594,3682,594,594,594,594,3684,594,594,594,594,594,594,594,594,2974,594,594,594,0,1798,0,1804,3690,594,594,594,594,594,594,594,594,594,594,594,594,594,594,594,2353,3714,594,594,594,594,594,594,594,594,594,0,0,0,0,0,0,0,0,526,526,3791,526,526,526,526,526,526,526,526,526,526,526,526,526,526,3802,526,567,567,567,567,3901,567,3903,567,567,567,567,567,567,567,567,567,567,3907,567,567,3910,567,567,594,594,594,594,3968,594,3970,594,594,594,594,594,594,594,594,594,594,2334,594,594,594,594,594,4380,0,0,4383,4384,0,4386,0,0,0,0,526,4392,526,4394,526,526,526,526,868,526,526,526,526,526,526,526,526,526,526,526,3171,526,526,526,526,4396,526,526,526,526,526,526,526,526,526,4404,526,526,526,526,526,526,526,4489,526,526,526,526,4492,526,4494,567,594,4441,594,4443,594,4445,594,594,594,594,594,594,594,594,594,594,0,0,0,1794,0,0,594,4455,594,594,594,594,594,594,594,594,4464,0,4466,4467,0,0,0,0,0,1932,0,0,1935,0,1936,0,0,0,0,0,0,526,526,526,526,4476,526,526,526,4480,526,526,526,4484,526,526,526,526,526,526,526,526,526,526,526,526,567,567,567,567,567,567,567,567,567,567,567,4498,567,567,567,567,4503,567,567,567,4507,567,567,567,567,567,567,2717,567,567,567,567,567,567,567,567,567,2198,2200,567,567,567,567,567,4524,594,594,594,4528,594,594,594,594,594,594,594,594,594,594,0,0,0,0,0,4652,4538,0,0,4541,0,0,0,0,526,526,526,526,4549,526,526,526,526,526,526,3849,526,567,567,567,567,567,567,567,567,567,3627,567,567,567,567,3630,567,526,526,526,526,4556,526,526,526,526,526,526,526,526,526,567,567,3854,567,567,567,567,567,567,567,4569,567,567,567,567,567,567,567,567,567,4577,567,567,567,567,567,567,2748,567,567,567,567,567,567,567,567,567,2254,567,567,567,567,567,567,594,4596,594,594,594,594,594,594,0,0,4604,4605,0,0,0,0,0,0,1287,0,0,0,0,0,0,0,0,0,3756,0,0,0,0,0,0,594,4642,594,594,594,594,594,594,594,594,0,0,0,0,0,526,526,526,526,4727,526,526,526,4729,526,567,567,371,371,371,371,371,371,371,371,371,371,371,371,371,371,371,371,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,530,530,530,530,570,570,530,530,570,570,598,530,570,570,598,530,530,598,530,530,530,530,530,570,570,598,598,598,598,598,598,598,570,530,530,530,598,2,3,0,91346,0,0,0,1878,0,0,0,0,0,1881,0,0,0,0,0,0,1288,0,0,0,0,0,0,0,0,0,1335296,1335296,1335296,1335296,1335296,0,1335296,526,526,526,2085,526,526,526,526,526,526,526,526,526,526,526,526,526,3557,526,526,594,2393,594,594,594,594,594,594,594,594,594,594,594,2407,594,594,0,0,526,526,4743,526,4744,526,567,567,4746,567,4747,567,0,0,0,68611,526,526,526,526,3079,526,526,526,3083,526,526,526,526,526,526,3850,526,567,567,567,567,567,567,3858,567,594,594,3300,594,594,594,3304,594,594,594,594,594,594,594,594,594,594,2405,594,594,594,594,594,4482,526,526,526,526,526,4488,526,526,526,526,526,526,4493,526,567,0,0,2842,0,0,594,594,594,594,594,594,594,594,594,594,594,3399,594,594,594,594,567,4512,567,567,567,4514,567,594,594,594,594,594,594,594,594,594,594,2422,2423,594,2425,2426,594,594,594,4526,594,594,594,594,594,594,4533,594,594,594,4535,594,0,0,1798,0,0,0,0,0,1804,0,0,0,0,0,0,0,1855,0,0,0,0,0,0,0,0,799,0,0,0,0,0,0,0,0,294,0,392,155648,0,397,397,397,0,406,0,294,397,406,397,397,406,397,397,397,427,433,433,433,440,433,457,469,433,469,469,469,433,433,469,433,433,433,433,433,433,433,433,433,469,433,433,469,469,469,469,469,506,507,507,508,508,508,508,469,508,469,508,508,508,508,508,507,508,508,508,508,508,508,508,531,531,556,556,571,571,556,556,571,571,571,599,556,571,571,599,556,556,599,556,556,556,556,556,571,571,599,599,599,599,599,599,599,571,556,556,556,599,2,3,319,663,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1861,0,663,0,0,663,0,0,0,0,0,0,0,0,0,526,526,526,526,526,526,526,526,526,526,910,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,1445,526,526,526,951,526,526,567,567,567,567,567,567,567,567,567,567,567,3582,567,567,3585,567,594,1109,594,594,1121,594,594,594,594,594,594,740,0,526,526,0,0,0,0,1319,0,0,0,0,0,0,0,0,0,0,0,1843,0,1845,0,0,0,0,0,91346,0,1236,0,0,0,0,0,0,1245,0,0,0,0,0,0,10264576,0,0,0,0,0,0,0,10829824,0,1266,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2562,0,0,1283,0,0,0,0,1236,0,0,1245,1283,0,0,0,0,0,0,1321,0,0,0,0,0,0,0,0,0,3019,0,0,0,0,0,0,0,1302,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2460,2461,526,1344,526,526,526,526,526,526,526,526,526,1359,526,1368,526,526,526,526,526,2105,526,526,526,526,526,526,526,526,526,526,2006,526,526,526,526,526,1371,526,526,526,1378,526,526,526,526,526,526,526,526,526,526,526,526,4053,526,526,526,526,1422,526,526,526,526,526,526,526,526,526,1433,526,526,526,526,526,526,2622,526,526,526,526,526,526,526,526,526,526,3812,526,526,526,526,526,567,1501,567,1505,567,567,567,567,567,567,567,567,567,1520,567,1529,567,567,1533,567,567,567,1540,567,567,567,567,567,567,567,567,567,567,4097,567,567,567,567,567,567,567,567,567,1586,567,567,567,567,567,567,567,567,567,1597,567,0,0,2843,0,0,594,594,594,594,594,594,594,594,594,594,594,3961,594,594,594,594,594,1651,594,1655,594,594,594,594,594,594,594,594,594,1670,594,1679,594,594,1683,594,594,594,1690,594,594,594,594,594,594,594,594,594,594,2866,594,594,594,594,594,594,594,594,594,1736,594,594,594,594,594,594,594,594,594,1747,594,0,0,4172,0,0,0,0,0,0,0,0,0,0,0,0,3461,0,0,0,0,0,0,0,0,1917,0,0,0,0,0,0,0,0,0,0,0,1928,0,0,0,1895,0,1334,526,0,67496,526,526,526,526,526,526,526,526,4216,526,526,526,526,526,526,526,526,4307,4308,526,526,4312,4313,526,526,526,1985,1986,526,526,526,526,526,526,526,526,526,526,526,526,526,526,4042,526,1997,526,526,526,526,526,526,526,526,526,526,526,526,526,526,2011,526,526,526,526,2050,526,2052,2055,526,526,526,526,526,526,526,526,526,3117,526,526,3120,526,526,526,526,526,2117,526,526,526,526,526,526,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,2148,2149,567,567,567,567,567,567,567,567,567,567,567,567,1550,567,567,567,567,567,2162,567,567,567,567,567,567,567,567,567,567,567,567,567,0,0,2844,567,2176,567,567,567,567,567,567,567,567,567,567,567,567,567,567,1526,567,567,567,567,2248,567,567,567,567,567,567,567,567,567,567,567,567,2140,567,567,567,2373,2376,594,594,594,594,594,594,594,594,594,594,594,594,594,594,1678,594,2488,0,0,0,0,1878,0,0,0,0,0,0,0,0,0,1888,1889,0,0,0,0,1893,0,0,0,0,0,0,0,3770,0,3772,0,0,3775,0,0,0,526,526,526,2687,526,526,526,526,526,526,526,526,526,526,526,526,526,4326,526,567,567,2810,2812,567,567,567,567,567,567,567,567,567,567,567,567,567,0,3295,0,594,594,594,2858,594,594,594,594,594,594,594,594,594,594,594,594,1667,594,594,594,526,526,3125,526,526,526,526,526,526,526,526,526,526,526,526,526,526,4208,526,567,567,567,3239,567,567,567,567,567,567,567,567,567,567,567,567,2157,567,567,567,594,3393,594,594,594,594,594,594,594,594,594,594,594,594,594,594,1727,594,0,0,0,3428,0,0,0,0,0,0,0,0,0,0,0,0,1860,0,0,0,0,0,0,3467,0,0,0,0,0,0,3473,0,0,0,0,0,0,308,309,310,0,0,0,0,0,0,196923,526,526,526,3537,526,526,526,526,526,526,526,526,526,526,526,526,526,4564,567,567,3599,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,2225,594,594,594,3705,594,594,594,594,594,594,594,594,594,594,594,594,1668,594,594,594,0,3764,0,0,0,0,0,0,0,0,0,3774,0,0,0,0,0,0,1838,0,1840,0,0,0,0,0,1846,0,0,0,526,526,526,526,526,526,526,526,3787,526,526,526,526,526,526,526,4612,526,526,4615,526,526,526,526,526,526,567,4417,567,4419,567,4421,567,567,567,567,526,526,526,526,3847,526,526,526,567,567,567,567,567,567,567,567,567,567,3569,567,567,567,3860,567,567,567,567,567,567,567,567,567,567,567,567,567,567,1528,567,567,567,567,3887,567,567,567,567,567,567,567,567,567,567,567,567,2171,567,567,567,594,3927,594,594,594,594,594,594,594,594,594,594,594,594,594,594,1749,594,594,594,594,3954,594,594,594,594,594,594,594,594,594,594,594,594,1700,594,594,594,4034,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,1983,0,4470,0,0,0,0,526,4474,526,4475,526,526,526,4479,526,526,526,526,526,2120,2121,526,526,567,567,567,567,567,567,567,567,3194,567,567,567,567,567,4496,567,4497,567,567,567,567,4502,567,567,567,567,567,567,567,567,567,4087,567,567,567,567,567,567,594,4742,0,0,526,526,526,526,526,526,567,567,567,567,567,567,978,567,567,996,0,0,357,0,0,0,296,0,0,0,0,0,0,0,0,0,1308,0,0,0,0,0,0,0,0,296,0,0,0,0,0,0,0,0,381,0,147456,139264,0,0,0,0,1836,0,0,0,0,0,0,0,0,0,0,0,1859,0,0,0,0,494,494,494,494,494,494,494,532,532,557,557,572,572,557,557,572,572,600,557,572,572,600,557,557,600,557,557,557,532,557,572,572,600,600,600,600,600,600,600,572,557,532,557,600,2,3,0,0,1202,1203,0,0,0,0,0,0,0,0,1211,0,0,0,0,0,0,10272768,0,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,10691403,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,9282379,8463179,8463179,8463179,8463179,8463179,8463179,8463179,1316,0,0,0,0,0,0,0,0,1324,0,0,1293,0,0,0,0,0,291,292,0,0,0,0,0,0,0,0,0,1224,0,0,1228,0,0,0,1372,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,1996,1420,526,526,526,526,1425,526,526,526,526,526,526,526,526,526,526,526,16834560,0,0,567,567,526,526,526,1490,526,526,526,526,526,526,526,16834560,0,0,567,567,567,567,567,567,4084,567,567,567,567,567,567,567,567,567,2817,567,567,567,567,567,2822,567,1502,567,567,567,567,567,567,567,567,567,567,567,567,567,567,1577,567,567,567,1534,567,567,567,567,567,567,567,567,567,567,567,567,567,1049,567,0,1579,567,567,1584,567,567,567,567,1589,567,567,567,567,567,567,567,567,2764,567,567,567,567,567,567,567,567,2719,567,567,567,567,567,567,567,567,2736,567,567,567,567,567,567,567,567,2750,567,567,567,2753,567,567,567,594,1652,594,594,594,594,594,594,594,594,594,594,594,594,594,594,1750,594,594,594,1684,594,594,594,594,594,594,594,594,594,594,594,594,594,594,3949,594,1729,594,594,1734,594,594,594,594,1739,594,594,594,594,594,594,594,594,3374,594,594,594,594,594,594,594,594,3344,594,594,594,594,594,594,594,594,3357,594,594,594,594,594,594,3365,0,91346,0,0,0,1878,0,0,0,0,1880,0,0,0,0,0,0,340,0,0,0,0,348,350,0,0,0,2100,2101,526,2103,526,526,526,526,526,526,526,526,526,526,526,2114,567,567,567,567,2267,2268,567,2270,2271,567,567,0,83565,594,0,67496,594,594,594,594,2346,594,594,594,594,594,594,594,594,594,594,594,0,0,526,526,719,0,0,2450,0,0,0,0,0,0,0,0,0,0,0,0,0,526,526,526,526,526,2572,526,526,526,2575,526,526,526,526,526,526,526,526,526,526,526,526,4065,526,526,526,526,526,526,2606,526,526,526,2609,526,526,526,526,526,526,526,526,526,3529,526,526,526,526,526,526,567,567,567,2715,567,567,567,2718,567,567,567,567,567,567,567,567,567,4234,567,567,567,567,567,567,567,567,2825,567,567,567,567,567,567,567,567,567,567,567,567,567,1555,567,567,594,594,2857,594,594,594,594,594,594,594,594,594,594,594,594,594,594,3963,594,594,594,594,2889,594,594,594,2892,594,594,594,594,594,594,594,594,594,3375,594,594,594,594,594,3380,0,0,0,68611,526,526,526,3078,526,526,526,526,526,526,526,526,526,3541,526,526,526,526,526,526,526,526,526,3176,526,526,526,526,526,526,526,526,526,3184,526,526,526,526,526,2576,526,526,526,526,526,526,526,526,526,526,526,4405,526,526,526,526,594,3299,594,594,594,594,594,594,594,594,594,594,594,594,594,594,1752,594,594,3367,594,594,594,3371,594,594,594,594,594,594,594,594,594,594,0,0,0,3721,0,0,3402,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2987,3607,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,2727,567,567,3621,567,567,567,567,567,567,567,567,567,567,567,567,567,1595,567,567,594,594,594,594,3658,594,594,594,594,594,594,594,594,594,594,594,0,0,526,526,294912,567,567,567,567,567,3917,567,567,594,594,594,594,594,594,594,594,594,3676,3677,594,594,594,594,594,0,0,0,3992,0,0,0,0,0,0,0,0,0,0,0,0,1911,0,0,0,526,4411,526,526,526,526,567,567,567,567,567,567,567,4423,567,567,567,567,567,567,4095,567,567,567,567,567,567,567,567,567,567,3286,567,567,567,567,567,594,594,594,594,594,4529,594,594,594,594,594,594,594,594,594,0,0,0,0,526,526,526,526,4696,0,0,0,326,0,327,0,0,0,0,0,0,0,297,327,299,0,299,0,298,299,299,299,0,435,435,435,435,445,459,445,445,445,445,475,475,445,475,475,475,475,475,475,488,490,475,445,488,475,445,501,501,501,501,501,501,501,501,501,501,501,511,533,533,558,558,573,573,558,558,573,0,0,0,0,155648,0,0,0,0,326,0,409,0,299,298,299,326,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2527,0,501,511,501,511,501,501,501,501,501,511,501,501,501,501,501,501,573,573,601,558,573,573,601,558,558,601,558,558,558,622,558,573,573,601,601,601,601,601,601,601,573,558,622,558,601,2,3,0,0,653,654,0,0,0,0,0,0,196923,0,0,0,319,319,0,0,0,0,0,0,0,0,0,0,0,674,0,0,0,0,0,1205,0,1207,0,0,0,0,0,0,0,0,1166,0,0,0,0,0,0,0,319,0,0,0,0,0,0,0,0,0,672,0,0,0,0,0,0,371,0,0,0,0,0,0,147456,139264,0,678,0,0,0,0,683,0,0,0,0,0,0,0,0,0,0,1210,0,0,0,0,0,0,695,0,0,698,0,0,0,0,0,0,0,0,708,0,710,711,0,713,0,0,0,0,0,0,721,721,0,726,0,0,0,0,0,640,0,0,0,0,0,0,0,0,0,650,0,781,0,0,0,0,0,0,0,0,9895936,0,0,0,790,0,0,0,0,1852,0,0,0,0,0,1858,0,0,0,0,0,0,302,301,0,0,0,0,0,147456,139264,0,793,795,0,0,0,0,0,0,0,0,0,0,790,0,806,0,0,0,0,1866,0,0,0,0,0,0,0,0,0,0,0,1873,0,0,0,0,708,0,0,0,795,823,0,0,0,0,0,823,823,781,0,0,0,0,0,1947,0,0,0,0,0,0,0,0,0,0,3007,0,0,3010,0,0,827,0,0,0,0,0,713,0,0,0,0,0,0,0,0,0,1871,0,0,0,0,0,0,708,0,0,0,795,0,0,711,0,0,793,708,0,526,526,526,526,526,526,4048,526,526,526,526,526,526,526,526,526,526,4223,567,567,567,567,567,526,853,526,860,526,526,877,526,526,886,888,892,896,526,905,908,911,917,526,928,929,526,934,526,526,892,526,526,860,526,526,526,526,526,526,4061,526,526,526,526,526,526,526,4066,526,896,905,950,911,953,526,567,567,567,967,567,974,567,567,991,567,0,2840,0,0,0,594,594,594,594,594,594,594,594,594,594,1090,594,594,594,594,567,1001,1003,1007,1011,567,1020,1023,1026,1032,567,1043,1044,567,1050,0,0,0,0,1902,0,1904,0,0,0,0,0,0,0,0,0,1565116,1565116,1565116,1565116,1565116,2,3,0,594,594,594,594,1063,594,1070,594,594,1087,594,594,1097,1099,1103,1107,594,1116,1119,1122,1128,594,1139,1140,594,1146,740,0,526,953,0,0,0,0,1955,1334,526,1957,67496,526,526,526,526,526,1964,526,526,526,526,864,526,526,881,526,526,526,526,526,526,526,526,526,4222,526,567,567,567,567,567,0,0,1161,0,0,0,0,0,0,0,0,0,0,0,0,0,620,0,0,0,1201,0,0,0,0,0,0,1208,0,0,0,0,0,0,0,0,2498560,0,0,0,0,0,0,0,0,2498560,2498560,2498560,2498560,2498560,2498560,2,3,0,0,8724480,740,0,0,0,0,0,0,0,0,1262,1264,0,0,0,0,0,2439,0,0,0,2442,0,0,0,2445,0,0,0,0,0,2453,0,0,2455,2456,0,2457,2458,0,0,0,0,0,1302,0,0,0,0,1334,526,845,526,526,1340,0,1282,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2986,0,0,9904128,9912320,0,0,0,0,0,0,0,0,1296,0,0,0,1299,1309,1299,0,0,1309,0,0,0,0,0,1334,526,845,526,526,526,526,526,526,4204,526,526,526,526,526,526,526,526,526,526,4310,526,526,526,526,526,526,526,526,1376,526,526,526,526,526,526,526,526,526,1394,526,526,526,526,526,2593,526,526,526,526,526,526,526,526,526,526,1976,526,526,526,526,526,526,526,526,1374,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,3520,526,526,1449,526,526,1454,526,526,1457,526,526,526,526,526,526,526,526,4613,526,526,526,526,4617,526,526,526,1471,526,526,526,526,526,526,526,526,526,1353,526,1485,526,526,526,526,526,2633,526,526,526,526,526,526,526,526,2641,526,1487,526,526,526,1431,526,526,526,526,526,526,16834560,0,0,567,567,567,567,567,567,4107,567,567,567,567,567,567,567,567,567,567,3581,567,567,567,567,567,1530,567,567,567,567,1538,567,567,567,567,567,567,567,567,567,1556,567,567,567,567,1635,567,567,567,567,567,0,83565,1334,594,1055,594,0,2429,0,0,0,0,0,2431,0,0,0,0,0,0,0,0,4005,0,0,0,4008,4009,0,0,1680,594,594,594,594,1688,594,594,594,594,594,594,594,594,594,1706,594,594,594,594,1785,594,594,594,594,594,0,0,0,0,0,0,0,0,0,0,0,0,3410,0,0,0,0,1818,0,0,0,0,0,0,0,1826,0,0,0,0,0,0,526,526,526,526,526,4477,4478,526,526,526,0,1849,1850,0,0,0,0,0,0,0,0,0,0,0,0,0,719,1232,1232,0,0,1865,0,0,1867,0,0,0,0,0,0,0,0,0,0,1225,1227,0,0,721,721,0,91346,0,0,0,1878,0,0,0,0,0,0,0,1883,0,0,0,0,0,2465,0,0,0,0,0,0,0,0,0,0,1924,0,0,0,0,0,0,0,1916,0,1918,0,0,0,0,1923,0,1925,0,0,0,0,0,0,1948,0,0,0,0,0,0,0,0,0,4006,0,0,0,0,0,0,0,0,0,1945,1946,0,0,0,0,0,0,0,0,0,0,0,1910,0,0,0,0,1935,1806,1806,0,0,1334,526,0,67496,1961,526,1963,526,526,526,1965,526,1967,526,526,526,1970,526,526,526,526,526,526,526,526,526,526,526,16834560,16834560,0,567,567,1984,526,526,526,526,526,526,526,1991,526,526,526,526,526,526,526,846,526,526,846,526,526,526,944,526,526,1998,526,2e3,526,526,526,2004,526,526,526,526,526,526,526,526,526,3553,526,526,526,526,526,526,526,526,2029,2030,526,526,526,526,2036,526,526,2040,526,526,526,526,526,526,2634,526,2636,526,526,2638,2639,526,526,526,2044,2045,2047,526,526,526,526,526,526,526,526,526,526,526,2062,526,526,526,526,869,526,526,526,526,526,526,526,526,526,526,526,3182,526,526,526,526,2064,526,526,526,526,526,2071,526,526,526,526,526,526,526,2080,526,526,526,526,919,526,567,567,567,567,567,975,567,985,567,567,567,567,567,567,4347,567,567,567,567,567,567,567,594,594,594,594,594,594,594,4639,594,526,2084,526,526,2086,526,526,526,2090,526,526,526,526,526,526,526,1409,526,526,526,526,526,526,526,526,526,2664,526,526,526,526,526,526,526,526,526,526,2104,526,526,526,526,526,526,526,526,526,526,526,526,4207,526,526,526,2115,2116,526,526,2119,526,526,2122,526,567,2124,567,2126,567,567,567,567,567,567,2775,567,567,567,567,567,567,567,567,567,2154,567,567,567,567,567,2159,2128,567,2130,567,567,567,2133,567,567,567,567,567,567,567,567,567,1037,567,567,567,567,567,0,567,2147,567,567,567,567,567,567,567,567,2155,567,567,567,567,567,567,567,2234,567,567,567,567,567,567,567,2243,567,567,567,2163,567,2165,567,567,567,2169,567,567,567,567,567,567,0,2840,3295,0,0,0,0,594,594,594,567,567,567,567,2210,2211,2213,567,567,567,567,567,567,567,567,567,1038,567,567,567,567,567,0,567,567,2228,567,2230,567,567,567,567,567,2237,567,567,567,567,567,567,567,2252,567,567,567,567,567,567,567,567,567,3865,3866,567,567,567,567,567,567,567,2247,567,567,2251,567,567,2253,567,567,567,2257,567,567,567,567,567,567,2788,567,567,567,567,567,567,567,567,2797,2279,594,2281,594,594,594,2283,594,2285,594,594,594,2288,594,594,594,594,594,594,3707,594,594,594,594,3710,594,594,594,3713,2310,594,594,594,594,594,594,594,594,2318,594,2320,594,594,594,2324,2341,594,594,594,594,594,594,594,594,594,594,2350,2351,594,594,594,594,594,594,3930,594,594,594,594,594,594,594,594,594,594,1741,1743,1744,594,594,594,594,594,2357,594,594,2361,594,594,594,594,2365,2366,2368,594,594,594,594,594,594,3942,594,594,594,594,594,594,594,594,594,594,2287,594,594,594,594,594,2392,594,594,594,594,594,594,594,2402,594,594,2406,594,594,2408,594,0,2429,0,0,0,0,0,2431,0,0,0,0,0,2433,0,0,0,0,2438,0,0,0,0,0,0,0,0,0,0,0,2995,0,0,0,0,594,594,2412,594,594,594,594,594,594,594,594,594,594,594,594,2427,2435,0,0,0,0,0,0,0,0,0,0,0,0,0,2446,0,0,0,0,2452,0,0,0,0,0,0,0,0,0,0,0,3008,0,0,0,0,0,0,2463,0,0,0,0,2467,0,0,0,0,2472,0,0,0,0,0,656,0,0,0,660,196923,0,0,0,319,319,1889,2501,0,0,0,0,2505,2506,2507,0,0,0,0,0,0,0,0,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8880128,8888320,8462336,8462336,2514,0,2516,0,0,0,0,0,0,0,0,0,2525,0,0,0,0,0,699,0,0,0,0,0,0,0,0,0,0,1872,0,0,0,0,0,2588,526,2590,526,526,526,526,526,526,526,526,526,526,526,526,526,864,881,526,2603,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,2063,526,2644,526,2646,2647,526,2649,526,526,526,526,526,526,526,526,526,526,3495,526,3497,526,526,526,2658,526,526,2660,526,526,526,526,526,526,526,526,526,526,526,526,526,4665,567,567,2670,526,526,526,526,526,526,526,526,526,526,526,2681,526,526,526,526,526,526,4214,526,526,526,526,526,526,526,526,526,526,3508,3509,526,526,526,526,526,2685,2686,526,526,526,526,526,526,526,526,526,2696,526,2698,526,526,526,526,922,526,567,567,567,969,567,567,567,990,567,567,567,567,567,2180,567,567,567,567,567,567,567,567,567,567,2219,567,567,567,567,567,526,2699,526,526,2701,526,526,526,526,526,2706,567,567,567,567,567,567,567,2815,567,567,567,567,567,567,567,567,567,4504,567,567,567,567,567,567,567,567,567,2731,567,2733,567,567,567,2737,567,567,567,567,567,567,567,567,4675,567,594,594,594,594,594,594,526,526,526,567,567,567,594,594,594,4761,567,567,567,567,2773,567,567,567,567,567,567,567,567,567,567,567,1513,567,567,567,567,567,567,567,2826,567,567,567,567,2830,2831,567,567,567,567,2836,567,0,2841,0,0,0,594,594,594,594,594,594,594,594,594,594,1250,0,0,0,0,0,2872,594,594,594,2876,594,594,594,594,594,594,594,594,594,594,594,594,3378,594,594,594,2886,594,594,594,594,594,594,594,594,594,594,594,594,594,594,594,2391,2926,594,2928,594,2930,2931,594,2933,594,594,594,594,594,594,594,594,594,3708,594,594,594,3712,594,594,594,2942,594,594,2944,594,594,594,594,594,594,594,594,594,594,594,594,3400,594,594,594,594,594,2954,594,594,594,594,594,594,594,594,594,594,594,2965,594,594,594,594,594,2971,594,594,594,594,594,594,2429,0,2431,0,0,0,0,1820,0,1822,0,0,0,0,0,0,0,0,0,1309,0,0,0,0,0,0,594,594,594,2969,2970,594,594,594,594,2975,594,594,2429,0,2431,0,0,0,0,2464,0,0,0,0,0,0,0,0,0,0,0,3021,0,0,0,0,0,3e3,0,0,3002,3003,0,0,0,0,0,0,0,0,0,0,1243,0,0,0,0,0,0,0,0,3014,0,0,0,0,0,0,0,0,0,0,0,0,1938,0,1940,0,0,0,0,3028,0,0,0,3029,0,0,0,0,0,3031,0,0,0,0,0,2478,0,0,0,0,0,0,0,0,0,0,1194,0,0,0,0,0,0,3064,0,0,0,3068,3002,0,0,0,0,3072,3064,0,3073,0,68611,526,526,526,526,526,526,526,526,526,526,526,526,526,526,3545,526,0,0,0,68611,526,526,526,526,526,526,3081,526,526,526,526,3084,3099,526,526,3102,526,526,526,526,3106,526,526,526,526,526,526,526,1427,1429,1430,526,526,526,526,526,526,526,526,526,526,3112,526,526,526,526,526,526,526,526,3121,526,526,526,526,526,2648,526,526,526,526,526,526,526,526,526,526,1355,526,526,526,526,526,526,526,526,526,3143,526,526,526,526,526,526,3149,526,526,526,526,526,526,2675,526,526,526,526,526,526,526,526,526,526,4040,526,526,526,526,526,526,526,526,3164,3165,526,526,526,526,526,526,526,526,526,526,526,526,4563,526,567,567,567,567,567,3216,567,567,567,567,3220,567,567,567,567,567,567,567,567,2790,567,567,567,567,567,567,567,567,2804,567,567,2806,567,567,567,567,567,567,567,567,3226,567,567,567,567,567,567,567,567,3235,567,567,567,567,567,567,4119,567,567,567,567,567,567,567,594,594,594,594,594,594,594,4522,594,567,567,567,567,3281,3282,567,567,567,567,567,567,567,567,567,567,567,3867,567,567,567,567,594,594,594,594,3302,594,594,594,594,3305,594,594,594,594,594,594,526,526,4754,567,567,4757,594,594,4760,526,594,594,594,594,3316,594,594,594,594,594,3321,594,594,594,3325,594,594,594,594,594,3303,594,594,594,594,594,594,594,594,594,594,0,0,0,0,3722,0,594,594,594,3329,594,594,594,594,594,594,594,594,594,594,594,3335,594,594,3352,594,594,3355,594,594,594,3358,594,594,594,594,594,594,594,2401,594,594,594,594,594,594,594,594,1696,594,594,594,594,594,594,594,3366,594,594,594,594,594,594,3373,594,594,594,594,594,594,594,594,594,3720,0,0,0,0,0,0,594,3382,594,594,594,594,594,594,594,594,594,594,594,594,594,3390,3391,594,594,594,594,594,594,594,594,594,594,594,594,594,594,594,2409,0,0,3415,0,0,0,0,0,0,0,0,0,0,3424,0,0,0,0,0,2519,0,0,0,0,0,0,0,0,0,0,10731520,0,0,0,0,0,526,526,526,3489,526,526,526,526,3493,526,526,526,526,526,526,526,1494,526,526,526,16834560,0,0,567,567,567,567,567,567,3576,567,567,567,567,3580,567,567,567,567,567,567,567,594,594,594,594,4519,594,594,594,594,567,3600,567,567,567,567,567,567,567,567,567,567,3605,567,567,567,567,567,567,3204,567,567,567,567,567,567,567,567,567,567,3893,567,567,567,567,567,3620,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,2769,594,3656,594,594,594,594,3660,594,594,594,594,594,594,594,594,594,594,2976,594,0,0,0,0,0,0,0,3737,0,0,0,0,0,0,0,0,3745,0,0,0,0,0,716,0,0,0,0,0,0,0,0,0,0,1276,0,0,0,0,0,3778,0,526,526,526,526,526,526,3785,526,526,526,526,526,526,526,1973,526,1975,526,526,526,526,1982,526,3832,526,526,526,526,526,3837,526,526,3840,3841,526,526,526,526,526,526,1382,526,526,526,1390,1392,526,526,526,526,3884,567,567,567,567,3889,567,567,567,567,567,567,567,567,567,3897,567,567,567,567,567,3902,3904,567,3906,567,567,567,567,567,567,3912,567,567,3915,3916,567,567,567,567,594,594,594,594,594,594,3925,594,594,594,594,594,3317,594,594,594,3320,594,3322,594,594,594,594,594,594,2972,2973,594,594,594,594,0,0,0,0,0,0,3470,0,0,0,0,0,0,0,3474,0,3951,594,594,594,594,3956,594,594,594,594,594,594,594,594,594,3964,594,594,3982,3983,594,594,594,594,3986,0,0,0,0,0,0,0,0,10280960,0,10420224,0,0,0,0,0,3990,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3025,526,526,4044,526,4046,526,526,526,4049,526,526,4052,526,526,526,526,526,526,2690,526,526,526,526,526,526,526,526,526,526,4561,526,526,526,4565,4566,526,526,526,526,4069,526,4071,526,526,526,526,567,567,567,4078,567,567,567,567,567,2195,2196,567,567,567,567,567,2202,567,567,2206,567,567,567,567,567,4082,567,567,567,567,567,567,567,567,567,567,567,3880,567,567,567,567,567,567,4103,567,567,4106,567,567,567,567,567,567,567,567,567,567,567,3894,567,567,567,567,4115,567,567,567,567,567,567,567,567,4121,567,567,567,567,594,594,594,594,4588,594,594,594,594,594,594,594,594,594,2935,594,594,594,594,594,594,594,4126,594,594,594,594,594,594,4130,594,594,594,594,594,594,594,594,3662,594,594,3665,594,594,594,594,594,4148,594,594,594,4151,594,594,4154,594,594,594,594,594,594,594,594,3697,594,594,594,594,594,594,594,594,4264,594,594,594,594,594,594,594,594,4276,594,594,594,594,594,594,594,594,4361,4362,594,594,4366,4367,594,594,594,594,594,4163,594,594,594,594,594,594,594,594,4169,594,594,594,594,594,594,4129,594,594,594,594,594,594,4136,594,594,0,0,0,4181,0,0,0,0,0,0,0,0,0,0,0,0,1952,0,0,1953,526,526,4211,526,526,526,526,526,526,526,526,1355,526,526,526,526,526,526,2703,526,526,526,526,567,567,567,567,567,567,567,567,4627,567,567,567,567,567,567,4229,567,567,567,567,567,567,567,567,567,567,567,567,2189,567,567,567,567,4252,567,567,567,567,567,567,567,567,567,594,594,594,594,594,594,594,594,594,594,594,594,4260,594,594,594,594,594,594,594,594,594,594,594,594,2289,594,594,594,594,4283,594,594,594,594,594,594,594,594,594,0,4286,4287,0,0,0,0,0,2533,2534,0,0,0,0,0,0,0,0,0,344064,0,0,0,0,0,0,0,4290,4291,0,0,0,0,0,0,0,0,0,0,0,0,526,526,526,526,4395,4314,526,526,526,526,526,526,526,526,526,526,526,526,526,526,567,567,567,567,2711,567,567,4343,567,567,567,567,567,567,567,567,567,567,567,594,594,594,594,594,594,594,4369,594,594,594,594,594,594,594,594,594,594,594,0,0,0,0,0,4469,4567,567,567,567,567,4571,567,567,567,567,567,4576,567,567,567,567,567,567,567,4635,594,594,594,594,594,594,594,594,594,4131,594,594,594,594,594,594,567,567,567,4584,4585,4586,594,594,594,594,4590,594,594,594,594,594,594,594,3696,594,594,594,594,594,594,594,594,2879,594,2880,594,594,594,594,2885,4595,594,594,594,594,594,594,594,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2434,567,567,4631,567,567,567,567,594,594,594,594,594,594,594,594,4640,594,594,594,594,594,4644,594,594,594,594,0,0,0,0,0,526,4725,526,526,526,526,526,526,526,526,567,4731,526,526,4654,526,526,526,526,526,526,526,526,526,4664,567,567,567,567,567,567,3218,567,567,567,567,3222,567,567,567,567,567,567,1021,567,567,1033,567,567,1045,567,567,0,4667,567,567,567,567,567,567,567,567,4676,594,594,594,4679,594,594,594,594,594,1134,594,594,594,594,594,740,0,526,923,0,594,4779,4780,526,4781,4782,567,4783,4784,594,526,526,567,567,594,594,526,526,567,567,594,594,0,0,0,0,0,0,334,0,0,0,0,0,0,0,0,0,0,0,0,0,728,0,0,0,0,0,359,330,0,0,0,0,0,0,362,0,0,0,0,0,0,2454,0,0,0,0,0,0,0,0,0,3070,0,0,0,0,0,0,0,0,367,0,0,0,0,0,0,376,0,330,376,147456,139264,0,0,0,0,2518,0,0,2521,2522,0,0,0,0,0,0,0,526,526,526,526,567,567,526,526,567,330,0,359,330,155648,395,398,398,398,0,398,0,416,398,398,398,398,398,398,398,398,429,398,398,398,441,446,460,446,446,446,446,446,446,479,446,484,484,484,484,484,484,489,484,484,446,489,484,446,446,446,446,446,446,446,446,446,446,446,446,446,446,446,446,446,446,446,446,446,446,446,534,553,553,553,574,574,553,553,574,574,602,553,574,574,602,553,553,602,553,553,553,553,553,574,574,602,602,602,602,602,602,602,574,553,553,553,602,2,3,651,0,0,0,0,0,0,0,0,0,196923,0,0,0,319,319,0,0,0,0,0,0,0,0,0,0,0,1499136,0,0,0,0,0,0,9175040,0,0,0,0,8462336,1337,8462336,8462336,8462336,8462336,8462336,8462336,10190848,8462336,8462336,8462336,8462336,10215424,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,10190848,8462336,8462336,0,679,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3024,0,0,712,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3063,0,0,712,0,0,0,0,0,0,0,0,0,0,0,712,0,0,0,0,0,0,0,846,526,526,526,526,526,526,872,526,526,526,526,526,899,526,526,526,526,526,2702,526,526,526,526,526,2707,567,567,567,567,567,567,2152,567,567,567,567,2156,567,567,567,567,567,567,2166,567,2168,567,567,567,567,567,567,567,567,4432,567,567,567,567,567,567,567,567,2215,567,567,567,567,567,567,567,567,2197,567,567,567,567,567,567,567,567,2216,567,2218,2221,567,567,567,567,0,594,594,594,1056,594,594,594,594,594,594,1091,594,594,594,594,594,594,2905,594,594,594,594,594,594,594,594,594,594,3974,594,594,3977,594,594,594,1110,594,594,594,594,594,594,594,594,594,740,0,526,526,0,0,0,0,2547,0,0,0,0,0,0,0,0,0,0,0,8463179,8463179,8463179,8463179,8463179,0,1160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3073,0,526,1398,526,526,526,526,526,526,526,526,526,526,526,526,526,526,1981,526,567,567,567,567,1560,567,567,567,567,567,567,567,567,567,567,567,1549,1553,567,567,1557,594,594,594,594,1710,594,594,594,594,594,594,594,594,594,594,594,594,3935,594,594,3937,1942,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3425,526,526,526,1987,526,526,526,526,526,526,526,526,526,526,526,526,1363,526,526,526,526,526,2066,526,526,526,526,526,526,526,526,526,526,526,526,526,868,526,526,567,567,567,567,2150,567,567,567,567,567,567,567,567,567,567,567,1575,567,567,567,567,2630,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,2081,594,2914,594,594,594,594,594,594,594,594,594,594,594,594,594,594,2291,594,3268,567,567,567,567,567,567,567,567,567,567,567,567,567,567,3278,526,526,526,4700,526,526,526,526,567,567,567,567,4706,567,567,567,567,567,567,3228,567,567,567,3232,567,567,567,3236,567,4710,567,567,567,594,594,594,594,4716,594,594,594,4720,594,594,594,594,594,594,4142,594,594,594,594,594,594,594,594,594,594,4450,594,594,594,594,594,4791,4792,4793,4794,4795,4796,526,526,567,567,594,594,0,0,0,0,0,0,2466,0,0,2469,0,0,0,0,0,0,0,2492,0,0,0,0,0,0,0,1888,0,0,0,336,0,0,0,0,0,0,0,0,0,0,0,0,2485,0,0,0,0,0,0,0,155648,0,399,399,399,0,399,410,0,399,399,399,399,399,399,399,399,0,399,399,399,399,447,461,447,447,447,447,447,447,447,447,447,447,447,447,447,447,447,447,447,535,535,535,535,575,575,535,535,575,575,575,603,535,575,575,603,535,535,603,535,535,535,535,535,575,575,603,603,603,603,603,603,603,575,535,535,535,603,2,3,9896676,3,180498,7,0,0,0,0,1152,1156,0,0,0,0,0,0,0,1191,0,0,0,0,0,0,0,1199,0,1267,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3464,0,2192,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,3251,567,2263,567,567,567,567,567,567,567,567,567,0,83565,594,2277,67496,567,567,567,2785,567,567,567,567,567,567,567,567,567,567,567,567,2222,567,567,567,567,2824,567,567,567,567,567,567,567,567,567,567,567,567,567,567,1599,567,0,0,0,3028,0,0,0,0,0,0,0,0,0,0,0,3450,526,526,3513,526,526,526,526,526,526,526,526,526,526,526,526,526,869,526,526,526,526,526,526,3538,526,526,526,526,526,526,526,526,526,526,526,567,567,4077,567,567,567,567,567,567,3601,567,567,567,567,567,567,567,567,567,567,567,1622,567,567,567,567,594,3681,594,594,594,594,594,594,594,594,594,594,594,594,594,594,2308,594,594,594,594,594,3706,594,594,594,594,594,594,594,594,594,594,594,594,3976,594,594,594,3724,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3465,3735,0,0,0,3738,3739,0,0,0,0,0,3744,0,0,0,0,0,0,2479,0,0,0,0,0,0,0,0,0,2494,0,0,0,0,0,1888,0,3749,0,0,0,0,0,3754,0,0,0,0,0,0,0,0,731,0,0,0,0,526,526,526,0,0,3780,526,526,526,526,526,526,526,526,526,526,526,526,526,872,526,526,526,526,526,2628,526,526,526,3805,526,526,526,526,526,526,526,526,526,526,526,526,3816,526,526,3833,526,526,3836,526,3838,526,526,526,526,526,526,3843,526,526,526,526,1347,526,526,526,526,526,526,1360,1364,526,526,526,526,526,526,4219,526,526,526,526,567,567,567,567,567,567,567,567,567,4628,567,567,3871,567,567,567,567,567,567,567,567,567,3879,567,567,567,567,567,567,567,3219,567,567,567,567,567,567,567,3224,3913,567,567,567,567,567,567,3918,3919,594,594,594,594,594,594,594,1659,594,594,594,594,1669,594,594,594,3938,594,594,594,594,594,594,594,594,594,3946,594,594,594,594,594,594,594,3943,594,594,594,594,594,594,594,594,594,4449,594,594,594,4453,594,594,3980,594,594,594,594,594,594,3985,0,0,0,0,0,0,0,0,737,740,0,0,0,0,0,0,0,0,0,526,526,4025,526,526,526,526,526,526,526,526,526,526,1353,526,526,526,1355,526,526,526,526,4045,526,526,526,526,526,526,526,526,526,4054,526,526,526,526,526,3128,526,526,526,526,526,526,526,526,526,526,2653,526,526,526,526,526,567,4092,567,567,567,567,567,567,567,567,567,567,567,4099,567,567,567,567,567,567,4253,567,567,567,567,594,594,594,594,594,4589,594,594,594,594,594,594,594,4125,594,594,594,594,594,594,594,594,594,594,594,594,594,594,594,2871,594,594,594,594,4140,594,594,594,594,594,594,594,594,594,594,594,594,4135,594,594,594,4147,594,594,594,594,594,594,594,594,594,4156,594,594,594,594,594,594,594,3957,594,594,594,594,594,594,594,594,594,3932,3933,594,594,594,594,594,4199,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,2099,567,567,567,567,567,4231,567,567,567,567,567,567,567,567,567,567,567,4236,567,567,567,567,4697,526,526,526,4701,526,526,526,567,567,567,567,567,4707,567,567,567,567,567,567,4346,567,567,4350,567,567,567,567,594,594,594,594,594,1657,594,594,594,594,1661,594,594,1673,1677,594,567,4711,567,567,594,594,594,594,594,4717,594,594,594,4721,594,594,594,594,594,1715,594,594,594,594,594,594,594,594,594,594,0,0,0,0,1796,0,0,0,0,697,0,0,0,0,0,0,0,0,0,0,0,0,2553,0,0,0,0,0,749,750,0,0,0,0,0,0,0,0,0,0,0,0,2996,0,0,0,0,0,749,0,0,749,0,0,0,0,0,749,749,0,0,0,0,0,734,0,0,0,740,0,0,0,0,0,0,0,67496,526,526,526,526,526,526,526,526,526,2108,526,526,526,526,526,526,0,0,830,0,0,0,0,0,0,0,0,0,0,0,0,0,729,0,0,526,918,526,526,930,526,526,526,526,526,526,858,526,526,526,526,526,526,526,526,526,526,526,906,526,526,906,526,526,918,526,567,567,567,567,972,567,567,567,567,567,567,567,3243,567,567,3246,567,567,567,3249,567,0,594,594,594,594,594,1068,594,594,594,594,594,594,594,594,594,594,3360,594,594,594,594,594,594,594,1117,594,594,1129,594,594,1141,594,594,740,0,526,918,0,0,0,0,2560,0,0,67496,526,526,526,526,526,526,526,526,526,4614,526,526,526,526,4618,526,526,1399,526,526,526,526,526,526,526,526,526,526,526,526,526,526,2010,526,567,567,567,567,1561,567,567,567,567,567,567,567,567,567,567,567,1623,567,567,567,567,1605,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,3883,594,594,594,594,1711,594,594,594,594,594,594,594,594,594,594,594,594,4268,594,594,594,1755,594,594,594,594,594,594,594,594,594,594,594,594,594,594,594,2898,526,526,2102,526,526,526,526,526,526,526,526,526,526,526,526,526,898,526,526,0,0,0,2451,0,0,0,0,0,0,0,0,0,0,0,0,3009,0,0,0,526,526,526,2574,526,526,526,526,526,526,526,526,526,526,526,526,1365,526,526,526,594,2856,594,594,594,594,594,594,594,594,594,594,594,594,594,594,2338,2339,594,2968,594,594,594,594,594,594,594,594,594,594,0,0,0,0,0,526,594,594,594,594,3354,594,594,594,594,594,594,594,594,594,594,594,594,4279,594,594,594,567,567,567,4104,567,567,567,567,567,567,567,567,567,567,567,567,2240,567,567,567,302,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196923,0,0,0,319,319,0,0,358,0,0,0,0,0,0,0,0,0,301,301,0,0,0,0,0,2548,0,0,0,0,0,0,0,0,0,0,1226,0,0,0,0,0,448,448,448,448,448,448,448,448,448,448,448,448,448,448,448,448,495,448,448,495,502,502,504,504,504,504,504,504,504,504,504,512,536,536,559,559,576,576,559,559,576,504,512,504,512,504,504,504,504,504,512,504,504,504,504,504,504,576,576,604,559,576,576,604,559,559,604,559,559,559,536,559,576,576,604,604,604,604,604,604,604,576,559,536,559,604,2,3,319,0,0,0,0,0,0,0,670,0,0,0,0,675,0,0,0,0,0,2992,0,0,0,0,0,0,0,0,0,0,2470,0,0,0,0,0,0,655,659,0,0,819,0,0,0,0,0,819,819,801,0,0,0,0,0,3456,3457,0,0,0,0,0,0,0,0,0,1368064,9896723,1572864,0,0,0,0,526,526,526,861,526,871,526,526,526,526,526,893,526,526,526,526,526,526,3104,526,526,526,526,3108,526,526,526,526,526,526,3114,526,526,526,3118,526,526,526,3122,526,526,919,526,526,931,526,526,526,871,893,526,526,861,526,526,526,526,526,526,4320,526,526,526,526,526,526,526,526,567,567,567,567,4420,567,567,567,567,567,567,567,567,1008,567,567,567,567,567,1034,567,567,1046,567,567,0,0,0,0,0,594,594,594,594,2850,594,594,594,594,594,594,594,4275,594,594,594,594,594,594,594,594,2303,2304,594,594,594,594,594,594,0,594,594,594,594,594,594,1071,594,1081,594,594,594,594,594,1104,1172,0,0,0,319,319,0,0,0,0,0,0,0,0,0,0,0,0,0,324,0,1215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3777,0,0,8724480,740,0,0,0,0,0,0,0,0,1263,1263,0,0,0,0,0,3469,0,0,0,0,0,0,0,0,0,0,1334,526,845,526,526,1342,0,0,0,1303,0,0,0,0,0,0,1310,0,0,0,0,0,0,673,816,0,816,811,0,0,0,648,0,1446,526,526,1452,526,526,526,526,526,526,526,1462,526,1466,526,526,526,526,526,3144,526,526,526,872,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,2669,1470,1472,526,526,526,526,526,526,526,526,526,526,526,526,526,526,2042,526,567,1558,567,567,567,567,567,567,567,567,567,567,567,567,567,567,1600,567,567,567,1609,1610,567,567,1616,567,567,567,567,567,567,567,1626,567,567,567,567,567,2231,567,567,567,567,567,2239,567,567,567,567,567,567,2134,567,567,567,567,567,2141,567,567,567,1630,567,567,1634,1636,567,567,567,567,567,0,83565,1334,594,1055,594,594,594,594,594,3395,594,594,594,594,594,594,594,594,594,594,0,0,0,1795,0,0,594,1708,594,594,594,594,594,594,594,594,594,594,594,594,594,594,2352,594,594,594,1759,1760,594,594,1766,594,594,594,594,594,594,594,1776,594,594,594,594,594,3673,594,594,594,594,594,594,594,594,594,594,594,3934,594,594,594,594,1780,594,594,1784,1786,594,594,594,594,594,0,0,0,0,0,0,0,0,0,0,0,3409,0,0,3412,0,0,0,1877,0,0,0,0,0,0,0,0,0,0,1884,0,0,0,0,2561,0,0,67496,526,526,526,526,526,526,526,526,1459,526,526,526,526,526,526,526,1886,0,0,1888,1889,0,0,0,0,0,0,0,0,0,0,0,2510,0,2512,0,0,1899,1900,0,0,1903,0,0,0,0,0,0,0,0,0,0,1325,1326,0,0,0,0,0,0,1944,0,0,0,0,0,0,0,0,1824,0,0,0,0,0,0,2549,0,0,0,0,0,0,0,0,0,1275,0,0,0,0,0,1280,567,567,567,2209,567,567,567,567,567,567,567,567,567,567,567,567,2739,567,567,567,567,567,567,2229,567,567,567,567,567,567,567,567,567,567,2242,567,567,567,567,567,2716,567,567,567,2720,567,567,2723,567,567,567,567,567,567,2269,567,567,567,567,0,83565,594,0,67496,594,594,594,594,2313,594,594,594,594,594,594,594,594,594,594,594,740,0,526,526,0,2354,594,594,594,2359,594,594,594,594,2364,594,594,594,594,594,594,594,2418,594,594,594,594,594,594,594,594,594,3931,594,594,594,594,594,594,594,594,594,594,2397,594,594,594,594,594,594,594,594,594,594,594,740,0,864,526,0,594,594,594,594,2414,2416,594,594,594,594,594,594,594,594,594,594,594,3307,594,594,3310,3312,2462,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4021,526,526,2659,526,526,2661,526,526,526,526,526,526,526,526,526,526,1356,526,526,526,526,526,2712,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,4114,594,594,594,2943,594,594,2945,594,594,594,594,594,594,594,594,594,594,3709,594,594,594,594,594,2967,594,594,594,594,594,594,594,594,594,594,594,0,0,0,0,4288,0,2989,0,0,2991,0,0,0,0,0,2994,0,0,0,0,0,0,684,0,0,0,0,0,0,0,0,0,1499136,1499136,1499136,1499136,1499136,0,1499136,0,0,0,3028,0,0,0,0,0,0,0,0,0,0,3032,3033,0,0,3036,0,0,3039,0,0,0,0,0,0,0,0,0,0,1334,526,845,526,526,526,0,0,3051,3052,0,0,0,0,0,3058,0,0,0,0,0,0,0,1222,0,0,0,0,0,0,0,0,1824,1825,0,0,0,0,0,0,0,0,0,68611,526,3076,526,526,526,526,526,526,526,526,526,526,1357,526,526,526,526,1370,526,526,526,3087,526,526,526,526,526,526,526,526,3096,526,526,526,526,526,933,526,526,526,526,526,526,526,866,526,526,526,526,526,526,526,526,526,526,526,2625,526,526,526,526,526,526,3101,526,526,526,526,526,526,526,526,526,526,526,526,526,901,526,526,526,526,3111,526,526,3113,526,3115,3116,526,526,526,526,526,526,526,2020,526,526,526,526,526,526,2027,526,526,526,3141,526,526,526,526,526,526,526,3148,526,526,526,3152,526,526,526,526,1377,526,526,526,526,526,1389,526,526,526,526,526,526,526,4220,526,526,526,567,567,567,567,567,567,3192,567,567,567,567,567,567,567,567,3593,567,567,567,567,567,567,567,567,3603,567,567,567,567,3606,567,567,3163,526,526,526,3166,526,526,526,526,526,526,526,526,526,526,526,567,2708,567,567,567,567,567,3200,567,567,567,567,567,567,567,567,3209,567,567,567,567,567,567,567,4736,594,594,594,594,594,594,594,594,594,3332,594,594,594,594,594,594,567,567,3215,567,567,567,567,567,567,567,567,567,567,567,567,567,1596,567,567,567,567,3225,567,567,3227,567,3229,3230,567,567,567,567,567,567,567,567,4096,567,567,567,567,567,567,4101,567,567,567,3255,567,567,567,567,567,567,567,3263,567,567,567,3267,567,3279,567,567,567,3283,567,567,567,567,567,567,567,567,567,567,567,4338,567,567,567,567,3336,594,3338,3339,594,594,594,594,594,594,594,594,594,594,594,594,2321,594,2323,594,594,594,594,3383,594,594,594,594,594,594,594,594,3388,594,594,594,594,594,594,4152,594,594,594,594,594,594,594,594,594,594,3649,594,594,3652,3653,594,3392,594,594,594,594,594,594,594,594,594,594,594,594,594,594,594,3326,0,0,0,3416,3417,0,0,0,0,0,0,0,0,0,0,0,2471,0,0,0,0,0,0,0,3028,0,0,0,0,0,0,0,0,0,3448,0,0,0,0,0,3753,0,0,0,0,0,0,0,0,0,0,1842,0,0,0,0,0,0,0,0,3454,0,0,0,0,0,3460,0,0,0,0,0,0,0,1239,0,0,0,1244,0,0,0,0,0,0,68611,526,526,3477,526,526,526,526,526,526,3482,526,526,526,526,526,933,567,567,567,567,567,567,980,567,567,567,567,567,567,3242,567,567,567,567,567,567,567,567,567,3245,567,567,567,567,567,567,526,526,526,526,3502,3504,526,526,526,526,526,526,3510,526,526,526,526,526,955,567,567,962,567,567,567,979,986,567,997,3521,526,526,526,526,526,526,3527,526,526,526,526,526,526,526,526,526,4050,526,526,526,526,526,526,3534,526,3536,526,526,526,526,526,526,526,526,526,526,526,526,526,1369,526,526,526,526,3560,567,567,3563,567,567,567,567,567,567,3568,567,567,567,567,567,567,3258,567,567,567,3262,567,567,567,567,567,567,567,2233,567,567,567,567,567,567,567,567,1544,567,567,567,1552,1554,567,567,567,567,3609,567,567,567,567,567,567,3615,567,567,567,567,567,567,567,594,594,4636,594,594,4638,594,594,594,567,567,567,3622,567,3624,567,567,567,567,567,567,567,567,567,3631,594,594,3643,594,594,594,594,594,594,3648,594,594,594,594,594,594,594,2878,594,594,594,594,594,594,594,594,594,3359,594,594,594,594,3364,594,594,594,594,3670,3672,594,594,594,594,594,594,3678,594,594,594,594,594,594,2957,594,594,594,594,594,594,594,594,594,594,4168,594,594,594,594,594,3702,594,3704,594,594,594,594,594,594,594,594,594,3711,594,594,594,594,594,594,4284,594,594,594,594,0,0,0,0,0,3406,0,0,0,0,3408,0,0,0,0,0,0,0,3751,0,0,0,0,3755,0,0,0,0,0,3761,3762,0,0,526,526,526,526,3783,526,526,526,526,526,526,526,526,526,526,3530,526,526,526,526,526,526,526,3792,3793,526,526,526,526,526,526,526,526,526,526,526,526,1367,526,526,526,567,567,3886,567,567,567,567,567,567,567,567,567,567,567,567,567,1625,567,1629,567,3899,567,567,567,567,567,567,567,567,567,567,567,567,567,567,1602,567,594,594,3953,594,594,594,594,594,594,594,594,594,594,594,594,594,594,3978,594,594,3966,594,594,594,594,594,594,594,594,594,594,594,594,594,594,2370,594,526,526,4068,526,526,526,526,526,526,526,526,567,567,567,567,567,567,567,3859,594,594,4149,594,594,594,594,594,594,594,594,594,594,594,594,594,594,4281,594,4171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196923,4226,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,4239,4257,594,594,594,594,594,594,594,594,594,594,594,594,594,594,594,3349,526,526,526,4413,4414,526,567,567,567,567,567,567,567,567,567,567,567,4352,567,567,594,594,567,4427,4428,567,567,567,567,567,567,567,4434,4435,567,567,4438,567,567,567,567,567,2747,567,567,567,567,567,567,567,567,567,567,567,3617,567,567,567,567,594,594,594,594,4458,4459,594,594,4462,594,0,0,0,0,0,0,0,0,0,3407,0,0,0,0,0,526,526,526,526,4486,526,526,526,526,526,526,526,526,526,526,567,567,960,567,567,567,567,567,567,995,567,567,567,4632,567,567,567,594,594,594,594,594,594,594,594,594,594,4593,594,594,4641,594,594,594,594,594,4645,594,594,594,0,0,0,0,0,526,526,526,526,526,526,526,526,526,526,4030,526,526,577,577,605,560,577,577,605,560,560,605,560,560,560,537,560,577,577,605,605,605,605,605,605,605,577,560,537,560,605,2,3,0,0,0,368,0,0,0,0,0,0,0,0,0,147456,139264,368,912,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,2615,526,526,526,912,526,526,567,567,567,567,567,567,567,567,567,567,567,4506,567,567,567,567,594,594,594,594,1123,594,594,594,594,594,594,740,0,526,526,0,0,0,0,2981,2982,0,0,0,0,0,0,0,0,0,0,3071,0,3008,0,0,0,0,303,0,0,0,0,0,0,0,0,0,0,0,0,0,196923,0,0,0,8602261,8602261,0,0,335,337,0,0,0,0,0,337,0,0,0,0,0,0,0,1240,0,0,0,0,0,1246,0,0,0,0,0,0,155648,0,400,400,400,0,400,0,417,400,400,400,400,400,400,400,400,0,400,400,400,400,449,463,449,449,449,449,449,449,449,449,449,449,449,449,449,449,449,449,449,523,449,539,539,539,539,579,579,539,539,579,579,579,607,539,579,579,607,539,539,607,539,539,539,539,539,579,579,607,607,607,607,607,607,607,579,539,539,539,607,2,3,0,0,0,714,0,0,0,0,0,0,0,0,0,729,0,0,0,0,0,3768,0,0,0,0,0,0,0,0,0,0,802,0,0,0,0,0,0,0,0,0,838,0,0,0,731,0,0,0,0,0,0,740,0,0,0,0,0,0,0,1273,1274,0,0,0,0,0,0,0,526,526,526,526,526,526,526,4197,526,0,0,782,0,0,0,0,0,0,0,9895936,0,782,0,0,0,0,0,751,0,0,0,0,0,0,0,0,0,0,2443,0,0,0,0,0,0,828,0,0,782,0,0,0,0,0,0,0,0,714,782,0,0,0,0,3015,3016,0,0,0,0,0,0,3022,0,0,0,0,0,749,0,0,0,0,0,0,0,749,0,0,0,0,0,9895936,0,0,0,0,0,847,526,526,526,863,526,526,526,526,526,526,526,526,526,526,526,1393,526,526,526,526,526,526,526,913,526,526,526,526,526,526,847,526,526,847,526,526,942,526,526,526,526,526,3158,526,526,526,526,526,526,526,526,526,526,1345,526,526,526,526,526,526,526,526,913,526,526,567,567,961,567,567,567,977,567,567,567,567,567,567,3284,567,567,567,567,567,567,567,567,567,567,4109,567,567,567,567,567,0,594,594,594,1057,594,594,594,1073,594,594,594,594,594,594,594,1693,594,594,1697,594,594,594,594,594,594,594,594,594,1124,594,594,594,594,594,594,740,0,942,526,0,0,0,0,3038,0,0,0,0,0,0,3044,0,0,0,0,0,0,1868,1869,0,0,0,0,1874,0,0,0,9896676,3,274,7,0,0,0,0,1152,1156,0,0,0,0,0,0,0,1322,0,0,0,0,0,0,0,0,656,834,834,834,656,0,0,0,1185,0,0,0,0,0,0,0,0,0,0,0,1196,0,0,0,0,0,769,0,0,772,0,0,776,0,0,779,0,0,0,8724480,740,1254,0,0,0,0,0,0,0,0,0,1235,0,0,0,0,0,0,0,0,1334,526,845,526,1339,526,0,9904128,9912320,0,1294,0,0,0,0,0,0,0,0,0,0,0,2985,0,0,0,0,0,0,1294,0,0,0,0,0,0,0,0,0,1235,0,0,0,0,0,0,0,0,0,0,0,2552,0,0,0,0,526,526,526,1423,526,526,526,526,526,526,526,1434,526,526,1443,526,526,526,526,1379,526,526,526,526,526,526,526,526,526,526,526,2110,526,526,526,526,526,526,1473,526,526,526,526,526,526,526,526,1354,526,526,526,526,526,526,3129,526,526,3132,526,526,526,3135,526,526,1500,567,567,567,567,567,567,567,567,567,567,567,1515,1522,567,567,567,567,567,567,4501,567,567,567,567,567,567,567,567,567,1571,567,567,567,567,567,567,567,1607,567,567,567,567,567,567,567,567,567,567,567,567,567,567,2173,567,567,1631,567,567,567,1637,567,567,567,567,0,83565,1334,594,1055,594,594,594,594,594,3683,594,594,594,594,3686,594,594,594,594,594,594,594,4602,0,4603,0,0,4606,0,0,0,1650,594,594,594,594,594,594,594,594,594,594,594,1665,1672,594,594,594,594,594,1762,594,594,594,594,594,1770,594,594,594,594,594,594,2381,594,594,594,594,594,594,594,594,594,2421,594,594,594,594,594,594,594,1757,594,594,594,594,594,594,594,594,594,594,594,594,594,594,2371,594,594,1781,594,594,594,1787,594,594,594,594,0,0,0,0,0,0,0,0,4175,0,0,0,0,0,0,0,0,1876,0,0,0,0,0,0,0,0,0,0,0,0,0,730,0,0,567,567,567,2266,567,567,567,567,567,567,567,0,83565,594,2277,67496,2293,594,594,594,594,2300,594,594,594,594,594,594,594,594,594,594,594,3346,594,594,594,594,2325,594,594,594,594,594,594,594,594,594,594,594,594,594,594,594,3401,1889,0,0,0,0,2504,0,0,0,0,0,0,0,0,0,0,1334,1335,845,526,526,526,0,0,0,2532,0,0,0,0,0,0,0,0,0,0,0,0,3061,0,0,0,526,2604,526,526,526,526,526,526,526,526,526,526,526,526,526,526,2586,526,526,2631,526,526,526,526,526,526,526,526,526,526,526,526,526,526,2601,526,526,526,526,526,2673,526,526,526,526,526,526,526,526,526,526,526,1413,526,526,1417,526,567,567,2771,567,567,567,567,2776,567,567,567,567,567,567,567,567,594,3920,594,594,594,594,594,594,567,567,2800,567,567,567,567,567,567,567,567,567,567,2807,567,567,567,567,567,567,4572,567,567,567,4575,567,567,567,567,567,567,567,3626,567,567,567,567,567,567,567,567,594,594,594,594,594,3924,594,594,594,2887,594,594,594,594,594,594,594,594,594,594,594,594,594,594,2390,594,594,594,2915,594,594,594,594,594,594,594,594,594,594,594,594,594,1705,594,594,0,2979,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3746,0,0,0,0,2990,0,0,0,0,0,0,0,0,0,0,0,0,3423,0,0,0,594,594,594,3315,594,594,594,594,594,594,594,594,594,594,594,594,2367,594,594,2372,594,3327,594,594,594,594,3331,594,594,594,594,594,594,594,594,594,594,4277,594,594,594,594,594,0,0,0,3028,0,3440,0,0,0,0,0,3446,0,0,0,0,0,0,2563,67496,526,526,526,526,526,526,526,526,3147,526,526,526,526,526,526,526,0,0,68611,526,526,526,526,526,526,526,3481,526,526,526,526,526,526,1384,526,526,526,526,526,526,526,526,526,1481,526,1357,526,526,526,526,526,526,3488,526,526,526,526,526,526,526,526,526,526,526,526,526,1415,526,526,526,526,526,526,3524,526,526,526,526,526,526,526,526,526,526,526,1435,526,526,1444,526,3547,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,2629,567,567,567,3575,567,567,567,567,567,567,567,567,567,567,567,567,3277,567,567,567,3655,594,594,594,594,594,594,594,594,594,594,594,594,594,594,594,3654,594,594,594,3692,594,594,594,594,594,594,594,594,594,594,594,594,2387,594,594,594,594,594,3716,594,594,594,594,594,594,594,0,0,0,0,0,3723,526,526,526,3820,526,526,526,526,526,526,526,526,526,526,526,526,1439,526,526,526,567,567,567,3873,567,567,567,567,567,567,567,567,567,567,567,567,3288,567,567,567,594,594,594,3940,594,594,594,594,594,594,594,594,594,594,594,594,2424,594,594,594,594,594,4162,594,594,594,594,594,594,594,594,594,594,594,594,594,1745,594,594,526,4554,526,526,526,526,526,4559,526,526,526,526,526,526,567,567,567,567,567,567,983,567,567,567,594,594,594,594,4599,594,594,594,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4177,4608,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,2642,526,526,526,526,4622,567,567,567,567,567,567,567,567,567,567,567,2139,567,567,567,567,526,526,526,526,4656,526,526,526,4660,526,526,526,526,567,567,567,567,3565,567,3566,567,567,567,567,567,567,567,594,4517,594,4518,594,594,594,594,4523,567,567,4669,567,567,567,4673,567,567,567,594,594,594,594,594,4681,594,594,594,4685,594,594,594,0,0,0,0,526,526,4694,526,526,526,526,526,3167,526,526,526,526,526,526,526,526,526,526,526,4491,526,526,526,567,0,0,0,369,0,0,0,0,0,0,0,0,0,147456,139264,369,324,324,324,324,324,324,324,324,324,324,324,324,324,324,324,324,496,324,324,496,496,496,496,496,496,496,496,496,496,496,496,496,496,496,496,496,496,496,496,520,496,496,540,554,554,554,580,580,554,554,580,580,608,554,580,580,608,554,554,608,554,554,554,554,554,580,580,608,608,608,608,608,608,608,580,554,554,554,608,2,3,0,0,644,0,0,0,0,0,0,0,9895936,0,644,0,0,0,0,0,783,0,0,0,0,9895936,0,0,0,745,0,0,1317,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3999,0,526,1447,526,526,526,526,1455,526,526,1460,526,526,526,526,526,526,526,3146,526,526,526,526,526,526,526,526,1458,526,526,526,526,526,526,526,526,526,1489,526,526,526,526,526,526,526,526,16834560,0,0,567,567,567,567,567,1013,567,567,1025,567,567,567,567,567,567,0,0,0,0,3296,0,2277,594,594,594,567,1581,567,567,567,567,567,567,567,567,567,567,567,567,567,1603,567,567,567,567,1611,567,567,567,567,1619,567,567,1624,567,567,567,567,567,567,3294,0,0,0,0,0,0,594,3297,594,594,1731,594,594,594,594,594,594,594,594,594,594,594,594,594,1753,594,594,594,594,1761,594,594,594,594,1769,594,594,1774,594,594,594,594,594,594,4374,594,594,594,594,594,594,0,0,0,4173,0,4174,0,0,0,0,0,0,0,0,0,2514944,2514944,2514944,2514944,2514944,2,3,0,0,1802,0,0,0,0,0,1809,0,0,0,0,0,0,0,290,1474560,290,0,0,0,0,0,0,594,2294,594,594,594,594,594,594,594,594,594,594,594,594,594,2309,594,594,2326,594,594,594,594,594,594,594,594,594,594,594,594,594,1746,594,594,594,594,594,2345,594,594,594,594,594,594,594,594,594,594,594,594,2429,0,2431,0,594,594,2395,594,594,594,594,594,594,594,594,594,594,594,594,594,1775,594,1779,1889,0,0,0,0,0,0,0,0,0,2508,0,0,0,0,0,0,700,0,0,0,0,0,0,0,0,0,3730,3731,0,3732,0,3734,0,0,2515,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4299,526,2643,526,526,526,526,526,526,526,526,2652,526,526,526,526,526,2657,594,594,594,2875,594,594,594,594,594,594,594,594,594,594,594,594,2868,594,594,594,594,2927,594,594,594,594,594,594,594,594,2936,594,594,594,594,594,594,594,4153,594,594,594,594,594,594,4158,594,2941,594,594,594,594,594,594,594,594,594,2948,594,594,594,594,594,594,594,4166,594,594,594,594,594,594,594,594,594,4132,594,594,594,594,594,594,0,0,3765,0,0,0,0,0,0,0,0,0,0,0,0,0,792,0,0,567,567,567,567,567,3862,567,567,567,567,567,567,567,567,567,567,1041,567,567,567,567,1051,567,567,567,567,4118,567,567,567,567,567,567,567,567,567,594,594,594,594,594,594,594,3926,594,594,594,594,4444,594,594,594,594,594,594,594,594,594,594,594,740,0,868,526,0,0,0,304,0,0,0,0,0,0,0,0,0,0,0,0,196923,0,0,0,8602262,270336,319,304,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1409024,0,0,0,304,0,0,0,0,0,0,0,0,0,0,147456,139264,0,0,0,0,3053,0,0,0,0,0,0,0,0,3062,0,0,0,0,0,10412032,0,10526720,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,363,0,0,422,422,0,422,422,422,304,0,0,0,0,450,450,450,450,450,450,450,450,485,485,485,485,485,485,485,485,485,450,485,485,450,450,450,450,450,450,450,450,450,450,450,450,517,517,450,450,450,450,450,450,450,450,450,450,541,541,561,561,581,581,561,561,581,581,609,561,581,581,609,561,561,609,561,561,561,541,561,581,581,609,609,609,609,609,609,609,581,561,541,561,609,2,3,319,0,0,0,0,0,668,0,0,0,0,673,0,0,0,0,0,0,0,0,0,0,0,0,3435,0,0,0,0,0,680,0,682,0,0,0,0,0,0,0,0,0,0,693,0,0,645,0,0,673,784,0,0,0,9895936,0,645,0,0,648,0,0,811,0,0,0,673,0,784,0,816,673,0,0,0,0,0,0,3017,0,0,0,0,0,0,0,0,0,2482644,2482644,2482644,2482644,2482644,2,3,0,829,0,811,645,831,0,832,0,0,0,0,0,784,645,839,0,0,811,0,0,0,0,0,0,0,0,0,0,526,526,526,526,526,4550,526,526,848,526,526,526,865,872,526,882,885,526,526,526,526,900,526,526,526,526,526,3177,526,526,526,526,526,526,526,526,526,526,1388,526,526,526,526,526,526,526,924,526,526,885,526,848,936,526,848,526,526,943,882,946,1e3,567,567,567,567,1015,567,567,567,567,1039,567,567,1048,567,0,0,0,0,0,594,594,594,2849,594,594,594,594,594,594,594,3647,594,594,594,594,594,594,594,594,594,3959,594,594,594,594,594,594,0,594,594,594,1058,594,594,594,1075,1082,594,1093,1096,594,594,594,594,594,594,4446,594,594,594,594,594,594,594,594,4454,594,1111,594,594,594,594,1135,594,594,1144,594,740,0,865,526,0,0,0,0,3067,0,0,0,0,0,0,0,0,0,0,0,3422,0,0,0,0,1159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,385340,0,1173,0,0,319,319,0,0,0,0,0,0,0,1182,1183,0,0,0,0,3455,0,0,0,0,0,0,3462,0,0,0,0,0,0,1920,0,0,0,0,0,0,0,0,0,1474850,1474850,1474850,1475078,1474560,2,3,0,0,0,1218,0,0,0,0,0,0,0,0,0,1229,0,0,0,0,0,4182,0,0,0,0,0,0,0,0,0,0,3757,3758,3759,0,0,0,0,9904128,9912320,0,0,0,0,0,0,0,0,0,0,0,0,1300,0,0,0,0,0,1173,0,0,0,0,0,0,0,0,0,0,0,0,0,1170,0,0,0,1300,0,0,0,0,0,0,0,0,1334,526,845,526,526,526,526,526,1348,526,526,526,526,1358,526,526,526,526,526,526,2054,526,526,526,526,526,526,526,526,526,1387,1391,526,526,1395,526,526,526,526,1474,526,526,526,526,526,1480,526,526,1356,526,526,526,526,526,526,3178,526,526,526,526,526,526,526,526,526,526,2694,526,526,526,526,526,567,1608,567,567,567,567,567,567,567,567,567,567,567,567,567,567,2191,567,594,1758,594,594,594,594,594,594,594,594,594,594,594,594,594,594,2884,594,0,0,0,1819,0,0,0,0,0,0,0,0,0,0,0,0,3463,0,0,0,0,0,0,1937,0,1334,526,0,67496,526,526,526,526,526,526,526,2072,526,526,526,526,526,526,526,526,526,3107,526,526,526,526,526,526,526,526,526,1969,526,526,526,526,526,526,526,526,526,1980,526,526,526,526,526,3525,526,526,526,526,526,526,526,526,526,526,2092,2094,526,526,526,526,567,567,567,567,2132,567,567,567,567,567,567,567,567,567,2143,567,567,567,567,567,2760,567,2762,567,567,567,567,567,567,567,567,594,4737,594,594,594,594,594,594,567,2245,567,2249,567,567,567,567,567,567,567,567,567,2258,567,567,567,567,567,1014,567,567,567,567,567,567,567,567,567,0,0,0,2844,0,0,0,594,594,594,567,567,2264,567,567,567,567,567,567,567,567,0,83565,594,0,67496,594,594,594,594,2298,594,594,594,594,594,594,594,594,594,594,594,740,0,869,526,0,594,594,594,594,2328,594,594,594,594,594,594,594,594,594,594,594,1663,594,594,594,594,594,594,2344,594,594,594,594,594,594,594,594,594,594,594,594,594,2290,594,594,594,594,594,2413,594,594,594,594,2419,594,594,594,594,594,594,594,1717,594,594,594,594,594,594,594,594,594,4167,594,594,594,594,594,594,0,0,2545,0,0,0,0,0,0,0,0,0,0,0,0,0,1212,0,0,2616,526,2618,526,526,526,526,526,526,526,526,526,526,526,526,526,2026,526,526,567,567,567,2745,567,567,567,567,567,567,567,567,567,567,567,567,3596,3597,567,567,567,567,567,567,2786,567,567,567,567,567,567,567,567,567,567,567,2238,567,567,567,567,2899,594,2901,594,594,594,594,594,594,594,594,594,594,594,594,594,2322,594,594,2978,0,2980,0,0,0,0,0,2984,0,0,0,0,0,0,0,293,0,0,0,0,0,0,0,0,643,0,0,0,0,0,0,0,2988,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1400832,3026,0,0,3028,0,0,0,0,0,0,0,0,0,0,0,0,4186,0,0,4188,0,0,0,3037,0,0,0,0,0,0,0,0,3045,0,0,0,0,0,804,0,804,0,0,0,0,0,0,0,804,3049,0,0,0,0,0,0,0,0,0,0,3060,0,0,0,0,0,0,3429,3430,0,0,0,0,0,3436,0,0,526,1453,526,526,3088,3090,526,526,526,526,526,3095,526,526,526,3098,526,526,526,3142,526,526,526,526,526,526,526,526,526,3151,526,526,526,526,526,3550,526,526,526,526,3554,526,3556,526,526,526,526,526,2017,526,526,526,526,526,526,526,526,526,526,1354,1361,526,526,526,526,526,526,526,3156,3157,526,526,526,526,526,526,526,526,526,526,526,1436,526,526,526,526,3198,567,567,3201,3203,567,567,567,567,567,3208,567,567,567,3211,567,567,567,567,567,2774,567,567,567,2777,567,567,567,2780,567,567,567,567,567,1613,567,567,1618,567,567,1621,567,567,567,567,567,567,567,4573,567,567,567,567,567,4578,4579,567,3213,567,567,567,567,567,567,567,567,3221,567,567,567,567,567,567,567,1509,567,567,567,567,1519,567,567,567,567,567,567,567,3256,567,567,567,567,567,567,567,567,567,3266,567,567,567,567,567,2787,567,2789,567,2791,2792,567,2794,567,567,567,567,567,567,2803,567,567,2805,567,567,567,567,567,567,567,594,594,594,594,594,4520,4521,594,594,567,567,567,567,3271,3272,567,567,567,567,567,567,567,567,567,567,1572,567,567,567,567,567,594,594,594,594,3330,594,594,594,594,594,594,594,594,594,594,594,1699,1703,594,594,1707,3381,594,594,594,594,594,594,594,594,594,594,594,594,594,594,594,3689,0,0,0,3028,0,0,3441,3442,0,0,3445,0,0,0,0,0,0,712,0,0,0,9895936,0,0,0,0,0,0,641,0,0,0,0,0,0,0,0,0,4294,0,4296,0,0,0,526,0,3466,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1417216,0,0,0,68611,3475,526,526,526,526,526,526,526,526,526,526,3484,526,526,526,526,1404,526,526,526,526,526,526,526,526,526,526,526,1483,526,526,526,526,526,3499,526,526,526,526,526,526,3507,526,526,526,526,526,526,526,2107,526,526,526,526,526,526,526,526,526,3169,526,526,526,526,526,526,526,526,526,3523,526,526,526,526,526,526,526,526,526,526,526,526,1464,526,526,526,526,3548,526,526,526,526,526,526,526,526,526,3555,526,526,526,526,526,526,3491,526,526,526,526,526,526,526,526,526,526,3170,526,526,526,526,526,526,526,526,3561,567,567,567,567,567,567,567,567,567,567,567,3571,567,567,567,3587,567,567,567,567,567,567,3595,567,567,567,567,567,567,567,3578,567,567,567,567,567,567,567,567,567,4335,4336,567,567,4340,4341,567,567,3608,567,567,567,3611,567,567,567,567,567,567,567,567,567,567,1591,1593,1594,567,567,567,567,567,3633,567,567,567,3637,567,567,567,567,567,567,0,0,0,0,0,0,0,594,594,3298,3641,594,594,594,594,594,594,594,594,594,594,594,3651,594,594,594,594,594,594,4460,594,594,594,0,0,0,0,0,0,0,1879,0,729,0,0,1882,0,0,0,3667,594,594,594,594,594,594,3675,594,594,594,594,594,594,594,594,594,4155,594,594,594,594,594,594,594,594,3691,594,594,594,594,594,594,594,594,594,594,594,594,594,2337,594,594,594,594,594,3717,594,594,594,594,594,594,0,0,0,0,0,0,0,1808,0,0,0,0,0,0,0,0,426,371,371,371,371,371,456,371,0,0,3725,0,0,0,0,0,0,0,0,0,0,0,0,0,1829,0,0,0,3779,526,526,3782,526,526,526,526,526,526,526,526,526,526,526,1438,526,526,526,526,526,526,526,526,3794,526,526,526,526,526,526,526,526,3801,526,526,526,526,526,3795,526,3797,526,526,526,526,526,526,526,526,526,3811,526,526,526,526,526,526,567,567,567,567,567,3874,567,567,3877,567,567,567,567,567,567,567,567,4233,567,567,567,567,567,567,567,567,4245,567,567,567,567,567,567,567,567,3206,567,567,567,567,567,567,567,567,3244,567,567,567,567,567,567,567,567,3260,567,567,567,567,567,567,567,567,3274,567,567,567,567,567,567,567,567,3285,567,567,567,567,567,567,3289,567,567,3900,567,567,567,567,567,567,567,567,567,567,567,567,567,2142,567,567,594,594,3967,594,594,594,594,594,594,594,594,594,594,594,594,594,2389,594,594,4011,0,0,0,0,4015,0,0,0,0,0,0,0,0,0,0,1951,0,0,0,0,0,0,0,0,526,526,526,526,526,526,4027,526,526,526,526,4032,4033,4055,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,2684,567,567,4080,567,567,567,567,4085,4086,567,567,567,567,567,567,567,567,4349,567,567,567,567,567,594,594,567,567,567,4094,567,567,567,567,567,567,567,567,567,567,567,567,3618,567,567,567,0,0,4180,0,0,0,0,0,0,0,0,0,0,0,0,0,1912,1913,0,567,567,4240,567,567,567,567,567,567,567,567,567,567,567,567,567,2190,567,567,594,594,4271,594,594,594,594,594,594,594,594,594,594,594,594,594,2883,594,594,4342,567,567,567,567,567,567,567,567,567,567,567,567,567,594,594,594,4256,594,526,526,4398,526,526,526,526,526,526,526,526,526,526,526,526,526,2078,526,2082,4410,526,526,526,526,526,567,567,4418,567,567,567,567,567,4424,567,567,567,567,567,2802,567,567,567,567,567,567,567,567,567,2809,594,594,4442,594,594,594,594,594,4448,594,594,594,594,594,594,594,1791,594,594,0,0,0,0,0,0,567,567,4513,567,567,567,4515,594,594,594,594,594,594,594,594,594,594,4534,594,594,594,4536,0,567,567,567,4670,567,567,567,4674,567,567,594,594,594,594,594,594,594,567,526,526,526,594,2,3,4682,594,594,594,4686,594,594,0,0,0,0,526,526,526,526,526,526,526,526,526,526,567,567,567,567,567,3857,567,567,4778,526,526,526,567,567,567,594,594,594,526,526,567,567,594,594,594,594,594,1763,594,594,1768,594,594,1771,594,594,594,594,594,594,2877,594,594,594,594,2881,594,594,594,594,594,594,2891,594,594,594,594,594,594,2897,594,594,0,0,0,305,306,0,0,0,0,0,0,0,0,0,0,196923,0,0,0,393,155648,0,306,306,306,0,306,0,393,420,306,420,306,306,420,420,420,430,420,438,438,420,438,465,438,438,471,471,471,476,476,471,476,476,476,476,476,487,476,476,487,471,476,487,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,471,542,542,542,542,582,582,542,542,582,582,610,542,582,582,610,542,542,610,542,542,542,542,542,582,582,610,610,610,610,610,610,610,582,542,542,542,610,2,3,319,0,0,665,0,0,0,0,0,0,0,0,0,0,0,0,4297,0,0,526,0,0,0,681,0,0,0,0,686,687,0,689,0,691,0,0,0,0,0,4385,0,4387,0,0,0,526,526,4393,526,526,526,526,526,3848,526,526,567,567,567,567,3856,567,567,567,567,567,567,3273,567,567,567,567,567,567,567,567,567,1569,567,567,567,567,567,1578,765,766,0,0,0,0,0,0,0,774,775,0,0,0,0,0,0,717,0,0,0,0,0,0,0,0,0,2537,0,0,0,0,0,0,751,0,0,0,0,0,0,751,744,0,9895936,0,0,789,0,0,0,0,0,32768,0,0,0,0,10731520,0,0,0,0,0,0,0,67496,2565,526,526,526,526,526,526,2571,0,656,0,0,813,0,0,656,0,0,0,0,0,0,789,0,0,0,0,3468,0,0,0,0,3472,0,0,0,0,0,0,0,1165,0,0,0,0,1169,0,0,0,0,656,660,789,822,0,0,0,789,0,0,825,660,0,0,826,0,656,0,0,691,0,0,826,0,656,0,0,656,526,526,526,526,526,1381,526,526,1385,526,526,526,526,526,526,526,2035,526,2037,526,526,526,526,526,526,526,854,859,862,526,873,526,526,526,526,889,894,897,526,526,526,526,526,1392,4702,526,567,567,567,567,567,567,567,567,2136,567,2138,567,567,567,567,2145,914,920,526,526,932,526,526,526,873,894,526,940,941,526,526,526,526,526,1405,526,526,526,526,526,526,526,526,526,526,2637,526,526,526,526,526,948,526,526,914,920,526,567,567,567,968,973,976,567,987,567,567,567,567,567,1016,567,567,567,567,1040,567,567,567,567,0,0,0,0,0,594,594,2848,594,594,594,594,594,594,594,2316,594,594,594,594,594,594,594,594,594,4463,0,0,0,0,0,0,567,567,1004,1009,1012,567,567,567,1029,1035,567,567,1047,567,567,0,0,0,0,0,594,2847,594,594,594,594,594,594,594,594,2946,594,594,594,594,594,594,594,0,594,594,594,594,1064,1069,1072,594,1083,594,594,594,594,1100,1105,1108,594,594,594,1125,1131,594,594,1143,594,594,740,0,526,920,0,0,0,0,3726,0,0,3728,0,0,0,0,0,0,0,0,1906,0,0,0,0,0,0,0,0,0,8724480,740,0,0,0,0,1258,0,0,0,0,0,0,0,296,0,296,0,0,0,0,0,0,0,0,0,1269,0,0,0,0,0,0,0,0,0,0,0,0,1597440,1597440,0,0,0,0,0,1318,1318,0,0,0,0,0,0,0,0,0,0,0,3434,0,0,0,3437,526,526,1450,526,526,526,526,526,526,526,526,1463,526,526,526,526,526,526,3505,526,526,526,526,526,526,526,526,526,526,4051,526,526,526,526,526,526,1488,526,526,1491,526,1442,526,526,526,1497,16834560,0,0,567,567,567,567,567,1017,1022,567,567,1036,567,567,567,567,567,0,0,0,0,0,2846,594,594,594,594,594,594,2853,594,594,594,594,594,1765,594,594,594,594,594,594,594,594,594,594,594,3975,594,594,594,594,1606,567,567,567,567,1614,567,567,567,567,567,567,567,567,1627,567,567,567,567,567,2813,567,567,567,567,567,567,567,567,567,567,567,3287,567,567,567,567,1756,594,594,594,594,1764,594,594,594,594,594,594,594,594,1777,594,594,594,594,594,3718,594,594,594,594,0,0,0,0,0,0,0,2535,0,0,0,0,0,0,0,0,719,379,379,0,0,0,0,0,0,0,0,1901,0,0,0,0,0,1908,0,0,0,0,0,0,0,1839,0,0,0,0,0,0,0,0,780,0,0,0,0,0,0,0,1812,0,0,0,0,1334,526,0,67496,526,1962,526,526,526,526,526,526,1408,526,526,526,526,526,526,526,526,1418,526,526,1968,526,526,526,526,526,526,526,526,526,526,526,526,526,2096,526,526,526,526,1999,526,526,526,526,526,526,526,526,2007,526,2009,526,526,526,526,526,4047,526,526,526,526,526,526,526,526,526,526,1431,526,526,526,526,526,526,526,526,2118,526,526,526,526,526,567,567,2125,567,567,567,567,567,567,1508,567,567,567,567,567,567,1521,1525,567,567,567,567,2131,567,567,567,567,567,567,567,567,567,567,567,567,3628,567,567,567,2160,567,567,567,2164,567,567,567,567,567,567,567,567,2172,567,2174,594,2280,594,594,594,594,594,594,594,2286,594,594,594,594,594,594,594,2906,594,594,594,594,594,594,594,594,594,4265,594,594,594,594,594,594,594,594,2312,594,594,594,2315,594,594,594,2319,594,594,594,594,594,594,594,4375,594,594,594,594,594,0,0,0,594,594,594,2327,594,2329,594,594,594,594,594,594,2336,594,594,594,594,594,594,4530,594,594,594,594,594,594,594,594,0,0,526,526,526,526,526,4745,567,567,567,567,567,4748,2342,2343,594,594,594,594,594,594,594,594,594,594,594,594,594,594,2924,594,594,594,2377,594,594,594,594,594,594,594,594,594,594,594,594,594,2910,594,594,2428,0,0,0,2430,0,1152,0,0,0,2432,0,1156,0,0,0,0,0,814,0,0,0,815,0,0,0,819,0,0,526,526,526,526,2607,526,526,526,526,526,526,526,526,526,526,526,1977,526,526,526,526,526,526,526,526,2688,2689,526,526,526,526,526,526,526,526,526,526,2024,526,526,526,526,526,2782,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,4439,594,594,594,594,2890,594,594,594,594,594,594,594,594,594,594,594,1725,594,594,594,594,3074,0,1958,68611,526,526,526,526,526,526,526,526,526,526,526,526,1484,526,1371,526,594,594,594,3369,594,594,594,594,594,594,594,594,594,594,594,594,2909,594,594,594,0,0,68611,526,3476,526,526,526,526,526,526,526,526,526,526,526,2025,526,526,526,526,594,3642,594,594,594,594,594,594,594,594,594,594,594,594,594,594,3311,594,0,0,0,3766,0,0,0,0,0,0,0,0,0,0,0,0,2498560,385,385,0,0,0,526,526,526,526,526,526,526,3786,526,526,526,526,526,526,526,3179,526,3181,526,526,526,526,526,526,526,3159,526,526,526,526,526,526,526,526,526,4039,526,526,526,526,526,526,567,567,4093,567,567,567,567,567,567,567,567,567,567,567,567,567,2820,567,567,0,4190,0,0,0,0,0,4192,526,526,526,526,526,4196,526,526,526,526,526,4060,526,526,526,526,526,526,526,526,526,526,1461,526,1465,526,526,526,526,526,526,526,4212,526,526,526,526,526,526,526,526,526,526,526,2059,526,526,526,526,567,567,4228,567,567,567,567,567,567,567,567,567,567,567,567,567,2835,567,567,594,594,4259,594,594,594,594,594,594,594,594,594,594,594,594,594,2939,594,594,526,4302,526,526,526,526,526,526,526,526,4309,526,526,526,526,526,526,1426,526,526,526,526,526,526,1441,526,526,526,526,526,526,4317,526,526,4321,526,4322,526,526,526,526,526,567,3188,567,567,567,567,567,567,567,567,567,567,567,567,2767,567,567,567,567,4329,567,567,567,567,567,567,4334,567,567,4337,567,567,567,567,567,567,1566,567,567,567,567,567,567,567,567,567,567,4677,594,594,594,594,594,4355,594,594,594,594,594,594,4360,594,594,4363,594,594,594,594,594,594,594,4447,594,594,594,594,594,594,594,594,594,3685,594,594,594,594,594,594,594,594,594,594,594,4372,594,594,4376,594,594,594,594,0,0,0,0,0,1164,0,0,0,0,0,0,0,0,0,0,2523,0,0,0,0,0,526,4397,526,526,526,526,526,526,526,526,526,526,526,526,526,526,2668,526,526,526,4412,526,526,526,567,567,567,567,567,567,4422,567,567,567,567,567,567,3590,3592,567,567,567,567,567,567,3598,567,567,567,567,567,567,4430,567,567,567,567,567,567,567,567,567,567,2170,567,567,567,567,567,526,4653,526,526,526,526,526,4659,526,526,526,526,526,567,567,4666,567,567,567,567,567,4672,567,567,567,567,594,594,4678,594,594,594,594,594,594,4601,594,0,0,0,0,0,0,0,0,0,0,0,0,0,3411,0,594,594,4684,594,594,594,594,0,4690,4691,0,526,526,526,4695,526,526,526,526,1453,526,526,526,526,526,526,526,526,526,526,526,3496,526,526,526,526,526,4698,526,526,526,526,526,526,567,567,567,4705,567,567,4708,567,567,567,567,567,2828,567,567,567,567,567,567,567,567,567,567,567,4255,594,594,594,594,594,594,4749,594,4750,594,526,526,526,567,567,567,594,594,594,526,526,526,567,567,567,594,594,526,4763,567,567,4766,594,594,4769,526,526,526,567,567,567,594,594,594,4770,4771,526,4773,4774,567,4776,4777,365,0,0,0,0,0,0,0,0,0,0,0,0,147456,139264,0,0,0,0,3752,0,0,0,0,0,0,0,0,0,0,0,526,845,526,526,526,0,0,0,423,0,423,423,423,0,0,0,0,0,451,451,451,451,451,451,480,451,451,451,451,451,451,451,451,451,451,480,451,499,480,480,480,480,480,480,480,480,480,480,480,480,451,480,480,543,543,562,562,583,583,562,562,583,480,480,451,480,480,451,451,451,480,480,451,451,451,480,480,480,583,583,611,562,583,583,611,562,562,611,562,562,562,562,562,583,583,611,611,611,611,611,611,611,583,562,562,562,611,2,3,0,0,767,0,0,0,0,0,0,0,0,0,0,737,0,0,0,0,0,221184,0,0,0,287,0,221184,0,0,0,0,0,0,824,0,0,0,0,0,0,0,0,0,1290,0,0,0,0,1168,1293,0,0,812,0,0,0,0,0,0,0,0,0,0,0,0,0,1926,0,0,0,0,840,0,0,0,0,0,0,0,0,0,0,526,526,526,4548,526,526,526,526,526,526,925,526,526,526,526,526,526,526,526,526,526,526,526,526,2600,526,526,594,1112,594,594,594,594,1136,594,594,594,594,740,0,526,526,0,0,0,0,3767,0,0,0,0,0,0,0,0,0,0,0,2444,0,0,0,0,0,0,0,1162,0,0,0,0,0,0,0,0,0,0,0,0,10027008,0,0,0,0,0,1268,0,0,0,0,0,0,0,0,0,0,0,1279,0,0,0,0,3993,0,0,3994,0,0,0,0,0,0,0,0,755,0,0,0,0,0,0,0,1397,526,526,526,526,526,526,526,526,526,872,526,526,526,526,526,526,1493,526,526,526,526,16834560,0,0,567,567,567,1532,567,567,567,567,1541,567,567,567,567,567,567,567,567,567,2751,567,567,567,567,567,567,567,567,567,1559,567,567,567,567,567,567,567,567,567,1576,567,567,567,567,567,1507,567,567,567,567,1511,567,567,1523,1527,567,594,1682,594,594,594,594,1691,594,594,594,594,594,594,594,594,594,1145,594,740,0,866,526,0,594,594,594,1709,594,594,594,594,594,594,594,594,594,1726,594,594,594,594,594,1788,594,594,594,594,0,0,0,0,0,0,0,1333,0,0,1334,526,845,526,526,1341,0,0,1803,0,0,0,0,0,0,0,0,0,0,0,0,0,1939,0,0,526,526,526,526,2069,526,526,526,526,2075,526,526,526,526,526,526,526,3526,526,526,526,526,526,3532,526,526,594,594,594,594,2360,594,594,594,594,594,594,594,594,594,594,594,1772,594,594,594,594,594,594,594,2396,594,594,594,594,594,594,594,594,594,594,594,594,2949,2951,594,594,1889,0,0,0,2503,0,0,0,0,0,0,0,0,2511,0,0,0,0,0,253952,0,0,0,288,0,253952,0,0,0,0,0,0,841,0,0,0,0,0,0,8462336,8462336,8462336,0,2530,0,0,0,0,0,0,0,0,0,2539,0,0,0,0,0,0,3740,0,0,0,0,0,0,0,0,0,2498560,2498560,2498560,2498560,2498560,0,2498560,567,567,2744,567,567,567,567,567,567,567,567,2752,567,567,567,567,567,567,1587,567,567,567,567,567,567,567,1598,567,567,567,2758,567,567,567,567,567,567,567,567,567,567,567,567,567,3248,567,567,567,2811,567,567,567,567,567,567,567,567,567,567,567,567,567,567,2205,567,594,594,594,3353,594,594,594,594,594,594,594,594,594,594,594,594,2950,594,594,594,0,0,3736,0,0,0,0,0,0,0,0,0,0,0,0,0,2473,0,0,526,3818,526,526,526,526,526,526,526,526,526,526,526,526,526,526,2683,526,4289,0,0,0,4292,0,0,0,4293,0,4295,0,0,0,0,526,526,526,526,526,526,526,526,526,4029,526,526,526,4301,526,4303,526,4305,526,526,526,526,526,526,526,526,526,526,526,2612,526,526,526,526,526,526,4315,526,526,526,526,526,526,526,526,526,526,526,526,567,567,567,2710,567,4328,567,4330,567,4332,567,567,567,567,567,567,567,567,567,567,567,2722,567,567,2726,567,567,567,567,567,4344,567,567,567,567,567,567,567,567,567,594,4354,594,4356,594,4358,594,594,594,594,594,594,594,594,594,594,594,594,2963,594,594,594,594,594,594,4370,594,594,594,594,594,594,594,594,594,0,0,0,0,0,0,3988,3989,0,4381,4382,0,0,0,0,0,0,0,4390,526,526,526,526,526,526,1972,526,526,526,526,526,526,526,526,526,526,3094,526,526,526,526,526,526,526,526,4399,526,526,526,4403,526,526,526,526,526,526,526,4409,567,567,567,4429,567,567,567,567,567,567,567,567,4436,567,567,567,567,567,567,3591,567,567,3594,567,567,567,567,567,567,567,2167,567,567,567,567,567,567,567,567,567,3261,567,567,567,567,567,567,9896676,3,180498,7,0,0,0,0,1153,1157,0,0,0,0,0,0,0,1905,0,0,0,0,0,0,0,0,1856,0,0,0,0,0,0,0,526,526,526,526,4036,526,526,526,526,526,526,526,526,526,526,526,2665,2667,526,526,526,4138,594,594,594,594,594,594,594,594,594,594,594,594,594,594,594,3701,319,0,0,0,307,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8503296,389,307,389,389,155648,0,307,307,307,0,307,0,0,307,307,307,307,307,307,307,307,431,307,307,307,307,307,0,307,307,307,497,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,544,544,563,563,584,584,563,563,584,584,612,563,584,584,612,563,563,612,563,563,563,544,563,584,584,612,612,612,612,612,612,612,584,563,544,563,612,2,3,0,652,0,0,0,0,0,0,0,0,196923,0,0,0,319,319,0,0,0,0,0,0,0,0,0,0,2482176,0,0,0,0,0,0,0,147456,139264,0,0,748,0,0,0,0,0,0,0,756,0,0,0,0,0,0,0,1921,0,0,0,0,0,0,0,0,1922,0,0,0,0,0,0,0,0,0,0,652,0,0,770,0,0,0,0,0,0,778,0,0,0,0,0,1335296,0,0,0,1335296,1335296,1335296,1335296,1335296,0,0,0,0,0,1376256,1376256,1376256,0,0,1376256,1376256,1376256,0,0,1376256,1376256,1376256,1376256,0,0,0,0,0,0,0,0,0,0,312,313,314,0,0,196923,808,810,0,0,0,0,783,748,0,0,0,817,0,0,0,796,0,0,0,0,0,0,0,0,0,0,0,0,0,2486,0,0,0,748,0,0,0,0,817,0,703,0,0,0,0,0,0,0,526,526,526,526,526,526,526,526,4198,0,0,796,0,0,0,0,0,833,0,0,0,837,0,0,0,0,0,0,0,837,0,0,837,526,526,526,849,526,526,526,867,874,878,526,526,526,526,526,526,902,907,526,526,526,526,1477,526,526,526,526,526,526,1358,526,526,1486,526,526,526,526,1988,526,526,526,526,526,526,526,1994,526,526,526,526,526,526,4416,567,567,567,567,567,567,567,567,567,567,3616,567,567,567,567,567,526,921,526,526,526,526,526,935,874,526,935,526,526,867,526,526,526,526,526,4070,526,526,526,526,526,567,4076,567,567,567,567,567,567,2212,567,567,2217,567,567,567,2223,2224,567,526,949,526,526,921,526,567,567,963,567,567,567,981,988,992,567,567,567,567,567,3241,567,567,567,567,567,567,567,567,567,567,0,83565,1334,1646,1055,594,0,594,594,594,1059,594,594,594,1077,1084,1088,594,594,594,594,594,594,594,4461,594,594,0,0,0,0,0,0,0,1823,0,0,0,0,0,0,0,0,1223,0,0,0,0,0,0,0,594,1113,1118,594,594,1132,594,594,594,594,594,740,0,867,921,0,0,0,0,4014,0,0,0,0,0,0,0,0,0,4020,0,0,0,0,2491,0,0,0,0,0,0,0,0,0,0,1888,1889,0,0,1892,0,0,0,0,0,0,0,1898,0,0,0,1175,319,319,0,0,0,0,0,0,0,0,0,1184,0,0,1187,0,0,0,0,0,0,0,0,0,0,0,0,0,2497,0,1888,0,1216,1217,0,0,0,0,0,0,0,0,0,0,0,0,0,2558,3073,0,0,0,8724480,740,0,0,0,1257,0,0,0,0,0,0,0,0,1192,0,0,0,0,0,0,0,0,9904128,9912320,0,1257,0,0,0,0,0,0,0,0,0,0,0,9076736,0,0,0,0,1343,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,3123,526,526,1375,526,526,526,1383,526,1386,526,526,526,526,526,526,526,2594,526,526,526,2598,526,526,526,526,526,526,1451,526,526,526,526,526,526,526,526,526,526,526,1468,1469,526,526,526,1476,526,1478,1479,526,526,526,526,526,526,526,526,526,526,4064,526,526,526,526,526,567,567,1504,567,567,567,567,567,567,567,567,567,567,567,567,567,3265,567,567,567,567,567,567,1537,567,567,567,1545,567,1548,567,567,567,567,567,567,567,3613,567,567,567,567,567,567,567,567,1642,567,0,83565,1334,594,1055,594,567,1632,1633,567,567,567,1640,567,567,1643,0,83565,1334,594,1055,594,594,594,594,594,3929,594,594,594,594,594,594,594,594,594,594,594,3699,594,594,594,594,594,594,1654,594,594,594,594,594,594,594,594,594,594,594,594,594,3309,594,594,594,594,594,594,1687,594,594,594,1695,594,1698,594,594,594,594,594,594,594,4531,594,594,594,594,594,594,594,0,594,1782,1783,594,594,594,1790,594,594,1793,0,0,0,0,0,0,0,2480,0,2482,0,0,0,0,0,0,0,1160,0,0,0,0,1160,0,0,0,0,1833,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1434052,0,0,0,0,1851,0,0,0,0,0,0,0,0,0,0,0,0,10043392,10059776,8847360,0,0,0,1930,0,0,0,0,0,0,0,0,0,0,0,0,0,2997,0,0,1966,526,526,526,526,526,526,526,1974,526,526,526,526,526,526,526,2623,526,526,526,526,526,526,526,526,1412,526,526,526,526,526,526,526,526,2065,526,526,526,526,526,2073,526,526,526,526,526,526,526,526,2005,526,526,526,526,526,526,526,567,2129,567,567,567,567,567,567,567,2137,567,567,567,567,567,567,567,1543,567,567,1547,567,567,567,567,567,567,2161,567,567,567,567,567,567,567,567,567,567,567,567,567,567,2259,2261,2175,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,4510,567,567,2265,567,567,567,567,567,567,567,567,0,83565,594,0,67496,594,2394,594,594,594,594,594,594,594,594,594,594,594,594,594,594,3348,594,2410,594,594,594,594,594,594,594,2420,594,594,594,594,594,594,594,2302,594,594,594,594,594,594,594,594,594,3698,594,594,594,594,594,594,0,0,2437,0,0,0,2440,2441,0,0,0,0,0,0,0,0,1241,0,0,0,0,0,0,0,0,0,0,2449,0,0,0,0,0,0,0,0,0,0,0,2459,0,0,0,0,0,1384448,0,0,0,0,1384448,0,0,0,0,0,0,0,0,0,147456,139264,1384448,2475,0,0,0,0,0,0,0,0,0,2483,2484,0,0,0,0,0,0,3769,0,0,0,0,0,0,0,0,0,724,0,0,0,0,0,0,0,0,2531,0,0,0,0,0,0,0,0,0,0,0,2541,2542,526,2589,526,526,526,526,526,526,526,2596,2597,526,526,526,526,2602,526,2617,2619,526,2621,526,526,526,526,526,526,526,526,2627,526,526,526,526,526,4203,526,526,526,526,526,526,526,537,526,526,4037,526,526,526,526,526,4041,526,526,526,567,567,2714,567,567,567,567,567,567,567,567,567,567,567,567,567,3584,567,567,567,567,567,567,2732,567,567,567,567,567,567,567,567,2740,567,2741,567,567,567,567,2746,567,567,567,567,567,567,567,567,567,567,567,2738,567,567,567,567,567,567,567,567,2759,567,2761,2763,567,2765,567,567,567,567,567,567,567,1567,567,567,567,567,567,567,567,567,1027,567,567,567,567,567,567,0,567,567,567,2772,567,567,567,567,567,567,567,567,2779,567,2781,567,567,567,567,567,3257,567,567,567,567,567,567,3264,567,567,567,567,567,567,2814,567,2816,567,567,567,2819,567,567,567,567,567,567,2829,567,567,567,567,567,567,567,567,567,2236,567,567,567,567,567,567,567,2783,2784,567,567,567,567,567,567,567,567,567,567,2795,567,567,567,567,567,1565,567,567,567,567,567,567,567,567,567,567,0,83565,1334,594,1055,594,567,2799,567,567,567,567,567,567,567,567,567,567,567,567,567,567,2260,567,2823,567,567,567,567,567,567,567,567,567,567,567,567,567,567,2837,594,2900,2902,594,2904,594,594,594,594,594,594,594,594,594,2911,594,594,594,594,594,3941,594,594,3944,594,594,594,594,594,594,594,1767,594,594,594,594,594,594,594,594,2959,594,594,594,594,594,594,594,0,0,3001,0,0,0,3004,0,0,3006,0,0,0,0,3011,0,0,0,0,4472,0,526,526,526,526,526,526,526,526,526,526,1432,526,526,1442,526,526,0,3013,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1450437,0,0,3035,0,0,0,0,0,0,0,0,0,0,0,0,0,3048,0,0,0,3066,0,0,0,0,0,0,0,0,0,0,0,0,10043392,0,0,10526720,0,526,526,3086,526,526,526,526,526,3092,526,526,526,526,3097,526,526,526,526,526,4213,526,526,526,526,526,526,526,526,526,526,526,3800,526,526,526,526,526,526,526,3126,526,526,526,526,526,526,526,526,526,526,526,3138,526,3140,526,526,526,526,3145,526,526,526,526,526,526,526,526,526,526,4075,567,567,567,567,567,567,3199,567,567,567,567,567,3205,567,567,567,567,3210,567,567,567,567,567,567,3602,567,567,567,567,3604,567,567,567,567,567,567,567,4516,594,594,594,594,594,594,594,594,2317,594,594,594,594,594,594,594,567,567,567,567,3240,567,567,567,567,567,567,567,567,567,567,567,2766,567,567,567,567,3252,567,3254,567,567,567,567,3259,567,567,567,567,567,567,567,567,1031,567,567,567,567,567,567,0,594,594,3314,594,594,594,594,3319,594,594,594,594,594,594,594,594,1694,594,594,594,1702,1704,594,594,594,594,3368,594,594,594,594,594,594,594,594,594,594,594,594,594,3334,594,594,0,0,68611,526,526,526,526,3479,526,3480,526,526,526,526,526,526,526,3551,526,526,526,526,526,526,526,526,526,4074,526,567,567,567,567,567,526,526,526,3549,526,526,526,526,526,526,526,526,526,526,526,526,1979,526,526,526,3632,567,567,567,567,567,567,567,3638,567,567,567,567,0,0,0,0,0,594,594,594,594,594,594,594,594,594,594,594,594,594,594,594,0,594,594,594,594,3645,594,3646,594,594,594,594,594,594,594,594,594,1721,594,594,594,594,594,594,0,0,526,3781,526,526,526,526,526,526,526,526,526,526,526,526,2008,526,526,526,526,526,526,526,3835,526,526,526,526,526,526,526,526,526,526,526,2666,526,526,526,526,567,567,567,567,3888,567,567,567,567,567,567,567,567,567,567,567,2778,567,567,567,567,594,594,594,594,3955,594,594,594,594,594,594,594,594,594,594,594,1773,594,594,594,594,0,3991,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1597440,0,4102,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,2768,567,594,594,594,4150,594,594,594,594,594,594,594,594,594,594,594,594,3308,594,594,594,4189,0,0,0,0,0,0,526,526,526,526,526,526,526,526,526,4481,526,526,526,4304,526,526,526,526,526,526,526,526,526,526,526,526,2060,526,526,526,526,526,526,4316,526,526,526,526,526,526,526,526,4325,526,526,4327,567,567,567,4331,567,567,567,567,567,567,567,567,567,567,567,567,3640,0,0,0,567,567,567,567,567,4345,567,567,567,567,4351,567,567,567,4353,594,594,594,594,594,3969,3971,594,3973,594,594,594,594,594,594,3979,594,594,4357,594,594,594,594,594,594,594,594,594,594,594,594,594,3389,594,594,594,594,594,594,4371,594,594,594,594,4377,594,594,594,0,0,0,0,0,1179,1329,0,0,0,1334,526,845,1338,526,526,526,526,526,526,4400,526,526,526,526,526,526,526,4406,526,526,526,526,526,1434,526,526,526,526,526,16834560,0,0,567,567,4426,567,567,567,567,567,567,567,567,4433,567,567,567,567,567,567,567,1617,567,567,567,567,567,567,567,567,2183,2184,2186,567,567,567,567,567,594,594,594,4457,594,594,594,594,594,594,0,4465,0,0,4468,0,0,0,0,4542,4543,0,0,4545,4546,4547,526,526,526,4551,526,526,526,526,954,526,567,567,567,970,567,567,567,567,567,567,567,2214,567,567,567,567,567,567,567,567,1568,567,567,567,567,567,567,567,526,526,526,4485,526,526,526,526,526,526,526,526,526,526,526,567,567,567,4225,567,567,567,567,567,4499,4500,567,567,567,567,567,567,567,567,4509,567,567,567,567,567,3293,0,0,3295,0,0,0,0,594,594,594,594,594,594,594,1074,594,594,1092,594,594,594,594,594,594,2861,594,594,2865,594,594,594,2869,594,594,0,4539,4540,0,0,0,0,0,526,526,526,526,526,526,526,4552,526,526,526,4555,526,526,526,526,526,526,526,526,526,526,567,567,4704,567,567,567,567,567,594,594,594,594,594,4687,594,4689,0,0,4692,526,4693,526,526,526,526,526,1435,526,526,526,526,526,16834560,0,0,567,567,526,526,4699,526,526,526,526,526,567,4703,567,567,567,567,567,4709,567,567,567,567,594,4713,594,594,594,594,594,4719,594,594,594,594,594,594,3342,594,594,594,594,594,594,594,594,594,594,4378,594,594,0,0,4379,0,4723,4724,0,526,526,4726,526,526,4728,526,526,526,526,567,567,4623,567,567,4625,567,567,567,567,567,567,567,1641,567,567,0,83565,1334,594,1055,594,4732,567,567,4734,567,567,567,567,594,594,4738,594,594,4740,594,594,594,594,594,1789,594,594,594,594,0,0,0,0,0,1798,319,0,0,0,0,322,0,0,0,0,0,0,0,0,0,325,333,0,0,0,0,322,0,342,0,0,347,0,0,0,354,355,366,0,0,0,0,0,0,322,373,0,0,0,0,147456,139264,387,0,0,0,0,155648,0,401,401,401,322,401,0,373,401,401,421,401,401,401,401,401,401,401,401,0,436,436,436,436,436,0,436,436,436,436,477,477,481,477,477,477,477,477,477,477,477,477,481,477,477,481,481,481,481,481,481,481,481,481,481,481,481,521,524,513,545,545,564,564,585,585,564,564,585,481,513,436,513,481,436,436,436,481,513,516,436,436,481,481,481,585,585,613,564,585,585,613,564,564,613,564,564,564,545,564,585,585,613,613,613,613,613,613,613,585,564,545,564,613,2,3,0,780,0,0,0,792,0,792,0,0,0,0,0,780,0,792,850,526,526,526,526,526,526,883,526,526,526,526,526,526,526,526,2074,526,526,526,526,526,526,526,526,526,926,526,526,526,526,850,526,526,850,526,526,526,883,526,526,526,526,2001,526,2003,526,526,526,526,526,526,526,526,526,526,4323,526,526,526,526,567,0,594,594,594,1060,594,594,594,594,594,594,1094,594,594,594,594,594,594,3372,594,594,594,3376,594,594,594,594,594,594,594,3972,594,594,594,594,594,594,594,594,2934,594,594,594,2938,594,594,594,9896676,3,180498,7,0,0,0,0,0,0,0,0,0,0,0,1158,9904128,9912320,0,0,0,0,0,0,0,0,0,0,0,1298,0,0,0,0,32768,0,0,0,24576,0,0,0,0,0,0,0,0,3995,0,0,3996,3997,0,0,0,0,0,0,1188,0,0,0,0,0,1193,0,0,0,1197,0,0,0,0,0,1425408,0,1425408,1425408,0,0,0,0,0,0,0,0,3041,3042,0,0,0,0,0,0,0,0,0,1284,1285,0,0,0,0,0,0,0,1284,1292,0,0,0,0,0,1482752,0,0,0,0,0,0,0,8463179,8463179,8463179,8463179,8463179,10068811,8463179,8463179,10117963,8463179,8463179,8463179,8463179,0,0,1330,1331,0,0,1304,0,0,0,1334,526,845,526,526,526,526,526,1436,526,526,526,1496,526,16834560,0,0,567,567,526,526,526,1346,526,526,526,526,1350,526,526,1362,1366,526,1369,526,526,526,526,2016,526,526,526,2022,2023,526,526,526,526,526,526,526,3168,526,526,526,526,526,526,3172,526,526,1400,526,526,526,526,1407,526,526,526,526,526,526,1416,526,526,526,526,526,4218,526,526,526,526,526,567,567,567,567,567,567,567,4626,567,567,4629,567,1531,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,2796,567,567,567,567,567,1562,567,567,567,567,1570,567,567,567,567,567,567,567,2135,567,567,567,567,567,567,567,567,567,3892,567,567,567,567,567,567,1580,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,2808,567,1681,594,594,594,594,594,594,594,594,594,594,594,594,594,594,594,3950,594,594,594,594,1712,594,594,594,594,1720,594,594,594,594,594,594,594,2918,594,2920,594,594,2922,2923,594,594,1730,594,594,594,594,594,594,594,594,594,594,594,594,594,594,594,4146,0,0,1834,0,0,1837,0,0,0,1841,0,0,0,0,0,0,0,2550,2551,0,0,0,0,2554,0,0,1848,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10715136,0,0,0,1888,1889,1890,0,0,0,0,0,0,0,0,0,0,3043,0,0,0,0,0,2028,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,3153,526,526,526,2067,526,526,526,526,526,526,526,526,526,2079,526,526,526,526,526,4306,526,526,526,526,526,4311,526,526,526,526,526,526,2088,526,526,526,526,526,526,526,2098,526,567,567,567,2194,567,567,567,567,567,567,567,567,567,567,567,567,3868,567,567,3870,567,2246,567,567,567,567,567,567,567,567,567,567,567,567,567,567,2821,567,2262,567,567,567,567,567,567,567,567,567,567,0,83565,594,0,67496,594,594,2295,594,594,594,594,594,594,594,594,594,594,594,594,594,3679,594,594,2374,594,594,594,594,594,594,594,594,594,594,594,594,2388,594,594,594,594,594,2282,594,594,594,594,594,594,594,594,594,594,0,0,0,0,1797,0,2448,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2482644,0,2543,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2498560,318,2556,0,0,0,0,0,0,67496,526,526,2567,526,526,526,526,526,526,2018,2019,2021,526,526,526,526,526,526,526,880,526,526,526,526,526,526,526,526,526,3494,526,526,526,526,526,526,526,526,526,2632,526,526,526,2635,526,526,526,526,526,526,526,526,2123,567,567,567,567,567,567,567,526,526,2645,526,526,526,526,526,526,526,526,526,526,526,2656,526,526,526,526,2031,526,526,526,526,526,526,526,526,526,526,526,526,3842,526,526,526,526,2671,526,526,526,2674,526,526,526,526,526,526,526,526,526,526,2039,526,526,526,526,526,526,526,2700,2635,526,526,526,526,526,2705,526,567,567,2709,567,567,567,567,567,1612,567,567,567,567,567,1620,567,567,567,567,567,567,567,4348,567,567,567,567,567,567,594,594,594,4715,594,594,4718,594,594,594,594,594,567,567,567,567,2801,567,567,567,567,567,567,567,567,567,567,567,2793,567,567,567,567,2913,594,594,594,2916,594,594,594,2919,594,594,594,594,594,594,594,2331,594,594,594,594,594,594,594,594,594,2947,594,594,594,594,594,594,594,594,594,2929,594,594,594,594,594,594,594,594,594,594,594,2940,594,2953,594,2955,594,594,594,2958,594,594,594,594,594,594,594,594,1718,594,594,594,594,594,594,594,526,526,526,526,3103,526,526,526,526,526,526,526,526,526,526,526,2695,526,526,526,526,526,3124,526,526,526,526,526,526,526,526,526,3133,526,526,526,526,526,526,3515,526,526,526,526,3518,526,526,526,526,526,526,3539,526,526,526,3542,526,526,3544,526,526,567,567,567,567,3217,567,567,567,567,567,567,567,567,567,567,567,2818,567,567,567,567,567,567,3238,567,567,567,567,567,567,567,567,567,3247,567,567,567,567,567,567,3612,567,567,567,567,567,567,567,567,567,2272,567,0,83565,594,0,67496,594,594,594,594,3340,594,594,3343,594,594,594,594,594,3347,594,594,594,594,594,2299,594,594,594,594,594,2306,594,594,594,594,594,594,2917,594,594,594,594,594,594,594,594,2925,594,594,594,594,3370,594,594,594,594,594,594,594,594,594,594,594,2335,594,594,594,594,3413,0,0,0,0,0,0,3418,0,0,0,0,0,0,0,0,1289,0,0,0,0,0,0,0,0,0,0,3028,0,0,0,0,0,3444,0,0,0,0,0,0,0,2564,8463179,8463179,8463179,8463179,8463179,8463179,8463179,8463179,10601291,9487179,8463179,8463179,8463179,8463179,8463179,957,0,2562,68611,526,526,526,526,526,526,526,526,526,526,526,526,526,2640,526,526,526,526,526,526,3503,526,526,3506,526,526,526,526,526,526,526,526,2579,526,526,2583,526,526,526,2587,594,594,594,3671,594,594,3674,594,594,594,594,594,594,594,594,594,2333,594,594,594,594,594,594,3817,526,526,526,526,3821,526,526,3824,526,526,526,526,526,526,526,2650,526,526,526,2654,526,526,526,526,567,567,3861,567,567,567,567,567,567,567,567,567,567,567,567,567,3629,567,567,567,3885,567,567,567,567,567,567,3891,567,567,567,567,3895,567,567,567,567,567,1615,567,567,567,567,567,567,567,567,567,567,2199,567,567,567,2204,567,3898,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,3223,567,567,3914,567,567,567,567,567,567,594,594,594,594,594,594,594,594,4591,594,594,594,4594,594,594,3928,594,594,594,594,594,594,594,594,594,594,594,594,594,3687,594,594,594,3952,594,594,594,594,594,594,3958,594,594,594,594,3962,594,594,594,594,594,2314,594,594,594,594,594,594,594,594,594,594,594,3377,594,594,594,594,3965,594,594,594,594,594,594,594,594,594,594,594,594,594,594,594,4159,594,3981,594,594,594,594,594,594,0,3987,0,0,0,0,0,0,0,3005,0,0,0,0,0,0,0,3012,0,0,4e3,0,0,0,0,4004,0,0,0,0,0,0,0,0,1307,0,0,0,0,0,0,0,0,0,4023,526,526,526,526,526,526,526,526,526,526,4031,526,526,526,526,526,4319,526,526,526,526,526,4324,526,526,526,567,3562,567,567,567,567,567,567,567,567,567,567,567,2274,83565,594,2276,67496,526,4056,526,4058,526,526,526,4062,526,4063,526,526,526,526,526,526,526,3809,526,526,526,3813,526,526,526,526,526,4067,526,526,526,526,526,526,526,526,526,567,567,567,567,567,567,2127,567,567,567,567,4105,567,567,567,567,567,567,4110,567,4112,567,567,567,567,567,1638,567,567,567,567,0,83565,1334,594,1055,594,567,4116,567,4117,567,567,567,567,567,567,567,567,4122,567,594,594,594,594,594,2380,594,594,594,594,594,594,594,594,594,594,594,3361,594,3363,594,594,4160,594,594,594,4164,594,4165,594,594,594,594,594,594,594,594,4170,4178,4179,0,0,0,0,4183,0,0,0,0,4185,0,4187,0,0,0,0,0,1490944,0,0,0,0,0,0,0,8462336,8462336,8462336,8462336,8462336,8462336,10199040,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,0,0,16982016,0,0,0,526,4200,526,526,4202,526,526,526,4205,526,526,526,526,526,526,526,2662,526,526,526,526,526,526,526,526,526,4206,526,526,526,526,526,4209,526,4210,526,526,526,526,526,526,526,526,526,526,526,526,526,526,3109,526,567,4227,567,567,567,567,4232,567,567,567,4235,567,567,567,4238,567,567,567,567,567,3636,567,567,567,567,567,567,567,0,0,0,0,0,0,0,594,594,594,594,4258,594,594,594,594,4263,594,594,594,4266,594,594,594,4269,594,594,594,594,594,3984,594,594,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1833,526,526,526,526,4318,526,526,526,526,526,526,526,526,526,526,567,567,964,567,567,567,567,567,567,998,594,594,594,594,594,4373,594,594,594,594,594,594,594,0,0,0,0,526,526,526,526,526,0,0,0,4471,0,0,4473,526,526,526,526,526,526,526,526,526,526,4662,4663,526,567,567,567,526,4483,526,526,526,526,526,526,526,526,526,526,526,526,526,4495,594,594,594,4527,594,594,594,594,594,594,594,594,594,594,594,0,0,526,526,0,4553,526,526,526,526,4557,4558,526,4560,526,526,4562,526,526,567,567,567,567,3190,567,567,567,567,567,567,567,567,567,567,4505,567,567,567,567,567,4581,567,567,594,594,594,594,594,594,594,594,594,4592,594,594,594,594,594,594,4688,0,0,0,0,526,526,526,526,526,526,526,526,526,526,526,526,526,526,594,594,4597,4598,594,4600,594,594,0,0,0,0,0,0,4607,0,0,0,0,155648,0,0,0,0,0,0,0,0,0,0,0,297,0,147456,139264,0,526,526,4609,526,526,4611,526,526,526,526,526,526,526,526,526,526,2076,526,526,526,526,526,0,356,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2506752,0,390,0,390,390,155648,396,402,402,402,0,402,0,374,402,402,402,472,402,402,482,402,402,402,402,402,402,402,402,402,390,402,402,402,402,402,466,402,402,482,402,402,482,482,482,482,505,505,505,505,505,509,509,509,509,522,525,509,546,546,565,565,586,586,565,565,586,509,505,514,505,509,514,514,514,509,505,514,514,514,509,509,509,586,586,614,565,586,586,614,565,565,614,565,565,565,623,565,586,586,614,614,614,614,614,614,614,586,565,623,565,614,2,3,0,0,696,0,0,0,0,0,0,0,0,706,0,0,0,0,0,0,4003,0,0,0,0,0,0,0,0,4010,0,0,0,638,715,0,0,718,0,0,0,0,0,0,0,0,1323,0,0,0,0,1328,0,0,747,0,0,0,638,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,768,0,0,0,0,0,0,9895936,0,0,0,791,0,0,0,0,155648,0,0,0,0,0,0,0,418,0,0,0,0,0,797,0,0,0,0,0,0,0,0,0,0,296,0,0,0,0,0,794,0,0,0,0,0,0,0,0,0,0,0,791,0,794,0,0,0,0,155648,0,0,0,0,0,0,407,0,0,0,0,0,0,1221,0,0,0,0,0,0,0,0,0,3420,0,0,0,0,0,0,809,0,0,0,0,0,809,0,638,0,0,0,768,0,820,0,0,0,0,155648,0,0,0,0,0,0,408,415,0,0,0,0,0,0,10272768,0,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,1147,0,8462336,8462336,0,768,0,0,821,0,0,0,0,821,0,0,0,0,0,0,0,526,526,526,526,4194,526,526,526,526,0,638,0,0,0,0,0,0,0,0,0,0,0,638,0,0,0,0,0,8462336,8757248,1956,0,8462336,10018816,8462336,10027008,10035200,8462336,8462336,8462336,8462336,8462336,10199040,8462336,8462336,8462336,9011200,8462336,8462336,8462336,8462336,8462336,8462336,958,958,958,958,958,958,958,958,958,958,0,0,0,8462336,0,8462336,768,0,0,768,0,0,0,0,768,0,794,842,0,526,526,526,526,526,1438,526,526,526,526,526,16834560,0,0,567,567,851,526,526,526,526,875,879,884,526,526,890,526,526,903,526,526,526,526,526,4401,4402,526,526,526,526,526,526,4407,4408,526,915,526,526,526,526,526,526,851,875,526,939,526,526,526,945,526,526,526,526,2049,526,526,526,526,526,526,526,526,526,526,526,526,3183,526,526,526,526,526,526,915,526,526,567,567,965,567,567,567,567,989,993,999,567,567,1005,567,567,1018,567,567,1030,567,567,567,567,567,567,0,0,3295,0,0,0,0,594,594,594,0,594,594,594,1061,594,594,594,594,1085,1089,1095,594,594,1101,594,594,594,594,594,4128,594,594,594,594,4133,4134,594,594,594,594,594,594,3318,594,594,594,594,594,594,3324,594,594,594,1114,594,594,1126,594,594,594,594,594,594,740,0,526,526,0,0,0,0,155648,0,0,0,0,0,0,412,0,0,0,0,0,0,2983,0,0,0,0,0,0,0,0,0,1360314,1360314,1360314,1360314,1360314,2,3,0,0,1174,0,319,319,0,0,0,1178,1179,0,1181,0,0,0,0,0,1271,0,0,0,0,0,1277,0,0,0,0,0,0,3055,0,0,0,0,0,0,0,0,0,1857,0,0,0,0,0,0,1249,0,8724480,740,0,0,0,0,0,1259,0,0,0,0,0,0,0,3018,0,0,3020,0,0,0,0,0,1181,9904128,9912320,0,0,0,0,0,1259,0,0,0,0,1297,0,0,0,0,0,8462336,8758091,0,0,8463179,10019659,8463179,10027851,10036043,8463179,8463179,8463179,9323339,8463179,8463179,8463179,8463179,8463179,8463179,8463179,16834560,0,0,957,957,957,957,10084352,10092544,957,957,957,957,957,957,957,8896512,957,957,957,8463389,8463389,8463389,8463389,8463389,8463389,8979485,8463389,8463389,8463389,8463389,10273821,8463389,0,1178,1312,0,0,1320,0,0,0,0,1169,0,0,0,1329,1329,526,526,1345,526,526,526,1349,526,1351,526,526,526,526,526,526,526,2676,526,526,526,2680,526,526,526,526,526,1401,526,526,526,526,526,1410,526,526,526,526,526,526,526,526,2651,526,526,526,526,526,526,526,1421,526,526,526,1424,526,526,1428,526,526,526,1437,1440,526,526,526,526,526,1492,526,526,526,526,526,16834560,0,0,567,567,526,526,1475,526,526,526,526,526,526,526,1482,526,526,526,1373,526,526,526,1380,526,526,526,526,526,526,526,526,526,526,526,3119,526,526,526,526,526,526,526,1421,526,1437,526,526,526,526,526,16834560,0,0,567,1499,567,567,567,567,1506,567,567,567,1510,567,1512,567,567,567,567,567,567,567,3876,567,567,567,567,567,567,567,567,1028,567,567,567,567,567,567,0,567,567,1535,567,567,567,1542,567,567,567,567,567,567,567,567,567,3207,567,567,567,567,567,3212,567,567,567,567,1563,567,567,567,567,567,1573,567,567,567,567,567,567,567,3890,567,567,567,567,567,567,567,567,594,594,594,594,3923,594,594,594,567,567,567,1585,567,567,567,1588,567,567,1592,567,567,567,1601,1604,594,594,594,594,1656,594,594,594,1660,594,1662,594,594,594,594,594,594,1137,594,594,594,594,740,0,526,526,0,594,594,1685,594,594,594,1692,594,594,594,594,594,594,594,594,594,2349,594,594,594,594,594,594,594,594,594,594,1713,594,594,594,594,594,1723,594,594,594,594,594,594,1658,594,594,594,594,594,594,1671,1675,594,594,594,594,1735,594,594,594,1738,594,594,1742,594,594,594,1751,1754,0,0,0,1804,0,0,1807,0,0,1810,0,0,0,0,0,0,0,3040,0,0,0,0,0,0,3047,0,0,1817,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2514944,0,0,0,0,1835,0,0,0,0,0,0,0,0,1844,0,0,0,0,0,1286,0,0,0,0,0,0,0,0,0,0,4184,0,0,0,0,0,0,1864,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8495104,8495104,1914,0,0,0,0,0,1885,0,0,0,0,0,0,0,0,0,1532358,1532358,1532358,1532358,1532358,2,3,0,1929,0,1931,0,0,0,1934,0,0,0,0,0,0,0,0,1870,0,0,0,0,0,0,0,0,1943,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3023,0,0,0,1954,1929,0,0,1334,526,0,67496,526,526,526,526,526,526,526,2691,526,526,526,526,526,526,526,526,2056,526,526,526,526,526,526,526,526,526,526,2048,526,526,526,526,526,526,526,526,526,526,526,526,2095,526,526,526,526,526,526,2068,526,526,526,526,526,526,526,2077,872,526,526,526,526,526,1971,526,526,526,526,526,1978,526,526,526,526,526,526,3808,526,3810,526,526,526,526,3815,526,526,567,2193,567,567,567,567,567,567,567,567,567,2201,567,2203,567,567,567,567,567,1639,567,567,567,567,1644,83565,1334,594,1055,1649,2244,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,3250,567,594,594,2296,594,594,594,594,594,594,594,594,594,2307,594,594,594,594,594,594,4752,4753,526,4755,4756,567,4758,4759,594,526,594,2311,594,594,594,594,594,594,594,594,594,594,594,594,594,594,3379,594,594,2356,594,2358,594,594,594,594,594,594,594,594,594,2369,594,594,594,594,594,2398,2399,594,594,594,594,594,594,594,594,594,2384,594,594,594,594,594,594,0,2476,2477,0,0,0,0,0,0,0,0,0,0,0,0,0,3046,0,0,0,2489,0,0,0,0,0,0,0,0,0,0,0,0,0,1888,1889,0,1891,0,0,0,0,0,0,0,0,0,1950,0,0,0,0,0,0,1889,0,0,2502,0,0,0,0,0,0,0,2509,0,0,0,0,0,0,4191,526,526,526,526,526,526,526,526,526,526,3517,526,526,526,526,526,0,2544,0,2546,0,0,0,0,0,0,0,0,0,0,0,2555,0,0,2557,0,0,2562,0,67496,526,526,526,526,526,526,526,526,2663,526,526,526,526,526,526,526,526,526,526,2591,526,526,526,526,526,526,526,526,2599,526,526,526,526,526,1989,526,526,526,1992,526,526,526,526,526,526,526,3823,526,526,526,526,526,3828,3830,526,526,526,2605,526,526,526,526,526,2610,526,2611,526,2613,526,526,526,526,526,2002,526,526,526,526,526,526,526,526,526,526,526,4224,567,567,567,567,526,526,2672,526,526,526,526,526,2677,526,526,526,526,526,526,526,2704,526,526,526,567,567,567,567,567,567,567,3567,567,567,567,567,567,567,567,2730,567,567,567,2734,567,567,567,567,567,567,567,567,567,3231,567,567,3234,567,567,567,567,2743,567,567,567,567,567,2749,567,567,567,567,567,2754,567,2755,567,2757,567,567,567,567,567,567,567,567,567,567,567,567,567,567,3619,567,567,2770,567,567,567,567,567,567,567,567,567,567,567,567,567,567,3882,567,567,2839,0,0,2844,0,594,594,594,594,594,594,594,594,594,594,594,4144,594,594,594,594,594,2873,594,594,594,594,594,594,594,594,594,594,2882,594,594,594,594,594,1130,594,594,1142,594,594,740,0,526,919,0,594,594,2888,594,594,594,594,594,2893,594,2894,594,2896,594,594,594,594,594,1133,594,594,594,594,594,740,0,526,922,0,594,594,594,594,2956,594,594,594,594,594,2961,594,594,594,594,594,594,1689,594,594,594,594,594,1701,594,594,594,0,3050,0,0,0,3054,0,0,0,0,3059,0,0,0,0,0,0,735,0,0,740,741,0,0,0,0,0,0,0,10518528,0,0,9248768,0,0,0,0,0,0,0,67496,526,526,526,872,526,526,526,526,0,0,0,68611,526,526,3077,526,526,526,526,526,526,526,526,526,1352,526,526,526,526,526,526,3085,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,3186,3139,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,3498,526,526,3155,526,526,526,526,526,3160,526,526,526,526,526,526,526,3091,526,526,526,526,526,526,526,526,526,3093,526,526,526,526,526,526,567,3253,567,567,567,567,567,567,567,567,567,567,567,567,567,567,3896,567,567,567,567,3270,567,567,567,567,567,3275,567,567,567,567,567,567,567,2182,567,567,567,567,567,567,567,567,594,594,3921,594,594,594,594,594,594,594,3328,594,594,594,594,594,594,594,3333,594,594,594,594,594,594,1716,594,594,594,594,594,594,594,594,594,594,2908,594,594,594,594,594,594,3337,594,594,594,3341,594,594,594,3345,594,594,594,594,594,594,594,3356,594,594,594,594,594,594,594,594,1792,594,0,0,0,0,0,0,594,594,594,594,3384,594,594,594,594,594,594,594,594,594,594,594,2386,594,594,594,594,594,3403,3404,3405,0,0,0,0,0,0,0,0,0,0,0,0,3433,0,0,0,0,0,0,3414,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3733,0,0,3438,0,0,3028,0,0,0,0,3443,0,0,0,3447,0,3449,0,0,0,0,155648,0,0,0,0,0,0,413,0,0,0,0,0,0,3727,0,0,0,0,0,0,0,0,0,1400832,1400832,1400832,1400832,1400832,1400832,1400832,0,0,68611,526,526,526,526,526,526,526,526,526,526,526,526,3485,3486,526,526,526,3490,526,526,3492,526,526,526,526,526,526,526,526,2692,526,526,526,526,526,526,526,3572,3573,567,567,567,3577,567,567,3579,567,567,567,3583,567,567,567,567,567,567,3625,567,567,567,567,567,567,567,567,567,567,4246,567,567,567,567,567,567,567,567,567,3635,567,567,567,567,567,3639,567,567,0,0,0,0,0,594,594,594,594,594,594,594,594,2854,594,594,594,3657,594,594,3659,594,594,594,3663,594,594,594,594,594,594,594,3386,594,594,594,594,594,594,594,594,2864,594,594,594,594,594,594,594,594,594,594,594,3693,594,594,594,594,594,594,594,594,594,594,594,2895,594,594,594,594,594,3715,594,594,594,594,594,3719,594,594,0,0,0,0,0,0,0,3056,0,0,0,0,0,0,0,0,655,0,0,0,655,0,0,0,3748,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3760,0,0,0,0,526,526,526,2025,526,526,526,526,526,526,526,526,526,526,2093,526,526,526,526,526,526,3804,526,526,526,3807,526,526,526,526,526,526,526,526,526,526,2109,526,2111,2112,2113,526,3845,526,3846,526,526,526,526,3851,567,567,567,3855,567,567,567,567,567,567,2181,567,567,567,2187,2188,567,567,567,567,567,567,1539,567,567,567,567,567,1551,567,567,567,567,567,3872,567,567,567,567,567,567,3878,567,567,567,3881,567,567,567,567,567,2151,567,567,567,567,567,567,567,567,2158,567,594,594,3939,594,594,594,594,594,594,3945,594,594,594,3948,594,594,594,594,594,2860,594,2863,594,594,594,594,594,594,2870,594,0,0,0,4013,0,0,0,4016,0,0,0,0,0,4019,0,0,0,0,0,8602262,0,0,0,0,0,0,0,0,0,0,657,0,0,0,792,0,4022,0,0,526,526,526,526,526,526,526,4028,526,526,526,526,526,526,2053,526,526,526,526,526,526,526,526,526,526,4490,526,526,526,526,567,526,4035,526,526,526,526,526,526,526,526,526,526,526,526,526,526,3137,526,4043,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,3512,526,526,4057,526,4059,526,526,526,526,526,526,526,526,526,526,526,3161,526,526,526,526,567,567,567,4081,567,567,567,567,567,567,4088,567,567,567,567,567,567,567,3905,567,567,567,567,567,567,567,567,2153,567,567,567,567,567,567,567,594,4161,594,594,594,594,594,594,594,594,594,594,594,594,594,594,3666,594,526,526,526,4217,526,526,526,526,4221,526,526,567,567,567,567,567,567,567,4108,567,567,567,567,567,567,567,567,594,594,594,3922,594,594,594,594,567,567,567,567,4230,567,567,567,567,567,567,567,567,567,567,567,2833,2834,567,567,567,567,567,567,567,4242,567,567,567,567,567,567,567,567,567,567,567,3233,567,567,567,567,4251,567,567,567,567,567,567,567,567,567,4254,594,594,594,594,594,594,1737,594,594,594,594,594,594,594,1748,594,594,594,594,594,4261,594,594,594,594,594,594,594,594,594,594,594,2921,594,594,594,594,594,594,594,594,4273,594,594,594,594,594,594,594,594,594,594,594,2937,594,594,594,594,4282,594,594,594,594,594,594,594,594,594,4285,0,0,0,0,0,0,752,0,0,0,0,0,759,0,0,0,567,4568,567,567,567,567,567,567,567,567,567,567,567,567,567,567,3911,567,567,567,4583,594,594,594,4587,594,594,594,594,594,594,594,594,594,2403,594,594,594,594,594,594,526,526,526,526,4610,526,526,526,526,526,526,4616,526,526,526,4619,526,4620,4621,526,567,567,567,567,4624,567,567,567,567,567,567,567,567,4574,567,567,567,567,567,567,4580,4630,567,567,567,4633,4634,567,594,594,594,594,4637,594,594,594,594,594,594,3385,594,594,594,594,594,594,594,594,594,594,3387,594,594,594,594,594,594,594,594,4643,594,594,594,4646,4647,594,0,4649,4650,0,0,526,526,526,526,526,526,526,526,526,3788,526,526,526,526,526,526,3796,526,526,526,3799,526,526,526,526,526,526,2033,526,526,526,2038,526,526,526,526,2043,526,526,526,4655,526,526,4658,526,526,526,526,526,526,567,567,567,567,567,567,982,567,567,567,567,4668,567,567,4671,567,567,567,567,567,594,594,594,594,4680,594,594,594,594,594,4141,594,594,594,594,594,594,594,594,594,594,594,3947,594,594,594,594,594,4683,594,594,594,594,594,0,0,0,0,526,526,526,526,526,526,526,526,526,4730,567,567,594,594,594,594,594,4751,526,526,526,567,567,567,594,594,594,526,526,4772,567,567,4775,594,594,360,0,360,360,155648,0,0,0,0,0,0,0,419,0,0,0,0,0,1334,526,0,0,526,526,526,526,526,526,526,526,526,526,526,526,526,3790,311,0,311,311,500,500,500,500,500,500,500,500,500,467,467,467,500,467,500,467,467,515,467,467,500,467,467,467,467,467,467,467,547,547,547,547,587,587,547,547,587,587,587,615,547,587,587,615,547,547,615,547,547,547,547,547,587,587,615,615,615,615,615,615,615,587,547,547,547,615,2,3,319,0,0,0,0,0,0,0,0,671,0,0,0,0,0,0,0,0,0,0,0,0,732,0,0,0,0,0,740,0,0,0,0,0,0,0,3741,0,0,0,0,0,0,0,0,702,0,0,0,0,0,0,0,526,855,526,526,526,876,526,526,526,526,526,526,526,526,526,526,2582,526,526,526,526,526,526,922,526,526,526,526,526,526,937,526,526,526,526,526,526,526,3105,526,526,526,526,526,526,526,3110,0,594,594,594,594,1065,594,594,594,1086,594,594,594,594,594,594,594,3397,594,594,594,594,594,594,594,594,2363,594,594,594,594,594,594,594,0,0,8724480,740,0,1255,1256,0,0,0,0,0,0,0,1256,0,0,0,0,0,0,0,0,1334,526,845,526,526,526,526,526,2032,2034,526,526,526,526,526,526,2041,526,526,567,567,1536,567,567,567,567,567,567,567,567,567,567,567,567,567,3869,567,567,594,594,1686,594,594,594,594,594,594,594,594,594,594,594,594,594,3936,594,594,1799,0,0,0,1805,0,0,0,0,0,0,0,0,0,0,0,9895936,0,0,0,0,0,1816,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3776,0,0,526,526,2014,526,526,526,526,526,526,526,526,526,526,526,526,526,2682,526,526,567,567,567,567,2179,567,567,567,567,567,567,567,567,567,567,567,3276,567,567,567,567,567,2207,567,567,567,567,567,567,567,567,567,567,567,567,567,567,4250,567,2226,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,4090,567,567,2355,594,594,594,594,594,594,2362,594,594,594,594,594,594,594,594,2383,594,2385,594,594,594,594,594,594,594,594,594,2415,594,594,594,594,594,594,594,594,594,594,594,2962,594,594,594,594,567,2729,567,567,567,567,567,567,567,567,567,567,567,567,567,567,4123,594,594,0,0,3065,0,0,0,0,0,0,0,0,0,0,0,0,0,3998,0,0,0,0,0,68611,526,526,526,526,526,3080,526,526,526,526,526,526,526,4072,526,526,526,567,567,567,567,567,3191,567,567,567,3195,567,567,567,567,3174,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,3533,567,3291,567,567,567,567,0,0,0,0,0,0,0,594,594,594,594,594,594,594,1076,594,594,594,594,594,594,594,2284,594,594,594,594,594,594,594,2292,594,594,594,3301,594,594,594,594,594,594,594,594,594,594,594,594,3323,594,594,594,0,0,3453,0,0,0,0,3458,0,0,0,0,0,0,0,0,1907,0,1909,0,0,0,0,0,0,0,68611,526,526,526,3478,526,526,526,526,526,526,3483,526,526,526,526,526,4415,567,567,567,567,567,567,567,567,567,567,567,3908,567,567,567,567,594,594,594,3644,594,594,594,594,594,594,594,3650,594,594,594,594,594,594,3396,594,594,594,594,594,594,594,594,594,594,4648,0,0,4651,0,526,526,526,526,3834,526,526,526,526,526,526,526,526,526,526,526,526,2584,526,526,526,526,526,526,4201,526,526,526,526,526,526,526,526,526,526,526,526,2626,526,526,526,567,4582,567,594,594,594,594,594,594,594,594,594,594,594,594,594,4145,594,594,567,567,4712,567,594,594,594,594,594,594,594,594,594,594,4722,594,594,594,594,594,4262,594,594,594,594,594,594,594,594,594,594,594,2977,0,0,0,0,391,0,391,391,155648,0,0,0,0,344,0,0,0,0,0,0,0,4544,526,526,526,526,526,526,526,526,2595,526,526,526,526,526,526,526,0,344,0,344,0,0,0,0,0,344,0,0,344,0,0,0,0,0,1334,526,0,67496,526,526,526,526,526,526,526,526,3552,526,526,526,526,526,526,526,526,3798,526,526,526,526,526,526,526,526,3839,526,526,526,526,526,526,526,526,3852,567,567,567,567,567,567,567,567,2235,567,567,567,567,2241,567,567,1301,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4298,0,4300,526,1402,526,526,526,526,526,1411,526,526,526,526,526,526,526,526,3180,526,526,526,526,526,526,526,567,567,567,567,1564,567,567,567,567,567,1574,567,567,567,567,567,567,567,4120,567,567,567,567,567,567,594,594,4714,594,594,594,594,594,594,594,594,594,594,4364,594,594,594,594,594,594,594,594,594,1714,594,594,594,594,594,1724,594,594,594,594,594,594,2301,594,594,594,594,594,594,594,594,594,594,2305,594,594,594,594,594,0,1915,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147456,139264,0,526,526,526,2015,526,526,526,526,526,526,526,526,526,526,526,526,2655,526,526,526,2375,594,594,594,594,594,594,594,594,594,594,594,594,594,594,594,4270,567,567,567,567,567,4243,567,567,567,567,567,567,567,567,567,567,2220,567,567,567,567,567,594,594,594,594,594,4274,594,594,594,594,594,594,594,594,594,594,594,4451,4452,594,594,594,314,0,0,0,0,0,0,0,375,0,0,0,0,147456,139264,0,0,0,0,155648,0,0,0,0,0,0,414,0,0,0,0,0,0,1417216,0,0,0,0,0,0,0,0,0,720,720,0,0,0,0,0,0,0,0,0,155648,0,403,403,404,0,403,0,375,403,403,403,404,403,404,404,403,404,404,404,0,437,437,437,437,437,0,437,470,437,437,437,478,478,483,478,478,486,486,486,486,486,486,492,493,483,486,486,483,483,483,483,483,483,483,483,483,483,483,483,437,483,483,549,549,549,549,589,589,549,549,589,483,483,437,483,483,437,437,437,483,483,437,437,437,483,483,483,589,589,617,549,589,589,617,549,549,617,549,549,549,549,549,589,589,617,617,617,617,617,617,617,589,549,549,549,617,2,3,916,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,3546,526,526,526,952,526,526,567,567,567,567,567,567,567,567,567,567,2255,567,567,567,567,567,594,594,594,594,1127,594,594,594,594,594,594,740,0,526,526,0,0,0,0,155648,0,0,0,0,0,0,1499136,0,0,0,0,0,0,0,0,0,0,0,0,0,382,382,0,526,916,526,526,526,526,526,526,526,526,526,526,526,526,526,3173,3187,526,567,567,567,567,567,567,567,567,567,567,567,567,567,567,4249,567,567,567,567,3280,567,567,567,567,567,567,567,567,567,567,567,567,567,4437,567,567,3290,567,567,567,567,567,0,0,0,0,0,0,0,594,594,594,594,594,594,594,1078,594,594,594,594,594,594,594,2348,594,594,594,594,594,594,594,594,2332,594,594,594,594,594,594,594,590,590,618,566,590,590,618,566,566,618,566,566,566,550,566,590,590,618,618,618,618,618,618,618,590,566,550,566,618,2,3,319,0,0,0,0,667,0,0,0,0,0,0,0,0,0,0,9895936,0,788,0,0,0,1281,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,287097,0,287097,567,567,1582,567,567,567,567,567,567,567,567,567,567,567,567,567,4508,567,567,594,594,1732,594,594,594,594,594,594,594,594,594,594,594,594,594,4157,594,594,0,1801,0,0,0,0,0,0,0,0,0,0,0,0,0,0,385645,0,0,0,0,0,2559,0,0,0,67496,526,526,526,526,526,526,526,526,3528,526,526,526,526,526,526,526,526,526,526,526,3089,526,526,526,526,526,526,526,526,526,526,526,3531,526,526,526,526,567,567,567,3202,567,567,567,567,567,567,567,567,567,567,567,567,3909,567,567,567,526,856,526,526,526,526,526,526,526,526,526,526,526,526,526,526,3162,526,526,923,526,526,526,526,526,526,526,526,526,526,526,526,526,526,3185,526,0,594,594,594,594,1066,594,594,594,594,594,594,594,594,594,594,1722,594,594,594,594,594,567,1503,567,567,567,567,567,567,567,567,567,567,567,567,567,567,245760,3295,0,594,1653,594,594,594,594,594,594,594,594,594,594,594,594,594,594,3680,594,1832,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1384448,0,0,1384448,1384448,1384448,567,567,2208,567,567,567,567,567,567,567,567,567,567,567,567,567,4098,567,4100,567,594,594,594,2297,594,594,594,594,594,594,594,594,594,594,594,594,3362,594,594,594,0,2436,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1531904,1532358,1531904,2742,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,4111,567,4113,567,2756,567,567,567,567,567,567,567,567,567,567,567,567,567,567,567,4237,567,567,567,526,526,3175,526,526,526,526,526,526,526,526,526,526,526,526,526,2697,526,526,567,567,567,567,3292,567,0,0,0,0,0,0,0,594,594,594,594,594,594,594,1079,594,594,594,594,594,594,594,2400,594,2404,594,594,594,594,594,594,594,3351,594,594,594,594,594,594,594,594,594,594,594,594,594,594,3688,594,3426,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1565116,1565116,1565116,526,526,526,3501,526,526,526,526,526,526,526,526,526,526,526,526,3134,526,526,526,567,3586,567,567,567,3589,567,567,567,567,567,567,567,567,567,567,2273,0,83565,594,0,67496,594,594,3669,594,594,594,594,594,594,594,594,594,594,594,594,594,4280,594,594,0,0,3750,0,0,0,0,0,0,0,0,0,0,0,0,0,1589248,0,0,0,0,3763,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2473984,0,2474301,0,0,526,526,526,526,526,3784,526,526,526,526,526,526,526,526,3540,526,526,3543,526,526,526,526,526,526,526,3806,526,526,526,526,526,526,526,526,526,526,526,526,3150,526,526,526,591,591,619,551,591,591,619,551,551,619,551,551,551,551,551,591,591,619,619,619,619,619,619,619,591,551,551,551,619,2,3,2012,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,3803,567,567,2177,567,567,567,567,567,567,567,567,567,567,567,567,567,4248,567,567,567,0,2,3,172036,0,6,7,0,0,0,0,0,0,0,0,2473984,0,0,0,0,2473984,0,0,0,0,319,0,0,0,0,0,0,2473984,2473984,0,0,0,0,0,0,0,526,526,4193,526,526,4195,526,526,526,0,2473984,0,0,2473984,0,0,0,0,0,0,0,0,0,0,0,10731520,0,0,0,0,2499,0,2473984,0,0,0,2473984,0,0,0,2473984,0,0,2473984,2474368,2474368,0,0,0,0,155648,0,0,0,0,290,0,0,0,0,0,0,0,0,147456,139264,0,0,0,0,0,2474368,0,0,0,0,0,0,0,0,0,0,0,10731520,0,0,0,0,2500,0,2473984,0,2473984,0,0,0,2473984,0,2473984,0,0,0,0,2473984,0,0,0,0,0,2473984,0,2473984,0,0,2473984,2473984,0,0,2473984,0,2473984,2473984,0,2473984,0,0,0,0,0,0,0,0,2473984,0,0,0,0,0,0,0,2473984,2473984,2473984,2473984,2473984,2473984,2473984,2473984,2473984,2473984,2473984,2473984,2,3,172036,0,0,6,7,16982016,0,0,0,0,0,0,0,0,287,288,0,8462336,8462336,8463391,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,10633216,8462336,8462336,9895936,3,0,16982016,0,0,0,0,0,0,0,0,10043392,10059776,8847360,0,0,0,0,155648,0,0,0,0,301,0,411,0,0,0,0,0,0,2520,0,0,0,0,0,0,0,0,0,1605632,1605632,1605632,1605632,1605632,0,1605632,2482176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8462336,8462336,8462336,8462336,8462336,0,0,468,468,0,0,468,0,0,0,0,0,0,0,0,0,9732096,9732096,0,0,0,0,1318912,0,468,0,0,2482644,2482644,2482644,2482644,2482644,2482644,2482644,2482644,2482644,2482644,2482644,2482644,2482644,2482644,2482644,2482644,2482644,2482644,2482644,2482644,2482644,2482644,2482644,0,0,0,0,0,0,0,0,0,9732096,9732096,0,0,0,40960,0,0,0,0,2490368,0,0,0,0,0,0,0,0,0,0,0,0,10731520,0,0,0,0,12894208,0,2498560,0,0,385,0,0,0,0,2498560,0,0,0,0,0,0,0,67496,526,526,526,526,526,526,2570,526,2498560,2498560,2498560,2498560,2498560,2498560,2498560,2498560,2498560,2498560,2498560,2498560,2498560,2498560,2498560,2498560,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8462336,8462336,8463181,1327104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9322496,0,0,0,2506752,0,0,2506752,2506752,2506752,2506752,2506752,2506752,2506752,2506752,2506752,2506752,2506752,2506752,2506752,2506752,2506752,2506752,2506752,2506752,2506752,2506752,2506752,2506752,2506752,0,0,0,0,0,0,0,0,0,9732096,9732096,0,0,727,0,0,0,2514944,0,0,2514944,2514944,2514944,2514944,2514944,2514944,2514944,2514944,2514944,2514944,2514944,2514944,2514944,2514944,2514944,2514944,2514944,2514944,2514944,2514944,2514944,2514944,2514944,0,0,0,0,0,0,0,0,0,10477568,0,0,0,0,0,0,1335296,1335296,1335296,1335296,1335296,1335296,1335296,1335296,1335296,1335296,1335296,1335296,1335296,1335296,1335296,1335296,0,0,0,0,0,0,0,0,0,1949,0,0,0,0,0,0,0,0,0,0,10231808,0,10313728,10330112,10379264,10412032,10428416,10469376,0,0,0,0,0,0,784,0,0,0,0,0,0,805,0,0,8462336,8462336,8462336,9322496,8462336,8462336,8462336,8462336,8462336,8462336,8462336,16834560,0,16834560,958,958,958,958,9674752,958,10829824,958,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,344064,0,8462336,8462336,0,10330112,958,9166848,958,9175040,10379264,958,958,958,958,10412032,958,10428416,958,958,958,958,958,10141696,958,958,958,958,958,958,958,8962048,958,958,10502144,958,958,958,958,958,958,958,958,958,958,958,958,958,958,958,0,9224192,8462336,8462336,10485760,8462336,8462336,8462336,8462336,9592832,10731520,8462336,958,958,958,958,958,958,9625600,958,958,958,958,958,958,958,958,958,958,958,10280960,958,958,958,958,9248768,958,958,958,958,958,958,958,9297920,958,10477568,958,958,10485760,958,10518528,9568256,958,958,9592832,9601024,958,958,958,958,958,9617408,958,10731520,958,958,958,958,9199616,958,9338880,958,958,958,958,958,958,958,958,958,958,8462336,8904704,8462336,8462336,8462336,8462336,8462336,9691136,10010624,958,958,8814592,958,958,958,958,958,958,10108928,8855552,958,958,958,9478144,958,958,958,958,958,10649600,958,958,958,958,958,958,958,10174464,958,958,958,9084928,958,9117696,958,958,958,10207232,958,958,958,9027584,958,958,958,958,9052160,958,9060352,9068544,958,958,958,9502720,8806400,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,9502720,8806400,958,958,958,958,958,958,958,10297344,9125888,958,9142272,958,10321920,958,958,958,958,958,958,958,958,958,9232384,958,9256960,958,958,958,958,958,958,958,958,958,10493952,958,958,10534912,958,958,958,10231808,958,958,958,958,958,9076736,958,958,958,958,10313728,958,958,958,10338304,958,958,958,958,958,958,10371072,958,958,9224192,958,958,958,958,10084352,10092544,958,958,958,958,958,958,958,8896512,958,958,958,8462336,8462336,8462336,8462336,8462336,8462336,8978432,8462336,8462336,8462336,8462336,10272768,8462336,8462336,8462336,8462336,8462336,8462336,8978432,8462336,8462336,8462336,8462336,958,958,10715136,958,958,10739712,958,958,958,10764288,958,10772480,958,958,958,10797056,10805248,958,958,958,10616832,958,958,958,9519104,958,958,9543680,958,9551872,958,958,958,958,8978432,958,958,958,958,10272768,958,958,958,958,958,958,958,10788864,958,958,958,958,10821632,10838016,958,958,958,958,10846208,9691136,958,958,0,0,0,0,0,0,0,10010624,8462336,8462336,8462336,8462336,8462336,10371072,8462336,8462336,8462336,8462336,9248768,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8757248,956,10018816,956,10027008,10035200,956,9494528,9584640,8462336,958,958,958,958,958,10067968,958,958,10117120,958,958,958,958,958,958,10543104,958,958,958,958,958,9404416,958,958,958,9019392,958,10248192,958,958,958,958,958,958,958,958,10346496,958,958,958,9207808,958,10608640,958,958,9494528,958,958,958,10657792,958,10674176,9584640,958,958,958,958,958,8937472,10166272,8953856,958,958,958,958,958,958,958,9289728,958,10747904,958,958,958,958,958,10780672,958,10813440,958,10854400,958,0,0,0,0,0,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,10084352,8462336,8863744,8462336,8986624,8462336,8462336,8462336,8462336,958,958,958,958,958,958,958,958,958,958,10199040,958,958,958,9011200,958,8863744,958,958,8880128,8888320,958,958,10149888,10158080,958,958,958,958,958,8986624,958,958,9216e3,10387456,958,9265152,958,10436608,958,10452992,10461184,958,958,958,10510336,9355264,958,1024e4,958,958,10256384,958,10264576,958,958,958,958,958,9191424,958,958,958,958,9379840,958,958,958,10567680,958,958,958,958,9461760,958,9469952,9666560,8462336,8462336,9134080,8462336,8970240,8462336,8462336,8462336,8462336,8462336,8790016,8798208,958,958,8830976,958,10100736,958,958,10133504,958,958,958,958,958,958,10182656,8970240,958,9003008,958,958,9527296,10641408,9609216,10706944,958,9641984,9650176,9682944,958,8462336,10051584,8822784,8462336,10125312,9043968,958,958,958,9134080,9150464,958,9183232,958,10354688,958,9240576,958,958,958,958,958,10076160,958,958,958,958,958,958,958,958,958,958,958,0,0,8757248,0,0,958,9363456,958,958,958,958,10575872,958,9445376,10592256,958,958,958,958,958,958,958,10190848,958,958,958,958,958,10215424,958,958,958,9535488,9560064,958,958,10723328,958,958,10756096,958,9658368,9666560,958,958,8790016,8798208,9641984,9650176,9682944,8462336,8822784,8462336,9306112,8462336,8462336,8462336,8462336,958,10051584,8822784,958,10125312,10362880,9273344,958,9306112,958,958,10551296,9371648,958,9396224,958,9412608,958,958,958,10625024,8462336,10559488,8462336,8462336,8462336,8462336,8462336,8462336,9699328,8462336,8462336,8462336,8462336,8462336,9633792,958,958,10403840,958,10420224,958,958,9281536,958,958,10444800,958,958,958,958,958,958,8929280,958,958,958,958,958,958,958,958,10223616,958,9330688,958,10559488,958,958,958,958,958,958,958,958,9633792,9699328,8462336,8462336,8462336,8462336,8462336,10371072,8462336,8462336,9224192,8462336,8462336,9248768,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,9199616,9338880,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,0,0,0,0,0,0,0,0,0,0,0,0,10084352,0,0,958,8871936,958,958,958,958,958,958,958,958,958,958,958,958,958,958,958,958,10395648,958,10584064,958,958,958,958,9510912,8462336,8839168,8462336,8912896,8462336,8462336,8994816,8462336,8462336,8462336,8462336,8937472,10166272,8953856,8462336,8462336,8462336,8462336,8462336,8462336,8462336,9289728,8462336,8904704,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,958,8904704,958,958,10469376,9322496,958,9347072,958,958,10526720,958,958,958,958,958,958,958,958,958,958,10289152,958,958,958,10305536,958,8921088,0,0,9388032,8921088,8462336,8462336,9093120,9101312,8462336,9388032,9420800,9428992,8462336,8921088,958,958,10633216,958,958,958,958,10665984,958,958,9576448,958,958,10682368,10698752,958,958,958,10600448,9486336,958,958,8462336,8462336,8871936,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,10690560,8462336,8462336,8462336,8462336,8462336,8462336,8462336,8462336,958,9093120,9101312,958,9388032,9420800,9428992,958,8921088,8462336,8462336,9093120,9101312,8462336,9388032,9420800,9428992,8462336,9035776,9158656,8945664,9035776,8462336,9158656,8462336,8462336,8945664,9035776,958,9158656,958,958,958,10043392,10059776,958,958,958,958,8847360,958,958,958,958,958,958,958,958,958,958,10690560,958,958,958,958,958,8945664,9035776,8462336,9158656,8462336,8462336,8462336,8462336,8462336,958,958,958,8462336,8462336,8462336,8462336,8462336,8462336,958,958,958,8462336,8462336,8462336,8462336,8462336,9453568,958,958,9453568,8462336,8462336,9453568,8462336,8462336,958,958,8462336,8462336,9109504,9437184,9109504,9437184,9109504,9437184,0,0,0,0]),Q(h,"EXPECTED",[1499,1515,1503,1505,1509,1512,1514,1519,1523,3469,1527,1528,1532,2892,2892,2892,1808,1810,1537,1540,2342,2892,1544,2892,2892,2892,1720,1555,1555,1566,1656,1656,1813,1593,1593,1561,1549,2892,1729,2892,2892,1791,1555,1555,1555,1555,1577,1656,1656,1656,1656,1639,1593,1593,1593,1593,1548,2892,4147,2892,2892,1554,1555,1555,1555,1555,1568,1656,1656,1656,1656,1560,1593,1593,1593,1594,2892,2892,2892,3293,1565,1555,1555,1555,1636,1656,1656,1656,1572,1593,1593,1593,1593,1600,2892,2892,1576,1555,1555,1567,1656,1656,1581,1593,1593,1593,1643,2892,3742,1555,1555,1655,1656,1585,1593,1593,1610,2892,3714,1555,1568,1656,1591,1593,1598,1781,1555,1568,1605,1593,1615,1556,1657,1619,3713,1812,1641,1623,1627,1633,1811,1608,1722,1629,1649,1653,1661,1587,1665,1669,1673,1677,1689,1689,1681,1688,1684,1693,1697,1701,2892,1845,1705,1712,2892,2149,2254,1717,1726,1733,2892,2892,1737,4145,1741,2892,1747,2892,2892,1754,1758,2892,1601,1758,2892,3490,1832,2892,1764,1768,1774,4040,1779,2892,2892,2892,1785,1789,2892,2892,2892,1993,2023,2892,2892,2892,1831,2892,2791,3078,2892,1795,2892,2892,2892,1861,2096,2892,2892,2892,2892,1799,2892,2892,2892,2048,2892,3565,3078,2892,1817,2892,2892,2892,1824,3859,2892,2892,1611,1828,2892,2892,3591,2892,1837,1843,1849,2892,2892,1855,2892,2892,1877,1859,2892,2892,1865,1870,2164,2892,3963,1874,2892,1878,1876,2892,2042,3436,1882,2892,1888,2892,2202,2892,3972,3759,2892,1895,1884,2892,1901,1742,3615,4118,1905,1911,2780,1915,1743,1919,2248,1926,1907,1930,2090,2251,1934,2892,2892,2892,2892,1939,1944,2107,1948,1955,2534,1960,1969,1974,1978,1982,1987,1997,2892,2409,3783,2002,2009,2018,2398,3581,3527,2245,3337,1866,2428,2022,1713,2028,2033,2892,2892,2033,2892,2892,2037,2212,2041,2275,3337,2892,3411,2046,2892,3307,2052,2382,2057,2892,2892,3213,2063,2047,2892,2892,2935,2067,2073,2079,2892,3691,2087,2892,2892,3776,3030,2100,2892,2892,2892,3706,2104,2892,2892,3393,2531,2846,2111,2892,3031,2115,2892,1935,2121,2132,2892,2892,2892,2324,2136,2892,3279,2142,2314,2082,2153,2137,2892,2157,2161,2892,2892,2168,2892,2892,2172,2178,3320,2182,3308,2123,2127,4069,2125,2892,2188,2192,2199,1940,2466,2892,4085,2211,3610,2216,2220,2961,2959,2963,4058,2224,2228,2232,2376,2238,2242,2260,2264,2234,2379,2268,2272,2287,2291,2295,2299,2303,2307,2311,2892,2321,3171,2463,2328,2892,3338,3386,3392,2332,2337,2964,2435,2346,2892,2892,2798,2351,3886,4045,1770,2355,2965,2525,2892,2892,2892,2361,3600,2365,2029,2373,2892,2029,2373,2892,2386,2390,2965,2603,2892,2892,2892,3235,2396,4152,2402,2892,2610,2407,2892,2892,2892,2413,2417,2892,2624,2422,1851,2432,2892,2892,2059,2442,2892,3330,2892,2053,2449,2892,2892,2892,2117,2453,2892,2893,2460,2965,2470,2892,2892,2760,2479,1998,2892,2083,2484,2892,2892,2892,2488,2513,2893,2492,2498,2892,1775,2502,2892,2506,2555,2512,2892,2138,2518,2892,2522,2538,2892,2545,3347,3609,3478,2892,3476,3480,2549,2553,2561,2480,2128,2559,1833,2565,2571,1956,2575,2367,2892,2369,2579,2585,2591,2597,3232,3774,2607,2631,2614,1983,2618,2628,2637,2644,2823,2648,2652,2656,2660,2664,2892,2670,2675,2679,2683,2892,2766,2687,2892,2691,2695,2699,2703,2892,2892,2892,2621,2707,2593,3352,2711,2715,1802,1708,2892,2892,2892,2333,2719,2726,2892,2317,2735,2892,2317,2735,2741,2745,1805,2749,2892,2892,2892,2892,2753,2757,2764,2892,2892,3867,2770,2892,2892,2892,2774,2778,2909,2784,2788,2795,2892,2892,2892,4158,2802,2809,2892,2892,2418,2813,2817,2892,2892,3214,2827,2831,3400,2837,2843,2892,2892,2892,2850,2854,2858,2892,3084,2863,2867,2892,2892,2872,2805,2876,2880,2892,2892,2671,2884,2891,2892,3254,2897,2892,3084,2903,2916,2920,2892,3063,2932,2892,3554,3558,3609,3556,2939,2206,4069,2943,2892,1820,2892,3192,2947,2892,2005,2514,3122,3120,2951,2957,2969,2975,2899,2281,2981,3242,2994,1550,3124,2998,3003,3010,3251,3014,2278,3024,3021,1891,3028,2445,3035,3041,3045,3049,3053,3057,3318,2892,2892,3061,2892,3067,2892,2014,2892,2892,3205,3077,2892,2068,2892,2999,3082,3460,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,3850,3088,3429,3097,3101,3105,3109,3113,3117,3128,2195,3933,3221,3137,3141,3145,3149,2093,3152,2456,3156,3608,3162,2923,3802,3166,3175,3179,2892,3700,3185,2892,2892,3185,2892,2892,3189,3608,2541,2473,3911,3922,3196,3212,2892,2892,2892,3200,3204,2892,2892,3826,3209,2892,2892,2892,4075,3889,3218,2012,3225,3948,3229,2892,2892,2892,2256,3239,2892,2892,2892,3995,3248,2892,2892,2892,4092,3260,3258,3284,2984,3264,2892,2892,2403,3270,2892,2892,2892,3274,3278,2892,2892,3698,2528,3283,3288,3292,2892,3839,3297,2892,2892,3006,3306,2892,3266,3312,3324,3328,2892,2144,2148,2892,2146,2892,2892,3334,3342,2892,3840,3346,2024,3351,2892,3356,3360,2424,2892,2426,2207,2926,2926,2340,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,3606,1830,3368,3372,3376,3380,3384,3390,2392,3397,2906,3496,3404,3408,3415,3419,3426,3422,3433,2438,3440,3444,4130,3450,3454,3458,3464,3468,3836,3181,3473,2892,3181,3473,2892,3627,3484,3488,3494,3500,3070,2892,3504,3509,2892,4178,2892,2887,2987,2892,2892,2859,3505,3515,2892,2194,3522,3526,3531,3535,2892,2666,3539,2892,2892,3838,2971,3543,2023,2892,2892,2666,3547,2892,2892,2494,3551,3563,3518,2892,3131,3569,2892,2892,2868,3133,2892,2892,2892,3575,3590,2892,4113,3579,3517,2892,3585,2892,2892,2283,3589,2892,2892,3595,2892,2069,3599,3604,3786,2892,2892,3787,2892,3785,3614,2892,2347,3093,3619,2892,3625,2892,3091,2892,2928,3169,2892,2730,2728,2892,3631,2737,2205,2990,3362,2737,2977,2205,3632,3364,3633,2892,2892,2892,2892,2892,2892,2892,2892,2892,2581,3637,3641,3645,3649,3653,3657,1963,2633,3661,3665,3721,3671,3678,3682,3686,3695,3689,3704,3073,3710,3718,3728,3732,3736,3740,2892,3746,2184,2892,2174,3750,2892,2174,3750,1922,3756,3763,2640,3767,3771,2892,2892,2912,3780,3667,2892,2892,3724,3791,2892,2892,2892,3795,3799,2567,3806,3810,3814,3821,3825,2892,2475,3830,3834,4176,2892,1970,3844,3848,2892,2892,4165,3854,3858,3864,3871,3875,3879,2892,2892,4106,3883,2892,2892,4123,3895,3899,2892,2892,3904,3908,3915,3919,3817,2892,3860,3926,2892,2892,1750,3930,2892,3900,3937,2722,3941,3945,2507,3953,2892,2508,3954,2892,3952,2075,3958,3962,3967,2892,3571,3971,1897,3976,4010,3446,2892,4134,4132,3980,2839,2833,2587,3984,3559,3244,3988,2820,3992,3999,3511,4004,4003,2892,2892,2892,2892,2892,2892,4008,1760,4014,4018,4022,4026,4030,4034,4038,1965,2357,4044,3300,3302,4099,4049,1533,4055,4062,4068,4073,4079,2892,4083,2892,4089,4044,2892,4183,4164,2892,2892,4096,2892,2892,4096,3315,4103,2892,2600,4196,4110,2892,2892,2892,3891,4164,2892,2892,2892,3158,4117,2892,2892,2892,3674,3752,3037,2892,4122,1645,2892,2892,2892,2892,4127,2892,2892,2892,2892,4138,2892,2892,2892,2892,4142,3017,4151,4156,1951,2892,2892,2892,4064,2892,2892,2892,2892,4162,2892,2892,2892,4169,4173,2892,1839,2892,2892,2731,4182,2892,2892,4051,2892,2892,3620,4187,2892,1990,2892,3621,2892,2892,4189,2892,4157,4191,2892,2892,2953,2892,2892,4195,2892,4151,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,2892,1528,4200,6215,6487,4204,4213,4219,4214,4214,4207,4214,4224,4228,4232,4214,4209,4214,4214,4214,4214,4220,4215,4236,4240,4244,4248,4252,7524,5865,4256,6215,6215,6215,4265,5893,6215,6215,6215,4379,4360,7441,4272,4374,4326,4281,4277,6215,7225,4287,4314,4330,4276,6215,6215,6215,4530,6346,7436,7436,7436,7436,7437,4334,4374,4374,4374,4303,4344,7436,7436,7436,7439,4360,4360,4360,4360,4351,4323,4355,7436,7436,7436,7440,4360,4360,4360,7442,4360,4360,4360,4374,4383,4359,4360,4371,4374,4374,4374,4374,4274,4374,4374,4378,6215,6215,6215,4562,4360,4360,4360,4389,4374,4374,6215,6215,6215,4563,4374,4377,6215,4557,4374,4374,4374,4376,7433,7436,7436,7437,4360,4360,4361,4374,4374,4394,4374,4375,6215,7436,7436,4359,4360,4320,4374,4374,4374,4365,6215,6215,4378,6856,7436,7438,4360,4373,4375,6268,7436,4360,4360,4360,4360,4371,4372,4374,7434,4357,4337,4295,4388,4294,4387,4339,4340,4393,6065,4399,4454,4408,7661,4409,4409,4413,7665,4420,4424,4409,4416,7664,4409,7658,4409,4409,4409,4409,4428,4432,4434,4438,4441,4445,4283,7751,6906,6215,6215,4451,4464,6215,4470,6215,4257,6215,5755,7391,6215,6215,6215,4676,4486,7068,4490,6215,4291,7436,7436,4358,4360,6215,7722,4492,6215,4307,4311,4314,7056,4498,4518,6905,6543,6215,4602,4523,4527,6215,6215,6215,4707,6215,4996,4534,4552,6215,4315,7560,6088,5320,6215,6215,4544,4551,4556,6215,6215,4529,7615,6544,7478,6215,4576,5994,7723,6215,6215,4557,5346,4580,6215,6215,6215,4743,6668,4639,6215,6215,4557,7436,4586,6215,4997,4596,4759,4601,6215,6215,4558,4356,6955,7185,4622,7068,7536,4758,4637,6215,4316,4673,6215,4316,5685,6215,4395,7436,7436,4357,4360,4360,4360,4299,4611,5819,4650,6215,4457,4510,6039,5106,6954,7538,5084,4656,4649,6215,6215,4568,6215,6215,6215,4711,5985,7634,6215,6215,4604,5167,6246,6215,6215,6954,6215,7068,4612,4701,6215,6215,4675,6215,5506,6954,4654,7259,7186,4702,6215,6215,4677,5509,5435,6215,6215,6215,4835,5986,6481,6215,6245,4854,4668,4703,6215,6215,6215,4854,4668,4688,4710,6215,6215,4684,7136,6542,4847,6528,6215,4473,6409,6587,6674,7136,6215,6215,4719,7596,6215,7480,7385,4707,6247,4709,6215,6215,4725,6215,6847,6215,6215,6846,6847,6215,6215,4707,6215,7480,4723,6215,4476,7514,6545,4731,6215,7066,6618,4729,6215,6215,7340,5684,6215,6215,6215,4990,6140,6215,6215,6215,5100,6215,6975,6035,4748,4778,4788,4800,6215,4603,5165,7751,6764,6215,6215,6215,5116,4819,4820,5719,4820,6734,6215,6215,7249,6215,5720,6215,6215,6215,5210,5567,6215,6215,6593,4992,6953,6215,5139,5681,6366,6215,6215,7362,5512,4519,5032,6215,4605,6215,6215,4609,4597,4760,6762,6215,6215,6215,5256,4825,6215,6061,6215,4618,5786,7141,6215,6832,6063,6215,4674,6215,6215,6258,6215,4929,6215,6215,5566,4859,4602,6215,6215,6215,4768,5382,6215,6215,6215,5368,5464,4870,4874,4878,4794,6215,5154,4883,4258,6215,6215,6543,4681,5779,4851,6215,6215,6215,5436,6027,6215,6215,6215,5446,5778,4850,6215,6215,4744,7401,4891,4896,4976,4900,4994,6215,6215,6215,5514,6215,5684,5667,6215,6545,4557,7347,4911,5033,6215,4539,6215,6215,6215,5537,4974,4924,4933,6215,4741,7313,6215,4540,6395,6215,4564,5083,4630,4940,5454,4944,4851,4950,4924,4956,6215,4764,7009,4772,4968,7070,6215,4539,4977,4981,6215,6215,4744,7491,6043,6215,6215,7414,4267,5078,5114,6215,6215,6215,5593,5001,7404,4977,5007,5023,4852,6215,6215,6215,5536,6594,6534,6215,6215,4767,6639,4513,6215,6215,6215,6545,6215,7416,5074,5046,4691,6215,6215,5038,4268,5045,5114,6215,4853,4662,7261,6215,7417,5019,5050,6909,5059,6215,6215,4803,7306,6252,5066,4475,4538,5078,6579,6215,6215,4862,5175,5131,6215,6215,6572,4474,5082,6215,6215,4936,6215,6215,7820,5088,5094,6215,4855,4664,6215,4476,6215,6215,6215,6234,4935,6215,6215,6215,5683,5713,6215,5067,5121,4852,6215,6215,6449,5143,6215,4683,5068,5151,6215,6215,5159,5143,6215,6215,5163,7300,5174,5181,5174,6215,5180,5173,6215,5030,6215,4912,4829,6215,4724,6215,4684,6215,5682,6215,4482,6215,6215,4478,6557,5185,5189,4964,6504,5188,6215,6504,5188,5193,6215,5031,7300,5222,6215,7302,6215,4969,5034,6215,4733,6216,6215,4737,6215,6215,6217,5863,5185,5202,6572,5220,6252,5221,6499,5209,5214,5202,5220,5218,5222,5226,6503,6502,6501,5230,5234,5235,5579,5580,5581,5579,6801,6802,6916,6215,5029,4472,6215,4831,5775,5783,6790,6215,5239,6215,5039,5018,5454,5290,7569,5255,6969,7159,6215,6215,6215,5761,5801,7467,6260,6215,5082,6215,6215,6600,6215,5289,6215,6215,6215,5842,5301,6215,5309,5313,5319,5324,6215,6215,4984,6215,5607,5340,5355,5364,6493,5411,6215,6215,5117,5640,6215,4684,5372,5376,5504,6215,5172,6215,4683,6505,5189,6252,4890,4895,4975,4402,6215,4557,7465,7469,6917,6215,6215,5138,6215,5831,5410,6215,6215,5154,7774,6476,6215,6215,6215,5843,5402,5408,6215,6215,5168,6215,5393,5398,6513,5403,5409,6215,6215,6215,5860,5422,7178,6215,6215,5315,6688,6215,6215,5343,4844,5205,5433,6535,6215,5203,5274,6215,5137,6215,5436,5795,5441,5501,6215,5242,4347,6126,5792,7651,5442,5502,5452,5458,5494,5411,6215,5418,4472,6215,7463,5468,6261,6215,4446,6215,5067,5388,5112,5473,5331,6535,6215,5290,6215,6215,6252,7411,5500,5504,6215,6215,6632,5489,5907,5493,7527,4743,5532,5485,5498,4570,5469,6215,6215,5437,6215,4673,5204,5856,6535,5520,5972,5429,5503,5526,6215,6215,6215,5922,7494,5428,5502,6215,6215,6215,5895,4806,5907,7540,7527,5241,4572,5324,6215,5329,5335,5635,6829,6467,6215,5155,6534,6215,4813,4814,5527,5203,5855,6215,7452,5757,6215,6467,6252,5541,5552,7527,5563,6917,6215,5571,6996,7451,6215,6215,5531,5523,5598,5605,6215,6215,5594,5585,5559,5612,6215,6215,5668,6416,5616,5624,6918,5632,5639,5504,6215,6632,5644,5509,6215,6215,5669,7224,7641,5650,6215,6215,5705,6215,5103,5649,6215,6215,5742,5746,7256,5654,5660,6215,5349,6215,6215,5380,5434,5635,6382,5680,4259,6215,5392,5397,6512,7361,6215,6215,7361,6215,6954,7644,6215,5412,5730,6215,5416,6215,6908,5265,5680,5509,6366,7358,6215,6215,5885,6215,5196,6215,7360,6215,5507,6215,5336,5264,5673,5667,5662,5176,5680,5662,6366,5664,5176,5680,5679,5678,7066,7067,4838,4839,4840,4838,4839,6013,6013,6215,6215,5965,6965,5681,6215,6215,6215,5948,6215,7633,7220,5693,7215,4996,6215,5697,5702,4774,6215,5712,4820,7119,4820,7120,6676,6215,6215,6533,6781,6979,5724,6830,4591,6215,4316,4674,6215,7479,4259,5325,5734,6215,6997,5744,6215,7624,6215,5304,5750,6468,4471,4592,7398,5765,7488,6215,5510,6215,7567,6998,5769,6215,6215,5984,6215,6215,6215,6853,5875,4602,6215,6215,5994,6215,6677,7624,6215,6977,6981,7722,6215,5805,6215,7481,6215,5993,7414,5949,5810,5798,5817,5836,5145,6215,5537,5483,5973,5548,4742,6215,6215,6044,5717,5830,6624,7026,4879,6442,5826,5813,5404,5835,7027,7068,6215,4626,4715,5305,5751,7723,7814,4852,5840,5687,6215,5545,7068,4616,7480,5509,5892,6215,5608,5295,6987,7332,5849,4536,4946,7027,7068,7624,4886,7068,5547,5769,5869,7333,5889,5285,5899,7027,7068,6215,5655,7622,6215,5663,5176,5674,5904,4952,5935,4945,4885,5940,6215,6215,6078,6233,5351,4367,6215,6215,6079,6215,7066,5667,5892,6215,5684,5509,5511,7414,6338,5911,7461,5917,7025,7480,5547,5921,6215,6215,6215,5963,5926,5933,6932,5900,5939,6215,6215,6215,5964,5860,5944,5913,7611,4404,6001,6107,5806,6215,7479,5667,5892,5953,5852,5589,5546,5515,5013,6946,5961,6215,6215,6215,6215,4402,4658,5096,6215,6215,6083,6215,5977,5990,5588,4602,6738,5507,6215,5684,7633,6215,5537,7368,7374,7626,6e3,5351,5436,7478,5666,4477,6215,5685,5108,6215,5713,6215,6215,6547,6215,6005,5025,4582,6215,5738,6215,4905,6017,6024,6907,5147,6020,6006,6887,7141,7778,6058,7479,4260,7479,5892,6215,6215,6215,7818,4476,7139,6215,6215,6215,7821,5125,6215,6215,6215,5686,6215,6216,6051,6215,6215,6217,5010,5894,6075,4476,6215,4477,6215,4736,7413,5993,6215,5771,6784,5283,5626,5940,6215,5842,6215,5993,4791,6215,6215,4791,4529,6215,6215,6215,6235,6084,6215,7454,6215,5845,6638,6553,6216,7413,6215,4633,7453,6215,6100,7453,6996,6215,7631,6113,6114,6112,6106,4735,4733,6112,6118,6122,6215,6215,6252,5040,4973,6130,6215,6215,4315,6215,6851,6137,5996,6144,6152,6161,7343,7605,6165,6171,6167,6175,6178,6182,6191,6185,6195,6202,6206,6210,6214,7753,6239,6215,6215,6252,5448,4986,6592,6251,6215,5872,6938,6215,5884,7216,6545,7752,6215,6215,6215,6246,6215,6907,6215,6215,6252,5789,6215,6869,5980,6215,5893,7241,6215,6215,4477,6272,4742,6215,5251,6198,6756,7214,6276,6280,6284,6288,6292,6296,6300,6304,6308,6312,6316,6320,6321,6325,6328,6332,6215,5895,4460,6069,6215,6215,6094,6215,4474,6925,6403,6215,5964,7199,7006,7032,4589,6215,7220,6350,6354,6358,6634,6365,7759,6373,5417,6379,6387,6391,6215,6215,6840,6215,6215,6838,6924,6402,6215,6215,6252,6219,6407,4476,4471,7177,5645,6907,6434,6215,5983,6215,6215,7242,5246,6438,6447,5726,6458,6463,5680,6215,6215,6252,6873,4476,6457,6462,5053,6215,7789,6403,6215,6048,5574,6884,6509,6517,6607,4901,6941,6521,5619,6624,6526,6215,6215,6215,6265,6522,5620,6625,6527,6215,6215,6215,6253,6443,5634,6215,7298,7214,6215,5686,7143,7222,6532,6541,6367,6551,6934,4602,6215,6071,7645,6215,5386,4507,5708,6561,6565,6569,6215,6092,6215,6215,6230,6215,6552,6577,7068,6215,6101,4632,6215,5860,5969,6881,7215,4673,6215,6215,6407,7298,6565,6598,6215,6215,6415,6215,6604,6615,6933,6598,4477,6783,5282,6564,4907,6215,6215,6215,6335,6215,7222,6954,6591,6368,6369,6781,7801,6622,6629,6215,6215,6215,6345,7133,6096,6863,6215,6102,6215,6215,7728,6215,7066,6215,6215,6215,6408,6042,5634,6215,6468,6215,6216,7281,6215,6225,6215,6215,6252,5072,7221,6215,6651,4766,6643,6610,6215,6215,6475,6215,7213,6215,7220,7224,6215,6215,6215,5260,6650,6655,6666,4514,6611,6215,6215,6215,6633,6689,6215,6215,6215,6675,7213,6215,7223,5665,6682,4927,6215,6215,6546,6215,6215,4477,5167,7633,4640,4815,5460,7218,5462,6693,6697,6701,6705,6709,6713,6717,6722,6723,6721,6727,4820,4820,5269,4821,6731,5270,5263,6215,6215,6215,5737,6807,5165,6215,7625,6781,6980,5545,6215,6953,6215,6746,6753,6430,6760,7414,5041,4920,4976,6769,5128,6773,6779,6788,6794,6215,7473,7477,6215,7471,4625,5297,6798,6215,6228,4781,6054,7475,6215,6806,6215,6244,4742,6954,4783,6215,6813,6131,7324,5508,6215,6215,6661,7586,7283,6215,6252,6823,6581,6827,5995,6187,6836,6844,6215,6215,6684,6215,6851,6874,4809,6860,6867,6215,6215,6215,6749,6878,6894,6898,6215,6252,5558,5552,7527,6215,6215,4447,4783,6215,6902,6108,7325,5509,6215,6215,6765,6215,6215,6913,6215,6215,6819,6215,7283,6215,6922,6929,5963,5516,5014,6947,5284,5577,5628,6215,6215,6995,5655,5627,4602,6215,6215,7002,5545,6242,6809,5167,6215,6814,4641,5665,6215,6215,5511,6215,6996,6215,6951,6215,6959,5544,4784,6973,6985,7269,4742,5014,6991,6468,7270,6973,6985,7023,5878,7626,6131,5957,6215,6252,6890,7808,6010,6215,6215,6215,6231,6215,6995,6215,6215,7065,4645,7021,4671,6215,6215,7202,7584,6217,7407,7575,7563,5955,5509,6215,6215,7214,5682,6218,5864,7563,7024,7562,7023,6215,6215,6215,6808,6361,6132,7031,4589,4733,6215,6215,6215,6829,6215,7238,6215,6215,7217,6215,6215,6215,6252,4913,7240,6215,6215,6215,6847,7044,6215,6215,6215,6852,6967,6546,7043,6215,6215,7219,5436,5994,4476,6215,6215,5993,6215,6775,6954,6215,6133,5136,7048,7055,6417,7060,5929,7074,7078,7082,7086,7090,7094,7098,7102,7109,7113,7105,7117,4820,6733,7063,5134,6215,7124,6215,7430,6215,6215,7355,6215,7130,6215,7147,6215,6253,6220,6425,7156,6215,7163,7167,7171,7284,7175,7182,7190,7196,6215,7207,7211,6215,6215,7415,4917,7229,6215,7235,6215,6261,6215,6215,6453,6215,7209,7729,6215,6215,7416,5003,6227,6215,7049,6215,6268,7436,7436,7436,7431,6215,6215,7295,6215,5107,6215,6252,7366,7372,6215,7039,6215,5336,6831,5689,6215,7495,7069,7246,7253,7266,7274,7312,6215,6215,7435,7436,7278,7288,4547,7292,7310,5601,6215,6215,7453,6029,6227,6215,7126,5634,4717,4698,4710,7432,6215,6215,7295,6831,5698,6215,7317,7321,7329,7337,6215,6383,6215,6215,5821,6215,7549,6537,7351,6215,6398,6215,6215,4733,7036,7240,6215,7547,5249,7378,7427,5536,7367,7373,7548,5250,7379,4602,6215,6413,6421,6429,5513,5688,6215,7050,7429,6215,4676,7383,5506,6215,6215,7389,7051,6375,6031,5698,4718,5476,7395,6155,6215,6215,6215,6942,6087,7016,4865,6741,7421,7068,6215,6215,7478,6215,6215,6215,6781,6672,7412,6088,7017,4866,7556,7425,6215,6215,7529,7069,4694,7374,7517,7450,5554,4879,6215,6215,6215,4796,4476,7458,5685,6215,6441,5825,5812,7125,7429,6215,7485,5505,5509,6215,7389,7051,5055,7262,6033,4755,7501,7776,6215,6469,5311,6215,5137,6215,6215,6254,6221,4693,7511,7521,6742,7533,6215,6215,6215,6961,4711,7412,6088,4753,4757,7503,7068,6215,6473,6480,6485,6107,5512,6215,7568,7431,6645,7231,6215,6491,7617,6497,6085,7544,7553,5360,5425,5358,4602,6215,6536,6215,6343,4693,7511,7553,7592,7573,6646,6215,7723,5698,7497,7623,6215,6545,5844,5280,5922,7494,7598,7579,6215,6215,6215,7722,6215,7496,6232,6215,6215,6215,7038,6215,7203,7585,7580,7591,6215,6215,6215,7067,5198,6534,5512,7346,7587,6908,6215,5656,6215,7609,6215,5479,6157,6215,6229,6233,5655,7622,5655,6215,6546,5277,5281,5478,6215,6215,5478,5633,6215,6229,6215,6215,6215,7622,6215,6215,7602,6215,7014,5511,7012,7621,7630,4494,7192,7638,7649,7655,7669,7673,7677,7680,7684,7687,7691,7693,7697,7701,7705,7708,7711,7715,7718,7721,6215,6215,7724,5291,6852,6215,6215,6215,7158,7743,7747,6215,7414,5062,6215,4961,6215,6831,6215,6573,6215,5068,4379,4961,6215,6215,7737,7152,4959,6215,6215,6215,7414,6215,7248,6215,6215,7789,5175,6215,7632,6215,7751,6215,7757,6215,6215,7822,5090,6215,7783,6855,6215,6585,6215,7218,6215,7767,7771,6215,6592,7733,4466,4366,6215,7414,6215,6658,6086,4751,6854,6215,7751,6215,6808,4783,4995,6424,6215,6215,6215,7480,5881,6215,6215,6215,7507,7735,7739,7787,6215,6818,6215,6215,6678,6662,7587,6215,6215,7793,7150,6425,7414,7738,7798,6215,6830,6215,6215,4501,6215,6252,6215,6215,6215,7723,4261,6215,6215,6215,7749,6339,7794,7805,4471,6215,6215,6215,7446,6215,7735,4504,7812,4963,6215,6215,6852,5175,6215,6215,7479,6215,6148,6215,6215,6215,7763,6147,6215,6215,7749,4605,6215,7750,6215,7749,6215,6215,6215,7782,8600,8304,8121,8279,7847,7826,8504,7829,7845,7846,7829,7829,7829,8521,7829,7829,7829,7829,7853,7828,7829,7829,7829,8132,7849,7848,7829,7829,7849,7852,7850,7856,7846,7870,7872,7829,7888,7874,7876,7880,7882,7885,7881,7885,7884,7887,7854,7898,7899,7878,7901,7901,7902,7854,7877,8270,8032,8603,8506,8506,8032,8506,8506,7894,8476,8064,7908,7866,7891,7909,8626,7865,8628,8082,8081,8081,7932,7932,7833,8506,8506,8303,8313,8506,7832,8060,8506,8062,8634,8506,7860,8506,8641,7973,8641,7911,7914,8081,8640,7914,8624,8081,8080,8081,8506,8314,7932,8506,8506,8527,8061,8634,8506,7987,7838,8506,8506,8506,7836,8280,7914,7904,8628,8079,8079,8080,8081,7925,7922,7907,8629,7932,7932,7932,7904,8079,8079,8081,8081,8081,8641,7914,8081,8641,7972,7972,8641,8641,8627,8778,8646,7914,7914,7914,8078,7972,7973,8641,8641,8641,7914,7914,7914,7914,7938,8081,8506,8506,8506,7837,8280,7914,7914,7914,8081,8081,8081,8081,7925,8506,8506,8506,7835,8081,8506,8641,8641,8640,8641,7914,7938,8081,8081,7914,8081,8506,8506,7922,8642,7831,8505,8506,8059,7858,8506,8506,7865,8476,8507,7944,7944,7944,7944,7944,7952,7957,7944,7944,7978,7978,8479,8507,7944,7981,7943,7944,7978,7983,7944,7979,7991,7992,7993,7992,7993,7993,7993,7993,7999,7994,7994,7997,7997,7998,7999,7996,8506,8506,8506,7858,8506,8506,8507,7891,8479,8504,7944,8479,7833,7895,7973,7865,8305,8471,8506,8743,7942,8506,8506,8853,7935,8749,8506,8506,8506,7891,8506,8506,8506,7894,8506,8059,8506,8749,8003,8008,8506,8195,8506,8010,8506,8100,8013,8011,8506,8506,7830,8506,7858,7859,8638,8506,7831,7859,7836,7859,7968,7965,7889,7917,8647,8093,8506,8471,8524,8262,8506,8506,8015,8506,8506,8506,7896,8506,8743,7909,7974,8121,8001,8506,8506,7832,7973,8506,8506,8098,8506,8219,8506,8519,8506,8506,8506,8110,8506,8749,8098,8271,8194,8506,8471,8019,8363,8470,8519,8025,8095,8506,8506,8506,7922,7923,8100,8506,8098,8271,8019,8363,8506,8280,8506,8506,7832,8104,8303,8506,8506,8743,8477,7966,8121,8035,8506,8506,7832,8274,8506,8271,8259,8032,8106,8506,8506,8229,8044,8506,8099,8303,8259,8020,8122,8241,8604,8506,8506,8506,7917,8506,8506,8100,8506,8054,8099,8219,8363,8506,8744,7966,7895,8506,7865,8305,8473,8506,8501,8768,8506,8506,8506,8603,8767,8604,8506,8506,7832,8488,8506,8524,8501,8768,8603,8506,8506,8505,8315,8506,8743,7965,7967,8262,8502,8604,8506,8506,8099,8019,8363,8506,8473,8524,8579,8744,8506,8121,8506,8262,8036,8506,8121,8506,8261,8622,8744,8506,8506,8219,8506,8506,8506,8303,8259,8506,8603,7965,8506,8506,8506,8164,8099,8121,8506,8262,7909,7889,8506,7930,8636,8749,8506,8164,8363,8578,8622,8040,8603,8506,8506,8506,8164,8364,8036,8506,8506,8506,7958,8506,8363,8586,8506,8506,8506,7965,7889,8142,8506,8141,8036,8506,8506,8506,8164,8142,8603,8506,8506,7832,8506,8506,7832,7894,7973,8164,8503,8506,8506,8506,7945,7867,8600,8161,8036,8506,7831,8504,8054,8160,8164,8304,8020,8122,8506,8473,8524,8241,8506,8598,8262,8506,7865,8506,8330,8259,8506,8395,8506,8604,8222,8506,8524,8595,8032,8506,7833,7859,8506,8506,8506,8625,8262,8047,8054,8506,7833,7971,7889,8100,8506,8506,7836,8476,8306,8792,8050,8506,7834,7836,7840,7890,7965,8647,8101,8400,8258,8306,8306,8506,8506,8506,8033,8066,8069,8069,8069,8069,8072,7921,8506,7919,8109,7890,8280,8506,8506,7834,8320,8506,8506,8600,8603,8604,8506,8603,8604,8506,7865,8101,8097,8099,8019,8122,8578,8106,8044,8506,8506,8506,8098,8259,8121,8179,8724,8850,8506,7834,8788,8058,8164,8303,8259,8020,8626,8636,8101,8097,8038,8179,8113,8850,8506,8503,8603,8506,8506,8506,8058,8744,8506,8784,8506,8506,7832,8631,7894,8506,7910,7910,7930,7865,8389,8101,8179,8519,8524,8578,8280,8600,7865,8578,8506,8044,8603,8506,8091,8077,8506,8506,7891,8631,7894,8477,7930,7865,8506,8101,7935,8394,8179,8473,8032,8506,8506,8051,8506,8032,8622,8107,8506,8506,8506,8160,7910,7930,7865,8748,8178,8519,8524,8578,8622,8744,8389,8101,8506,7857,8393,8029,8032,8579,8107,8506,7835,8859,8506,8506,8506,8488,8506,8506,8506,8507,8092,8044,8506,8116,7865,8101,8506,7857,7935,8394,8499,8524,8622,8107,8506,7837,8506,8506,8477,8565,8506,8506,8578,8506,8160,8743,8506,8506,8506,8100,8054,7832,8631,7894,7909,7889,8117,8524,8579,8107,8506,7840,8021,8488,7889,7917,8506,8390,7895,7910,8117,8100,8506,8178,8473,8261,8106,8044,8603,8506,8506,8507,8077,8506,8506,8293,8506,8506,8506,8507,8506,8630,7891,7895,8477,8749,8504,7858,8499,8743,7857,8498,8500,8107,8109,8506,8506,7965,8579,7865,8262,8744,8506,7859,7965,8869,8077,8506,8506,8506,8127,7890,8506,8631,8506,8116,7865,8749,7865,7857,8498,8519,8506,8506,8519,8506,8261,8766,7891,8477,8117,7857,8179,8500,8179,8613,8044,8506,8603,8506,8506,8578,7909,8506,7861,8103,8271,8260,8506,8506,8506,7941,8129,8519,8048,8044,8506,8506,7837,8389,8016,7890,7930,8155,8519,7916,8155,8519,8044,7834,8582,8506,7864,8048,8506,7859,8020,8506,8160,8506,8506,8506,8599,8131,8004,8044,8506,8604,8506,8524,8506,7916,8786,8784,8506,7864,8506,8262,8160,8506,8507,7867,8632,7952,8044,8506,8506,7840,8506,8506,8506,8601,7986,8131,8137,8784,8506,8506,8506,8174,8506,8506,8507,8135,8131,8506,8507,8144,8119,8138,8044,8506,8506,8135,8131,8137,8784,8109,7935,8506,8395,8578,8148,8506,8506,8506,8176,8261,8280,8148,8506,8506,8507,7839,8077,8506,7986,8119,8506,8506,8507,8154,8137,8044,8506,8506,7952,8044,7986,8119,8506,8077,8154,8288,8506,8154,8288,8506,7964,8506,8506,8600,8506,8506,8506,8309,8506,8157,8867,8303,8232,8506,8122,8506,8405,8159,8506,8506,8506,8209,8506,8285,8073,8069,8506,8506,8506,8212,8784,8072,8069,8069,8069,8074,8302,8506,8185,8506,7865,8100,8504,8017,8164,8271,8259,8506,8020,7964,8473,8387,8506,8506,8506,8219,8363,8193,8198,8506,8506,7843,8506,8506,8475,8197,8506,7865,8506,8477,8507,8506,8474,8476,8201,8203,8198,8506,8506,7865,8303,8504,8506,8271,8506,8094,8470,8506,8506,8506,8231,8176,8525,8506,7965,8648,8506,8411,8506,8506,8506,8232,8506,8670,8648,8506,7868,7913,7930,7832,8104,7894,7912,8506,8506,8504,8043,8056,7858,8190,8305,8122,8578,8744,8603,8506,8121,8564,8526,8284,7893,7968,7926,8746,8100,8775,7953,8191,8259,8219,8122,8205,8507,8207,8526,8506,7910,8266,8507,8630,7890,8506,8664,8118,8506,8507,8630,7890,7894,7894,8476,7973,7930,8059,7954,8258,8506,8219,8122,7964,8122,8467,8526,8284,8506,8506,8506,8236,8269,8506,8506,8506,8283,8506,7931,8104,7894,8504,8054,8506,8029,8219,8363,8470,8520,8506,8633,8506,8506,8506,8280,8506,7859,8164,8271,8506,8121,8470,8507,8630,8506,7890,7895,8059,8117,8648,7831,8504,8392,8160,7954,8029,8506,8219,8506,8530,8506,8506,7868,8663,7836,8506,8303,8506,8470,8506,8507,8207,8579,8036,8506,8506,8389,8506,8775,7890,7965,8117,8648,7831,8139,7890,8477,7916,8647,8219,8122,8471,8261,8280,8029,8506,8121,8470,8520,8579,8283,8506,8506,8506,8259,8032,8506,8506,8506,7935,8506,8506,7859,8506,7913,8488,7839,8506,7891,8645,8648,7831,8139,8506,8506,8506,8307,7945,7839,8506,7891,7915,8506,8506,8507,7933,7840,7933,8506,8633,8391,7935,8506,8506,8506,7933,8253,8172,8029,8363,8470,8261,8280,8107,7933,8506,8633,8016,8029,8506,8104,8303,8506,7889,8100,8603,8506,8507,8207,8262,7965,8299,8399,8305,8219,8470,8506,7964,8470,8506,7964,8028,7960,8470,8261,8106,8784,8506,8604,8506,8507,7836,7965,8390,8390,8140,7960,8470,8301,8107,8036,8261,8283,8506,8506,7892,8506,8187,8122,8173,8262,8284,8506,8506,8600,8164,8271,8305,8121,7964,7836,8271,7964,8506,8032,8774,8854,8506,8262,8389,8506,8506,8506,8363,8506,8391,8029,8470,8261,8283,7959,8506,8506,8775,8210,8032,8282,8506,8506,7935,8281,8506,8506,8506,8389,7831,7837,8271,8506,8524,8108,8506,8506,8524,8506,8506,8506,8092,8470,8784,8109,8506,8506,8032,8506,8174,8109,8506,8506,8506,8395,8506,8506,8506,8020,8506,8506,8506,8022,8506,8478,8519,8146,8214,8506,8506,8506,8396,8218,8217,8219,8506,7889,8648,8775,8504,7858,8258,8225,8506,8506,8506,8473,8124,8069,8069,8069,8067,8069,8506,8389,8330,8506,8506,7894,8669,8238,8240,8044,8603,7834,8244,8246,8506,7889,8749,8506,8506,8506,8319,8245,8240,8290,8603,8506,8248,8507,8506,8473,8329,8271,8506,8231,8506,8506,7894,8749,8506,8236,8477,8256,8388,8519,8032,8114,8172,8503,8506,8506,7895,8059,8255,8749,8776,8394,8179,8519,8524,8506,8166,8387,8470,8520,7905,8506,7832,7836,7988,7894,7915,8626,8647,8775,8506,7857,7935,8215,8506,7889,7917,8171,7857,8043,8506,8506,8105,8476,8265,8749,7831,7857,8393,8165,8219,8122,8506,8473,8506,8262,7909,8328,7894,8506,7929,8265,8749,8165,8506,8219,8122,8467,8473,8032,8579,8744,8506,7837,8622,8506,8506,7895,8506,7865,8100,8054,8504,8392,8303,8305,8519,8506,8261,8280,7965,8648,8506,8506,8479,7933,7859,8022,8506,8504,8506,7932,7891,7895,7928,7930,7889,8506,8727,8744,8784,8854,8506,8603,8506,7894,7969,8506,7894,8505,8471,8506,8392,8394,8304,8506,7894,8506,8506,8506,7833,7895,8032,8262,8106,8506,8784,7929,8117,8748,8775,8506,8140,8271,8476,8647,8506,8504,8054,8018,8506,8519,8524,8578,8558,8506,8506,8506,8476,7928,8059,8648,8506,7894,8506,8757,8505,8393,8305,8506,8219,8470,8506,8854,8604,8506,8506,7891,7895,7929,8647,8479,8506,7988,7894,8506,8477,8647,8506,8505,7833,8506,8524,8506,8253,7964,8506,8506,7933,8506,7859,8506,7891,7895,8268,8648,7831,8600,8029,8506,7928,8647,8506,8505,7964,8290,8506,7895,8506,7935,8506,8604,8506,8018,8506,8471,8506,7895,8506,8506,8506,7930,7922,7865,8479,8473,8648,8506,8648,8093,8506,8473,8261,8524,8579,8107,8604,8604,8604,8604,7865,8278,8389,8506,7895,8506,8647,8506,8093,8044,8506,7909,8328,8506,8506,8506,7837,8317,8603,8506,8595,7865,8524,8579,7905,8506,7910,8506,8506,8506,8123,8506,8507,7832,7894,7973,8133,8506,7917,8648,8404,8506,8259,8044,8506,7918,7920,8088,8506,8506,7833,8059,8174,8603,8506,8506,7959,8032,7971,8287,8603,8506,7922,8389,8506,7831,7895,7832,7973,8506,8506,8265,8100,8506,7831,7894,8506,8315,7889,8506,8506,7962,8519,8506,8315,8506,8506,8506,8485,7832,8506,8506,8506,8504,7832,7833,7832,8506,7833,7832,8506,8506,8295,7836,7988,8298,8117,8312,8364,8311,8061,8801,8120,7961,8506,8506,8506,8505,8506,7859,8263,8323,8325,8506,7922,8506,7976,8227,8506,7930,7840,7916,8749,8506,8506,8318,8327,8769,7917,8603,8506,8506,8390,8506,8332,8775,8226,8616,8369,8336,8370,8370,8337,8370,8370,8340,8370,8371,8338,8338,8338,8338,8342,8344,8346,8348,8350,8353,8349,8362,7925,8506,8727,8506,8356,8355,8358,8360,8506,8367,8644,7930,8145,8747,8503,8635,8644,8627,7939,8665,8373,8375,8666,8377,8379,8380,8351,8382,8506,8506,8506,8506,7832,7836,7859,7913,7965,8864,8164,8506,8384,8506,8506,8506,8648,8506,7831,8506,8506,8506,8519,8032,8506,8507,7833,8506,7922,8506,8506,8219,8364,8503,8506,8164,8183,8506,8506,8506,8507,7832,7836,8232,8386,8506,8506,7964,8506,8506,8506,8506,8730,8506,7922,8641,8641,8408,7829,8058,8854,8045,8506,8506,8120,8220,7941,8413,8416,8417,8414,8419,8421,8423,8424,8426,8432,8427,8433,8429,8428,8429,8429,8429,8429,8435,8430,8436,8438,8439,8441,8443,8443,8444,8447,8446,8449,8450,8449,8449,8449,8452,8449,8449,8454,8457,8455,8455,8455,8455,8455,8455,8459,8455,8460,8460,8464,8461,8462,8462,8506,7922,8749,8506,7859,7891,7895,8477,8649,8398,8506,8506,7965,7972,7972,8473,8470,8506,8750,8466,8469,8506,8491,8506,8507,8469,8506,7933,8506,8662,8493,8506,8506,8506,8524,8365,8506,8506,8006,8284,8506,8506,7965,8365,8283,8506,8675,8506,7934,8030,8784,8109,8110,8506,8469,7908,8296,8510,8005,8469,8506,8512,8514,8506,7936,8086,8851,8470,8784,8503,8506,8506,8363,8506,8506,8506,8578,8503,8506,8300,8506,8470,8506,8506,8058,8672,8506,8745,8516,7965,8864,8100,8506,8506,8518,8506,8506,8506,8583,8506,8506,8523,8276,8506,8477,7927,8506,7945,7836,7988,7894,8506,8249,8181,8506,8506,7965,8506,8506,8652,8743,8109,8669,8745,8648,8749,7831,7831,8529,8250,8302,8107,8506,8271,8506,8506,8506,8474,8506,8300,8506,8506,7968,7954,8506,8506,8743,8488,8506,8506,8016,8042,8280,8506,7826,8506,8261,8603,8506,8506,7968,8189,8180,8777,8506,8506,7986,8119,8148,8506,8506,7986,7916,8119,7894,8476,7973,8059,8748,8775,8504,7954,8506,8749,8776,8058,7865,8100,8775,8182,8164,8506,8107,8854,8603,8506,8506,8506,8506,8744,8506,8506,8506,8122,8506,8275,8140,8305,8506,8506,8054,8506,8506,8506,7895,7935,8259,8219,8363,7964,8473,8261,8506,8749,7953,8058,8029,8506,8305,8020,7962,8519,8524,8578,8506,8107,8604,8506,7952,8044,8506,7891,8032,8262,8743,8044,8506,8506,7837,8615,8470,8784,8506,8506,7989,8292,8042,8506,8506,8506,8600,7865,8262,8784,8604,8506,8506,8031,8604,8100,8054,8058,8029,8259,8219,7962,8473,8261,8506,8506,8506,8305,8219,8363,8503,8141,8036,8506,8363,7964,8473,8032,8579,8506,8261,8506,8604,8506,7954,8506,8506,8506,8316,8029,8506,8305,8506,8363,8330,8259,8506,8506,8039,8506,8506,8506,8804,8506,8506,8524,8261,8506,8059,8506,7958,8480,7973,8506,8648,8775,8054,8330,8259,8506,8519,8506,8773,8054,8271,8305,8506,8506,8164,8506,8506,8506,7973,7865,8271,8506,8506,8044,8506,8506,8506,8519,8524,8262,8506,8532,8497,8497,8496,8532,8532,8534,8533,8534,8657,8658,8536,8540,8537,8537,8538,8541,8542,8542,8543,8553,8545,8544,8546,8547,8550,8550,8549,8550,8550,8550,8550,8548,8555,8551,8075,8069,8074,8069,8069,8069,8070,8069,8506,8504,8506,8315,8020,8363,8506,8470,8261,8506,8506,8560,8506,7963,7963,8031,8567,8571,8251,8506,7964,7917,8410,8573,8575,8506,8506,8053,8506,8506,8506,8027,8506,8577,8506,8321,8506,8588,8506,8506,8057,8506,8590,8199,8506,8506,8059,8506,8749,8393,8164,8506,8592,8506,8506,8059,8798,8594,8734,8506,8597,7841,8607,8282,8506,7964,7964,7964,7964,7841,8506,8506,8506,8622,8506,8506,8506,8744,8506,8603,8506,8506,8477,8557,8506,8506,8862,8257,8612,8044,8781,8262,8506,8506,8100,8506,8506,8506,7918,8506,8618,8506,8506,8111,8513,8284,8506,7837,8401,8506,8506,8141,8586,8603,8506,8506,8507,8506,8506,7840,7865,8506,8479,8259,8137,8519,8524,8262,8506,8604,8773,8857,8506,8506,8144,8648,8506,8621,7840,8487,7925,7925,8647,8101,8504,8160,8305,8470,8473,8261,8623,8603,8506,7832,7890,7895,8643,8619,8506,8019,8138,8473,8032,8774,8242,8743,8506,8604,8506,7964,8280,8506,8506,8506,7889,8600,8506,8506,8651,7964,7964,8506,8506,8506,8207,8021,8271,8506,8506,8145,8504,8470,7837,8391,8654,8506,7964,8473,8032,8262,8107,8506,8506,8656,8506,7968,7965,7889,7865,8390,8505,8600,8656,8271,8506,8506,8854,8506,8506,8506,8054,8099,8021,8271,8506,7837,8477,7965,8584,7922,7930,8506,8506,8506,8163,8506,8389,8056,8506,8600,8059,8506,8506,8476,8479,8519,8389,8330,8393,8303,8506,8506,8169,8506,8505,8506,8392,8058,8506,8648,8506,8506,8506,8319,8253,8660,8506,8506,7863,8389,8505,8506,8600,7858,8602,8506,7831,8506,8775,7831,8504,8600,7935,8058,7935,8271,8506,8524,8622,8744,8506,8044,8506,8503,8600,7935,8271,8506,8506,7840,8022,8506,8506,8260,8506,8506,8506,8506,8600,7935,8506,8506,8506,8668,8506,8506,8506,8636,8505,8506,8506,8506,8637,8674,8506,8506,8160,8506,7935,8506,8506,8603,8506,8506,8506,7890,8280,8785,8289,8506,8677,8678,8563,8561,8680,8562,8682,8684,8685,8149,8687,8150,8689,8151,8152,8697,8696,8693,8693,8692,8691,8695,8699,8701,8701,8703,8703,8704,8711,8711,8714,8716,8712,8707,8705,8706,8712,8709,8710,8711,8071,8069,8069,8069,8125,8069,8506,8506,8506,8507,8476,8506,8506,8506,8272,8233,8749,8103,8271,8259,8122,8586,8603,7832,7973,7964,8506,8506,7940,8506,8506,8234,8023,8506,7988,7968,7965,8145,8749,8506,8636,8506,8506,8269,8305,8506,8721,8109,8506,8723,8506,8489,8726,8402,8729,8506,7833,8733,8168,8737,8506,8506,8271,8506,8470,8739,8506,8742,8506,8020,8122,8506,8261,8752,8089,8479,8506,7935,7831,8754,8406,8756,8506,8022,7889,8506,7973,8506,8636,8100,8506,8506,8759,8762,8771,8109,8506,8506,8303,8506,8506,8506,8058,8506,8506,8506,8059,8473,8506,8506,8506,8063,8764,8109,8506,8506,8305,8506,8761,8763,8772,8506,8022,8506,8392,8506,8506,8506,8626,8795,8036,8506,8506,8315,8328,8506,8780,8506,7832,7837,8102,8029,8524,8262,8106,8036,8506,8506,8481,8506,8168,7930,8506,8032,8106,8506,8503,8783,8506,8302,8604,7835,7859,8482,7973,8648,8506,8506,8503,8506,8506,7930,8788,8017,8395,8735,8854,8603,8506,8039,8784,8506,7975,8506,8506,7986,8131,8137,8044,8487,7889,8790,8188,8394,8303,8731,8506,8506,8506,8719,8506,8585,8580,8603,8506,8480,7858,7832,8136,8506,8506,8259,7837,8506,7831,7930,8647,8749,7831,8504,8506,8608,8603,8506,8041,8503,8506,7831,8223,7922,8395,8506,8506,8743,8280,8743,8854,8604,8507,8506,8506,8784,8109,8506,8054,8032,8108,8506,7935,7933,7840,8794,7889,7930,8791,7930,8791,8775,8506,8505,8392,8506,8275,8280,8743,8290,8744,8044,8506,8506,8364,8503,8506,8749,8506,8506,8387,8001,8797,8506,7837,8775,8777,8215,8506,7891,7965,8626,7865,8101,8506,7840,8021,7922,7839,8480,7973,8506,8506,8506,8479,7832,8631,8506,8261,8280,8744,8503,8579,8743,8290,8604,8506,8506,8363,8718,8506,8506,8506,8641,8641,8641,8641,7911,7914,7914,7914,7904,8079,7958,7840,8794,7889,8019,8506,8122,8506,8506,8506,8315,7889,8132,8506,8160,8054,8259,8506,8506,7930,8171,7836,7895,8505,8303,8506,8506,7842,8606,8259,8610,8282,8506,8506,8506,8604,8506,8506,8032,8506,8303,8744,8506,8044,8604,8506,7891,7968,7973,8506,8396,8506,8506,8585,8506,8122,8506,8173,8579,8744,8503,8506,8507,7836,8794,8749,8775,8506,8505,7964,8506,8160,8506,8395,8271,7935,8058,8029,8019,8121,8472,8280,8284,8506,8506,7890,8506,8106,8854,8604,8506,8054,8038,8259,8020,8122,8471,8261,8100,8775,8506,8505,8392,8160,8164,8303,8232,7935,8164,8304,8363,8506,8506,8173,8476,7973,8506,8506,8392,8303,8506,8506,8477,8506,8506,8506,8740,8506,8718,8506,8506,8399,8506,8029,8506,8048,8506,8506,8100,8775,8054,8506,8164,8578,8506,8164,8506,8048,8506,8603,8396,8506,8749,7831,8054,8506,8389,7965,8262,7831,7922,8368,8334,8389,7831,8506,8506,8470,8519,8390,8055,8506,8506,8477,7889,8506,8506,8775,8506,8506,8506,8743,8506,8506,7831,8506,7836,8506,8506,8506,8744,7966,7837,8506,8390,7837,8177,8271,8032,8108,8506,8506,7935,8167,8506,8775,8506,7953,8164,8800,7862,8803,7944,7944,7985,7944,7948,7950,7944,7944,7978,7944,8508,7831,8484,8806,8481,8480,8484,8483,8486,8485,8486,8808,8809,8811,8813,8815,8818,8817,8819,8821,8822,8824,8821,8831,8831,8831,8831,8826,8834,8832,8828,8826,8833,8830,8841,8841,8842,8840,8835,8838,8836,8836,8837,8836,8837,8837,8836,8844,8836,8836,8844,8844,8846,8847,8506,8506,8506,8749,8506,8098,8849,8506,8506,8506,8765,8084,8506,8506,8506,8479,7833,7836,7859,7970,8476,7955,8506,8506,7946,8856,8506,8506,8506,8479,8506,8506,8506,7859,7840,8485,8506,8506,8506,8495,8506,7945,7836,8861,8569,8506,8507,7933,7859,8568,8636,8749,8506,8058,8744,8503,8603,8506,8059,8519,8506,8639,8506,8506,8083,7924,8397,8506,8506,8504,8470,8506,8507,7832,7837,8506,8476,7924,8636,8749,8103,8271,8305,8866,8476,7916,8648,8093,8506,8471,8145,8100,8506,8506,8504,8798,8507,8506,8506,8506,8507,7867,7891,7909,16384,1140850688,-2147467264,16384,16384,8192,0,2,0,3,4,0,4,4,8,0,7,1016,503316480,16384,268451840,16384,16386,16384,-2147467262,1073872924,31744,16384,16768,268467586,67174444,16384,32768,0,8,4,8192,4,32768,1024,0,12,0,15,268451840,268451840,262156,31746,384,16448,16450,16768,268468098,268468098,256,536887362,16450,16448,268452224,17280,16768,268452224,268452224,256,0,16,0,31,0,32,0,33,268452224,31810,31810,-1879015550,-1879015550,16448,64,536870912,2147483648,256,12288,0,192,256,64,48,64,64,128,512,0,255,65280,268369920,0,256,128,768,0,384,0,448,0,512,2,2,4,65536,0,127,64,768,2560,2621440,0,992,1,1,2,2024,1,8388609,1,134217729,1,16384,98304,0,1e3,17,1,4,524288,4194304,4194304,8388608,8388608,0,128,32,32,64,16,32,128,128,256,32,4096,2147483648,1,65537,-35188735,1,268435457,1,4097,-731906047,1,8,8,16,67108880,-34664447,-61440,-61439,-61439,-61435,-61439,-9619,-9619,-61439,-11675,1409286144,2147483648,458752,14680064,0,3744,125829120,2097152e3,2147483648,2031616,2130706432,2147483648,2031616,14680064,2,8192,98304,131072,1048576,2097152,0,48,0,56,2080374784,2147483648,64,32768,262144,524288,33554432,33554432,0,130,335544320,1073741824,2147483648,393216,524288,268435456,1073741824,262144,1048576,536870912,0,16392,67633152,67108864,268435456,134217744,0,63232,84148224,0,65536,8192,16384,131072,0,1024,8192,8192,12288,12288,15360,-1073744257,-1,-1073744001,-1,-1,-536870913,-1,-65633,-1,2147483647,-1,16384,536870912,640,640,768,768,896,0,864,62976,200736768,805306368,-1073741824,3342336,1,32,16384,1048576,2113929216,2147483648,49152,65536,393216,0,4096,8192,65536,262144,4,134217728,268435456,536870912,-1073741824,0,4064,12288,50331648,201326592,268435456,64,512,1024,16384,2097152,2097152,4194304,0,-1082524039,-1,-1082261893,1,12,32768,15728640,512,16384,8388608,2147483648,8,128,2097152,12582912,0,98304,262144,4194304,1073741824,8,512,2048,65537,12582912,536870912,36782120,36785208,36785336,53562552,8,16384,15728640,262146,4,2230400,0,131072,268435456,6324224,0,262144,1572864,0,24576,0,28672,2,262144,8388608,33554432,536870912,1,8192,262144,15728640,0,81920,114688,131072,402653184,2176,131072,3968,24576,98304,917504,0,917504,950272,7340032,0,983040,1015808,-8388608,0,1024e3,3968,28672,1015808,7340032,58720256,201326592,8192,33554432,64,98304,1310720,65536,33554432,537968640,0,1572864,134217732,134217732,0,2097152,2568,571523072,0,2105344,134217764,0,2106368,9216,49152,1048576,36,0,3145728,0,3211264,1,56,130624,7864320,50331648,469762048,1610612736,2147483648,60,262080,16515072,1073741824,8126464,0,3932160,29360128,536870912,448,131072,448,3584,4096,786432,0,1048576,33554432,67108864,0,9728,512,3072,1073741824,448,1024,32768,524288,0,40,384,8388608,100663296,-1073741824,1,16777216,134217728,0,-536870912,0,-268435456,0,-69729,256,8388608,536870912,536870912,1073741824,1073741840,16,134217728,1074003968,0,3948544,1074003984,256,1024,16777216,234881024,0,524288,1048576,0,-2147450880,-1141377409,640,1280,4202496,8192,2097152,16777216,2,128,8192,512,3,60,0,880,512,2106368,532480,2097152,3,256,2048,65536,524288,3,16520,4727812,4727812,-542901152,-943184828,-943162300,-943162300,-943164348,-943184828,-943129532,-540476348,-540476316,-941065148,-538182044,-941064636,-540279708,-538181660,-538181916,-538181916,-538181652,-540279708,-941064636,-538182556,-538181916,-537133980,-538182044,-3408284,-537133340,-538181916,-538182044,0,4194304,67108864,2147483648,1074003984,0,4727812,-943184828,-943184828,-943184820,3840,2952,20104,12168,217992,217996,219016,217992,-538181916,-537133340,-540477460,8,2097152,939524096,0,6291456,0,2048,8192,32768,65536,131072,262144,0,3072,4096,2048,16384,229376,0,3328,512,8390656,0,7667712,2048,8404992,4640,2048,131072,16384,1075838976,2099200,539492352,1075838976,2621952,556270592,1075838976,1075841024,1075841024,8388608,1906857512,1906857640,1906988584,1906857641,1907906217,-139960663,-139960663,-139960343,135635077,1907906217,1907906217,-139960663,2042123945,2042123945,2042132137,2042132137,2042394281,2042459817,2042459819,2042492585,2042492585,2042134187,2042492585,2042492589,2042134187,2042492589,2042492589,2042461867,2042492589,2042492591,2042494639,-32,-32,-28,-32,-28,-26,-26,-19,-17,-26,-18,2637824,25165824,33554432,1879048192,0,8388608,16777216,16777216,0,63,64,0,64,1,0,96,0,112,96,96,112,112,128,0,120,1696,2768896,1409024,134217728,3686400,0,8390720,0,15728640,16777216,67108864,402653184,1073741824,0,16384,0,0,1,-2147483647,4014080,4046848,4064,4177920,264241152,-268435456,25165824,268435456,147456,0,16777216,33554432,16386,3670016,0,33554432,201326592,0,12288,245760,0,34603008,8390720,8390720,1082132544,1082132544,142739528,701373553,701373553,701374065,625849397,701373553,701374321,701374321,701374451,701374321,768490609,768556149,768588917,-1378894731,768588917,768588917,2147483647,701374325,701374321,803191925,770686069,2048,8388608,1073741824,72,0,34619432,34619424,0,58720256,2147483648,1,112,896,3072,7168,917504,5120,892928,20971520,67108864,624,0,67108864,134217728,1073741824,1008,5,48,128,67108864,1073741824,925696,201326592,5,991232,5,1024e3,-1610612736,0,67109120,31457280,0,67633152,0,32768,2147483648,2147483648,0,2147483648,7168,1040384,0,100663296,31457280,503316480,12582912,16777216,268435456,48,8192,4194304,196608,229376,786432,6,0,134217728,536870912,512,256,512,512,768,2,12,16,128,2048,1024,3072,0,608,0,768,256,256,384,1024,128,1024,1024,2048,0,544,64,2048,3932160,65536,67108864,196608,0,142739520,142739520,48,524288,8,48,192,512,904,197512,1,64,384,1536,2097160,4194304,262400,0,159383552,34619424,34619424,131072,34619424,36716584,34619432,34623520,34619424,34623528,34623528,36782136,36782136,-855634800,36785208,1110559866,36818046,36818042,36818042,36818046,62213560,36818040,36818040,36826234,36818558,1135955384,1135955384,1270173112,1270173112,-810201672,-818852680,-818852680,1270304184,-818721608,-818852679,-810201672,-810201672,1270304184,-549892936,-269136456,-810070600,-536870913,256,262144,1073741824,144,218103808,184,50331648,134217728,3244032,0,201326592,3473408,58720256,0,7340032,124,0,234881024,268435456,3584,1073741824,192937984,0,234889217,260046848,0,268435456,0,1536,2048,2048,4096,0,1568,3604480,251658240,3735552,520093696,796917760,0,268959744,3,252,3,7936,24576,8355840,528482304,0,402653184,1610612736,0,9220,8355840,1065353216,0,469762048,0,8192,114688,0,9216,112,98304,4194304,167772160,0,536870912,16384,14680064,7168,24576,512,7168,0,536887329,96,128,201326592,96,32768,1048576,73728,8192,6291456,1,65536,1048576,112,65540,1,65888,65888,442368,65888,66400,65888,98656,98656,100704,66528,66528,66536,66538,66538,67562,68586,493920,510304,518500,508257,516448,508260,510304,510304,508256,508256,518500,8191,8191,16383,8191,508260,518496,510304,518496,16383,16383,81919,524287,524287,352,0,805306368,2147483648,2400,0,1073741824,3048,0,1610612736,4088,4096,8,112,1024,768,3072,8,32,16896,512,4096]),Q(h,"CASEID",[6560,6568,6572,6572,6572,6580,6597,7644,6572,7626,8739,6615,6616,6616,6616,6616,6616,6616,6616,6616,6560,6568,6572,6572,6572,6580,6597,7644,6572,6603,6616,6616,6616,6616,6616,6625,9783,8204,6616,6616,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6616,6616,6616,6616,6616,11762,6616,6616,6616,6616,6616,6616,6616,6616,6616,11762,6616,6616,6616,6616,6747,11563,7931,7409,6729,6616,11825,6616,10755,6746,10897,6755,6616,6616,6616,6616,6616,6616,6616,6616,6747,6616,7060,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,11007,11099,12053,6765,6616,6616,6616,6616,6616,6616,9263,6775,6616,6616,6616,6616,6616,6616,6616,6784,6792,6800,6808,9827,6616,6616,6616,6616,6616,6826,6834,6842,6850,11602,10746,6616,6616,6616,6616,6616,6616,6616,6616,12215,6616,6616,6616,6616,6616,6858,6866,6874,6882,11735,6616,6616,6616,6616,6616,6890,6616,6616,6616,6616,6616,6616,6616,6616,6616,6901,6909,6917,6925,12205,12060,9703,6933,6941,6958,10647,8882,7866,7538,7056,9215,8631,6738,6738,6738,6966,7142,6981,6989,6997,6616,6616,6616,6616,6616,7020,7127,7035,7043,9698,6815,7112,8020,7051,7068,7076,7027,7091,7099,7107,6616,6616,6616,6616,6616,7120,7127,7035,7043,9698,6616,6616,6616,6616,6616,7135,6973,7150,7158,8442,6616,6616,6616,6616,6616,7166,6973,7150,7174,8486,6815,7112,8020,7051,7068,7182,7027,7091,7099,7107,6616,6616,6616,6616,6616,7190,6973,7150,7158,8442,6616,6616,6616,6616,6616,7198,7127,7035,7043,9698,6616,6616,6616,6616,6616,7190,6973,7206,7214,7222,6616,6616,6616,6616,6616,7235,6973,7150,7243,8442,6616,6616,6616,6616,6616,7166,6973,7150,7174,8486,9215,8631,6738,6738,6738,7251,7083,7259,7267,7275,6616,6616,6616,6616,6616,7292,7127,7035,7300,8950,6616,6616,6616,6616,6616,7308,7127,7035,7043,9698,6616,6616,6616,6616,6616,7166,6973,7150,7158,8394,6616,6616,6616,6616,6616,7166,6973,7150,7174,8486,7316,7324,7339,7347,7364,7372,7380,7388,7396,7404,6616,6616,6616,6616,6616,7166,6973,7417,7425,8621,6634,6642,6650,6658,6666,7433,6691,6701,6709,6717,7450,7462,6738,6738,6738,7474,6736,6738,6738,7485,6634,7497,7512,7520,7528,6674,6691,7866,6709,6946,6815,7112,8020,7051,7068,6616,8882,7585,7538,7352,6815,7112,8020,7051,7068,6616,8882,7585,7538,7352,6815,7112,8020,7051,7068,6616,8882,7585,7538,7352,6634,6642,6650,6658,6666,6674,7536,6701,6709,6717,6634,6642,6650,6658,6666,6674,6691,6701,6709,7546,7559,7497,7512,7520,7567,7575,7583,7866,6709,7699,7559,7497,7512,7520,7567,7593,6691,7866,6709,6946,11997,7112,8020,7051,7068,6616,8882,7585,7538,7352,6818,11511,6616,6616,6616,6616,6616,6616,6616,7280,9217,6616,6616,6616,6616,6616,6616,6616,6616,6616,12060,9703,6933,6941,6958,10647,8882,7866,7538,7056,6560,6568,6572,6572,6572,7604,6597,7621,6572,6603,6560,6568,6572,6572,6572,7604,7638,6572,6572,6603,9215,8631,6738,6738,6738,6616,6736,6738,6738,7485,6747,6616,9545,6616,7652,6616,6616,6616,10755,6746,6747,6616,9545,6616,6616,6616,6616,6616,6616,6746,9215,8631,6738,6738,6738,6616,6736,6738,6738,7485,7667,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,8743,7676,6616,6616,6616,6616,6616,6815,7112,8020,7051,7068,6616,8882,7585,7538,7352,6616,6616,6616,6616,6616,6616,6616,6616,6616,7685,11759,7012,7331,7694,7717,6616,8882,6693,8884,7352,6815,7112,8020,7051,7068,6616,8882,7585,7538,7352,6815,7112,8020,7051,7068,6616,8882,7585,7538,7352,6815,7112,8020,7051,7068,6616,8882,7585,7538,7352,6616,6616,6616,6616,6616,9780,6616,6616,6616,6616,7667,6616,6616,7910,6616,6616,6616,6616,6616,6616,7667,6616,7630,7944,6616,6616,10650,6616,6616,6616,6616,6616,6616,6616,6616,9891,6616,6616,6616,7280,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6616,6616,6616,6616,6616,10562,6616,6616,6616,6616,6616,6616,6616,6616,6616,9780,6616,7477,9275,7725,6616,6616,6616,6616,6616,8898,6616,6616,7454,6616,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6616,6616,6616,6616,6616,7734,7757,7765,7783,7825,7772,7112,8020,7051,7068,6616,8882,7585,7538,7352,6616,6616,6616,6616,6616,6616,6616,6616,6616,7280,6634,7497,7512,7520,7528,6674,6691,7866,6709,6946,6634,7497,7512,7520,7528,6674,6691,7866,6709,6946,6634,7497,7512,7520,7528,6674,6691,7866,6709,6946,6634,7497,7512,7520,7528,6674,6691,7866,6709,6946,6634,7497,7512,7520,7528,6674,6691,7866,6709,6946,6634,7497,7512,7520,7528,6674,6691,7866,6709,6946,6634,7497,7512,7520,7528,6674,6691,7866,6709,6946,6634,7497,7512,7520,7528,6674,6691,7866,6709,6946,6634,7497,7512,7520,7528,6674,6691,7866,6709,6946,6634,7497,7512,7520,7528,6674,6691,7866,6709,6946,6634,7497,7512,7520,7528,6674,6691,7866,6709,6946,11777,8447,7504,7847,7717,7746,7864,6693,8884,6946,11777,8447,7504,7847,7717,7746,7864,6693,8884,6946,6634,6642,6650,6658,6666,6674,6691,6701,6709,7874,7559,7497,7512,7520,7567,7892,6691,7866,6709,6946,7559,7497,7512,7520,7567,7593,6691,7866,6709,6946,6634,6642,6650,6658,6666,7905,7922,6701,6709,6717,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,9215,8631,6738,6738,6738,6616,6736,6738,6738,7485,6634,6642,6650,6658,6666,7939,7922,6701,6709,6717,12060,9703,6933,6941,6958,6616,8882,7866,7538,7352,6634,6642,6650,6658,6666,6674,6691,6701,6709,7956,6616,6616,6616,6616,6616,6616,6616,6616,6616,7280,9215,8631,6738,6738,6738,6616,6736,6738,6738,7485,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6616,6616,6616,6616,6616,6616,6616,6616,6616,7280,7772,7112,8020,7051,7068,12172,8882,7585,7538,7352,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6815,7112,8020,7051,7068,6616,8882,7585,7538,7352,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,7772,7112,8115,7051,7973,12021,8882,7585,7538,7352,6616,6616,6616,6616,6616,6616,6616,6616,6616,7280,7772,7112,8020,7051,7068,12124,8882,7585,7538,7352,6815,7112,8020,7051,7068,6616,8882,7585,7538,7352,6616,6616,6616,6616,6616,6616,6616,6616,6616,7280,6616,6616,6616,6616,6616,11081,6616,6616,6616,6616,6616,11515,10615,6616,6616,6616,11290,6616,7454,6616,6616,6616,10676,6616,6616,6616,11290,6616,6616,7725,6616,6616,10676,6616,6616,6616,11290,6616,6616,6616,6616,6616,6616,6616,6616,9780,6616,6616,6616,6616,6616,6616,6616,6616,6616,9780,6616,6616,6616,6616,6616,6616,6616,6616,6616,9780,6616,6616,6616,6616,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,7316,7324,7339,7347,7364,7593,6691,6693,7981,6946,7989,8631,7466,6738,8635,8001,6736,6738,6738,7485,6616,6616,6616,6616,6616,10562,6616,6616,6616,6616,6815,7112,8020,7051,7068,8915,8013,7585,7538,7852,6616,6616,6616,6616,6616,6616,6616,6616,6616,7280,8028,8631,6738,6738,6738,10664,6736,6738,6738,7485,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6815,7112,8020,7051,7068,6616,8882,7585,7538,7352,6815,7112,8020,7051,7068,6616,8882,7585,7538,7352,6616,6616,6616,6616,6616,6616,8300,6616,6616,7438,6634,6642,6650,6658,6666,8038,6691,6701,6709,6717,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6616,6616,6616,6616,6616,6616,6616,6616,6616,7280,6815,7112,8020,7051,7068,8933,8882,7585,7538,7927,6616,6616,6616,6616,6616,6616,6616,6616,6616,7280,6815,7112,8020,7051,7068,8933,8882,7585,7538,7927,9215,8631,6738,6738,6738,9543,6736,6738,6738,8055,6616,6616,6616,6616,6616,6616,6616,6616,6616,7280,6815,7112,8020,7051,7068,6616,8882,7585,7538,7352,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6815,7112,8020,7051,7068,6616,8882,7585,7538,7352,6616,6616,6616,6616,6616,9352,6616,6616,6616,6616,6616,11898,6616,6616,6616,6616,9582,6616,6616,6616,6747,8217,9545,10437,7652,6616,6616,6616,10755,6746,6616,6616,6616,6616,6616,11762,6616,6616,6616,6616,6616,6616,11875,6616,6616,11762,6616,6616,6616,6616,6616,11740,8067,8075,6776,11084,6616,6616,6616,6616,7667,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,12046,11869,7884,6616,6679,6616,6616,6616,9215,8631,6738,6738,6738,6616,6736,6738,6738,7485,7667,6616,6616,6616,6616,6616,6616,6616,6616,6616,9215,8631,6738,6738,6738,6616,6736,6738,6738,7485,6616,6616,6616,6616,6616,10562,6616,6616,6616,6616,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6616,6616,6616,6616,6616,6616,6616,6616,6616,7280,8092,6616,8935,6616,6616,9334,6616,6616,6616,7835,6634,7497,7512,7520,7528,6674,6691,7866,6709,6946,7659,8491,8100,8108,8123,9004,8882,7866,7538,7352,7659,8491,8100,8108,8123,9004,8882,7866,7538,7352,7659,8491,8100,8108,8123,9004,8882,7866,7538,7352,6815,7227,8138,8131,8146,9004,8882,7585,7538,7352,6815,7227,8138,8131,8146,9004,8882,7585,7538,7352,6634,6642,6650,6658,6666,6674,6691,6701,6709,8154,6616,6616,6616,6616,6616,11360,6616,6616,6616,6616,7450,7462,6738,6738,6738,8171,6736,6738,6738,7485,6616,6616,6616,6616,6616,11360,6616,6616,6616,6616,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6616,6616,6616,6616,6616,9780,6616,6616,6616,6616,6616,7914,7551,6616,6616,9641,8183,6616,7284,8194,6616,6616,6616,6616,6616,9780,6616,7477,6616,7725,6616,6616,10615,6616,6616,6616,11290,6616,7454,6616,6616,6616,10615,6616,6616,6616,6616,6616,7454,6616,6616,6616,6616,6616,6616,10562,6616,6616,6616,6616,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6616,6616,10764,6616,6616,6616,11290,6616,6616,6616,6616,6616,6616,6616,6616,9780,6616,6616,6616,6616,6616,6616,6616,6616,6616,9780,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,12099,8005,6616,6616,9289,6616,6616,6616,6616,8216,6616,6616,6616,6616,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6616,6616,6616,6616,6616,8898,6616,6616,7454,6616,6616,6616,6616,6616,6616,9780,6616,6616,6616,6616,6616,6616,6616,6616,6616,9780,6616,6616,6616,6616,6616,6616,6616,6616,6616,9780,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,8349,6616,6616,6616,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6616,6616,6616,6616,6616,6616,8300,6616,6616,6616,6634,6642,6650,6658,6666,8225,6691,6701,6709,6717,8312,6616,7856,6616,8918,8324,6616,6616,6616,6616,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,11997,7112,8020,7051,7068,9352,8882,7585,7538,7352,6616,6616,6616,6616,6616,6616,6616,6616,6616,7280,7667,6616,6616,6616,6616,6616,6616,6616,6616,6616,7667,6616,6616,6616,6616,6616,6616,6616,6616,6616,7659,8491,8336,8108,8123,9004,8882,7866,7538,7352,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,7659,8491,8100,8108,8123,9004,8882,7866,7538,7352,6616,6616,6616,8344,6616,6616,6616,6616,6616,6616,7667,6616,6616,6616,6616,6616,6616,6616,6616,6616,6815,7112,8020,7051,7068,6616,8882,7585,7538,7352,6616,6616,6616,6616,6616,11542,10629,6616,6616,6616,6616,6616,6616,6616,6616,11931,6616,6616,6616,6616,8357,8631,6738,6738,6738,9518,6736,6738,6738,7485,7659,8491,8336,8108,8123,9004,8882,7866,7538,7352,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,7667,6616,6616,6616,6616,6616,6616,6616,6616,6616,7667,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,7709,11991,9768,9820,10787,6616,6616,6616,6616,6616,7609,9647,9885,11855,10821,7772,7112,8020,7051,7068,6616,8882,7585,7538,7352,10746,6616,6616,6616,6616,6616,6616,6616,6616,7961,6616,6616,6616,6616,6616,8365,8373,8379,8387,11893,6616,6616,6616,6616,6616,8411,8419,8427,8435,11481,6616,6616,6616,6616,6616,8455,8463,8471,8479,8499,6616,6616,6616,6616,6616,8532,8540,8548,8556,8577,6616,6616,6616,6616,6616,8590,8598,8606,8614,8643,8092,6616,6616,6616,6616,9334,6616,6616,6616,7835,8092,6616,8935,6616,6616,9334,6616,6616,6616,7835,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6616,12219,8960,6616,6616,8698,8675,8683,8691,8706,6747,6616,11902,6616,6616,6616,6616,6616,6616,6616,7659,8491,8336,8108,8123,9004,8882,7866,7538,7352,6634,6642,6650,6658,6666,6674,7922,6701,6709,6717,6634,6642,6650,6658,6666,6674,7922,6701,6709,6717,6634,6642,6650,6658,6666,6674,7922,6701,6709,6717,6815,7112,8020,7051,7068,6616,8882,7585,7538,7352,12060,9703,6933,6941,6958,6616,8882,7866,7538,7352,6815,7112,8020,7051,7068,6616,8882,7585,7538,7352,6815,7112,8020,7051,7068,6616,8882,7585,7538,7352,7659,8491,8100,8108,8123,9004,8882,7866,7538,7352,6616,6616,6616,6616,6616,9780,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,11967,6616,6616,8043,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6616,6616,6616,6616,8794,6616,6616,6616,6616,7280,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,7659,8491,8100,8108,8123,9004,8882,7866,7538,7352,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6616,6616,6616,6616,6616,6616,8663,6616,6616,8159,8719,11560,6616,6616,6616,8751,6616,6616,6616,7280,6616,6616,6616,6616,6616,11762,6616,6616,6616,6616,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6616,6616,6616,6616,6616,9983,7740,6616,6616,6616,7667,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,10556,6616,6616,6616,6616,6616,6585,6616,6616,6616,11967,6616,6616,7280,8760,8631,6738,6738,6738,6616,6736,6738,6738,7485,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,7667,6616,6616,6616,6616,6616,6616,6616,6616,6616,7667,6616,6616,6616,6616,6616,6616,6616,6616,6616,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6616,6616,6616,6616,6616,10562,6616,6616,6616,6616,7667,6616,6616,6616,6616,6616,6616,6616,6616,6616,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,8092,6616,8935,6616,6616,9334,6616,6616,6616,7879,6616,6616,6616,10431,10434,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,8840,8770,6616,6616,6634,7497,7512,7520,7528,6674,6691,7866,6709,6946,8092,6616,8935,6616,6616,9334,6616,6616,6616,7835,8092,6616,8935,6616,6616,9334,6616,6616,6616,7835,6616,6616,6616,6616,6616,8455,8463,8471,8479,8780,6616,6616,6616,6616,6616,6616,8840,8770,6616,6616,7659,8491,8100,8108,8123,10043,8882,7866,7538,7352,7659,8491,8100,8108,8123,10877,8882,7866,7538,7352,7659,8491,8336,8108,8123,10942,8882,7866,7538,7352,8760,8631,6738,6738,6738,7814,6736,6738,6738,7485,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6616,6616,6616,6616,6616,10562,6616,6616,6616,6616,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6616,6616,6616,6616,6616,9780,6616,6616,6616,6616,6616,6616,6616,6616,6616,9007,11967,6616,6616,6616,6616,6616,6616,6616,6616,9780,6616,6616,6616,6616,6616,6616,6616,6616,6616,11363,11967,6616,6616,6616,6616,6616,6616,6616,6616,9780,6616,6616,6616,6616,6616,6616,6616,6616,6616,8186,11967,6616,6616,6616,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6616,6616,6616,6616,6616,6616,8711,6616,6616,6616,7659,8491,8100,8108,8123,11004,8882,7866,7538,7352,6616,6616,6616,6616,6616,6616,8663,6616,6616,6616,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,8312,6616,7856,6616,8918,8324,6616,6616,6616,6616,11997,7112,8020,7051,7068,6616,8882,7585,7538,7352,11641,6616,6616,6616,6616,10895,6616,6616,6616,6616,6616,6616,6616,6616,6616,8802,8810,8818,8826,8834,7667,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,8802,8810,8818,8826,8834,6616,6616,6616,6616,6616,8851,8859,8867,8875,8892,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6616,6616,6616,6616,6616,9780,6616,6616,6616,6616,6616,6616,6585,6616,6616,6616,6616,6616,6616,7280,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,7659,8491,8100,8108,8123,9004,8882,7866,7538,7352,8357,8631,6738,6738,6738,6616,6736,6738,6738,7485,7667,6616,6616,6616,6616,6616,6616,6616,6616,6616,7667,6616,6616,6616,6616,6616,6616,6616,6616,6616,6634,7497,7512,7520,7528,6674,6691,7866,6709,6946,6616,6616,6616,6616,6616,6616,6616,6616,11075,11822,6634,7497,7512,7520,7528,6674,6691,7866,6709,6946,6634,7497,7512,7520,7528,6674,6691,7866,6709,6946,6616,6616,6616,6616,6616,6616,6616,6616,11075,11822,8092,6616,8935,6616,6616,9334,6616,6616,6616,7835,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6815,7112,8020,7051,7068,6616,8882,7585,7538,7352,7659,8491,8336,8108,8123,9004,8882,7866,7538,7352,6616,6616,6616,6616,6616,6616,11466,6616,8909,6616,6616,6616,6616,6616,6616,6616,8901,9635,8926,11022,6616,6616,6617,6616,6616,6616,6616,6616,6616,7280,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6616,6616,6616,6616,6616,10562,6616,6616,8790,6616,11641,6616,6616,6616,6616,6616,6616,6616,6616,6616,8943,6616,6616,6616,6616,8751,6616,6616,6616,7280,8968,6616,6616,6616,6616,8751,6616,6616,6616,7280,6616,6616,6616,6616,6616,9983,11105,6616,6616,6616,6616,6616,6616,6616,6616,6616,9190,6616,6616,6616,6634,7497,7512,7520,7528,6674,6691,7866,6709,6946,6634,7497,7512,7520,7528,6674,6691,7866,6709,6946,7659,8491,8100,8108,8123,11194,8882,7866,7538,7352,7659,8491,8100,8108,8123,9004,8882,7866,7538,7352,7659,8491,8100,8108,8123,9004,8882,7866,7538,7352,8760,8631,6738,6738,6738,6616,6736,6738,6738,7485,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6616,6616,6616,6616,6616,6616,11466,6616,8976,6616,6616,6616,6616,6616,6616,10562,9322,11712,9691,11147,6616,6616,6616,6616,6616,10562,11706,11712,8985,11147,6616,6616,6616,6616,6616,6616,8901,9635,9015,11022,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,7659,8491,8100,8108,8123,9004,8882,7866,7538,7352,7659,8491,8100,8108,8123,9004,8882,7866,7538,7352,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6616,6616,6616,6616,6616,8851,8859,8867,9201,8892,6634,7497,7512,7520,7528,6674,6691,7866,6709,6946,7659,8491,8100,8108,8123,9004,8882,7866,7538,7352,6616,6616,6616,6616,6616,6616,7749,11712,8985,11147,6616,6616,6616,6616,6616,6616,11706,11712,8985,11147,6616,6616,6616,6616,6616,6616,7749,11712,9225,11147,6616,6616,6616,6616,6616,10562,6616,6616,6616,6616,6616,6616,6616,6616,6616,10562,6616,6616,6616,6616,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6634,6642,6650,6658,6666,6674,6691,6701,6709,6717,6616,6616,6616,6616,6616,6616,6616,6616,6616,7280,6616,6616,6616,6616,6616,9242,6616,6616,6616,6616,6616,6616,11266,6616,9243,6616,6616,6616,6616,6616,6616,6616,6616,8399,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,10960,6616,6616,10606,6616,6616,6616,6616,6616,6616,6616,9251,7127,7035,7043,8992,6616,6616,6616,6616,6616,9259,9271,6616,7830,7442,6616,6616,6616,6616,6616,9283,9301,9309,9345,11354,6616,6616,6616,6616,6616,9360,9377,9385,9529,11457,6616,6616,6616,6616,6616,9553,9561,9567,9575,11530,6616,6616,6616,6616,6616,9592,9600,9606,9614,11925,6616,6616,6616,6616,6616,9655,9663,9669,9677,11949,6616,6616,6616,6616,6616,9711,9719,9725,9733,11985,6616,6616,6616,6616,6616,9791,9799,9805,9813,12015,6616,6616,6616,6616,6616,9840,9848,9856,9864,12118,6616,6616,6616,6616,6616,9902,9910,9918,9926,12142,6616,6616,6616,6616,6616,9957,9934,9942,9950,9965,6616,6616,6616,6616,6616,10017,9994,10002,10010,10025,6616,6616,6616,6616,6616,10077,10054,10062,10070,10871,6616,6616,6616,6616,6616,10108,10085,10093,10101,10936,6616,6616,6616,6616,6616,10139,10116,10124,10132,10986,6616,6616,6616,6616,6616,10170,10147,10155,10163,11063,6616,6616,6616,6616,6616,10201,10178,10186,10194,11164,6616,6616,6616,6616,6616,10209,10217,10225,10233,11236,6616,6616,6616,6616,6616,10241,10249,10257,10265,11284,6616,6616,6616,6616,6616,10273,10281,10289,10297,9316,6616,6616,6616,6616,6616,10305,10313,10321,10329,11700,6616,6616,6616,6616,6616,10337,10344,10352,10360,7790,6616,6616,6616,6616,6616,10368,6973,7150,7174,8563,6616,6616,6616,6616,6616,7166,6973,10376,10384,8442,6616,6607,9832,6616,6616,10392,10400,7035,10408,10416,6616,6616,6616,6616,6616,10445,7127,7035,7300,8950,6616,6616,6616,6616,6616,7166,6973,10453,10461,8442,6616,6616,6616,6616,6616,7166,6973,7150,7158,10469,6616,6616,6616,6616,6616,10486,7127,7035,7043,8992,6616,6607,9832,6616,6616,10494,10400,7035,10408,10416,6616,6616,6616,6616,6616,7020,7127,7035,7043,9022,6616,6607,9832,6616,6616,10502,10400,7035,10408,10416,6616,6607,9832,6616,6616,10510,10400,7035,10408,10416,6616,6616,6616,6616,6616,7166,6973,10518,10526,8442,6616,6616,6616,6616,6616,7166,6973,10534,10542,10550,6616,6607,9832,6616,6616,10573,10400,7035,10408,10416,6616,6607,9832,6616,6616,10581,10400,7035,10408,10416,6616,6616,6616,6616,6616,10589,7127,7035,7300,8950,6616,6607,9832,6616,6616,10597,10400,7035,10408,10416,6616,6616,6616,6616,6616,11622,6616,6616,6616,6616,11545,6616,6616,6616,6616,6616,6616,6616,6616,6616,11934,6616,6616,6616,6616,6616,6616,6616,6616,6616,10605,6616,6616,6616,6616,6616,6616,6616,6616,6616,10614,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,10623,6616,6616,6616,6616,6616,6616,6616,6616,6616,10658,6616,6616,6616,6616,6616,6616,6616,6616,11639,6616,6616,6616,6616,6616,10675,6616,8752,8569,6616,6616,6616,7948,6616,11683,6616,6616,6616,6616,6616,6616,6616,12063,6616,6616,6616,6616,6616,6616,6616,8030,6616,6616,6616,9232,6616,6616,6616,6616,6616,8626,6616,6616,12e3,7596,6616,6616,9337,6616,6616,6616,6616,6616,6616,6616,6616,6616,11108,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,8082,6616,6616,6616,6616,6616,11744,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,10428,6616,6616,6616,9521,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,10475,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,10823,6616,6616,6616,6616,6616,6616,6616,9034,6616,6616,6616,6616,6616,6616,6616,6616,6616,9046,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,9058,6616,6616,6616,6616,6616,6616,6616,6616,6616,8240,6616,6616,6616,6616,6616,10684,6616,6616,6616,6616,6616,6607,9832,6616,6616,10693,10400,7035,10408,10416,6616,6607,9832,6616,6616,7120,10400,7035,10408,10416,6616,6607,9832,6616,6616,10701,10400,7035,10408,10416,6616,6607,9832,6616,6616,10709,10400,7035,10408,10416,6616,6607,9832,6616,6616,7308,10400,7035,10408,10416,6616,6616,6616,6616,6616,10031,6616,6616,6616,6616,6616,6616,6616,6616,6616,11970,6616,6616,6616,6616,6616,6616,8977,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,8245,6616,6616,8059,6616,6616,6616,6616,6616,6616,8250,9894,9392,9536,11792,6616,6616,6616,6616,6616,6616,6616,6616,6616,11656,6616,6616,6616,6616,6616,6616,6616,6616,6616,9208,6616,6616,6616,6616,6616,9986,6616,6616,6616,6616,6616,6616,6616,6616,6616,8260,10565,9621,9628,11848,6616,6616,6616,6616,6616,10992,6616,6616,6616,6616,6616,6616,6616,6616,6616,11069,6616,6616,6616,6616,6616,6616,6616,8843,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,10037,6616,6616,6616,6616,6616,6616,6616,6616,6616,9076,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,8199,6616,6616,6616,6616,6616,6616,6616,6616,6616,8275,6616,6616,6616,6616,6616,10998,6616,6616,6616,6616,6616,6616,6616,6616,6616,9118,6616,6616,6616,6616,7686,6616,10719,6616,10717,9082,6616,6616,7677,10727,6616,6616,6616,6616,6616,8280,10736,6616,6616,6616,6616,6616,6616,6616,6616,8285,6616,6616,6616,6683,6616,6616,6616,6616,6616,8290,6616,6616,6616,6721,6616,10745,6616,6616,6616,6616,6616,6616,6616,6616,6616,12154,6616,6616,6616,12039,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,12078,6616,6616,6616,6616,6616,6616,6616,6616,8762,6616,6616,6616,6616,6616,6616,6616,6616,6616,8772,6616,6616,6616,6616,6616,6616,7002,6616,6616,10046,9100,6616,6616,6616,6616,6616,7002,6616,6616,10046,9106,6616,6616,6616,6616,6616,6616,6616,6616,8295,6616,6616,6616,6616,6616,6616,6616,8270,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,10685,6616,6616,6616,6616,6616,8569,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,9112,6616,6616,6616,6616,10754,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,9124,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,9130,6616,6616,6616,6616,6616,7007,6616,6616,10880,6616,6616,6616,6616,6616,6616,6616,6616,6616,11878,9088,6616,6616,6616,6616,6616,6616,6616,6616,11293,9094,6616,6616,6616,6616,6616,9136,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,10650,6616,6616,6616,6616,6616,6616,6616,6616,12160,6616,6616,6616,8255,6616,6616,6616,6616,6616,6616,6616,6616,6616,6950,6616,6616,6616,6616,6616,9428,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,10763,6616,6616,6616,6616,6616,6616,6616,6616,10772,10780,10797,12190,11486,6616,6616,6616,6616,6616,9148,6616,6616,6616,6616,6616,6616,6616,6616,6616,9142,6616,6616,6616,6616,6616,6616,6616,6616,6616,9154,6616,6616,6616,6616,6616,6616,6616,6616,6616,9452,6616,6616,6616,11501,6616,6616,6616,6616,6616,6616,6616,6616,6616,7356,6616,6616,6616,6616,6616,6616,6616,6616,6616,7839,6616,6616,6616,6616,6616,9971,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,8175,6616,6616,6616,6616,6616,12021,6616,6616,6616,6616,6616,6616,6616,6616,6616,12148,6616,6616,6616,6616,6616,6616,6616,6616,6616,9398,6616,6616,6616,6616,6616,6616,6616,6616,6616,9404,6616,6616,6616,6616,6616,6616,10615,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,10728,6616,6616,6616,6616,6616,10676,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,9416,6616,6616,6616,6616,6616,6616,6616,6616,6616,11176,6616,6616,6616,6616,6616,6616,6616,6616,6616,9166,6616,6616,6616,6616,6616,6616,6616,6616,6616,9172,6616,6616,6616,6616,6616,6616,6616,6616,6616,11182,6616,6616,6616,6616,6616,6616,6616,6616,6616,10664,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,9178,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,9184,6616,6616,6616,6616,6616,6616,6616,7726,10805,6616,6616,6616,6616,6616,6616,9977,6616,6616,6616,6616,6616,6616,6616,6616,6616,12166,6616,6616,6616,6616,6616,6616,6616,6616,6616,9070,6616,6616,6616,6616,6616,6616,6616,6616,6616,9422,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,9293,10789,6616,6616,6616,6616,10814,6616,6616,6616,6616,6616,6616,6616,6616,6616,12103,6616,6616,6616,6616,6893,6616,6616,6616,6616,6616,6616,6616,6616,6616,11024,6616,6616,6616,6616,6616,6616,6616,6616,6616,10831,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,10945,6616,6616,6616,6616,6616,6616,6616,6616,6616,6767,6616,6616,6616,6616,6616,6616,7668,10641,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,10840,10848,10856,10864,10888,6616,6616,6616,9368,9366,6616,6616,6616,6616,6616,6616,6616,6616,11465,11463,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,10905,10913,10921,10929,10953,10970,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,7897,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,9160,6616,6616,6616,6616,6616,7817,6616,6616,6616,6616,6616,6616,6616,6616,6616,10962,6616,6616,6616,6616,6616,6616,6616,6616,6616,9584,6616,6616,6616,6616,6616,6616,6616,12210,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,11491,12024,9754,9761,10979,6616,6616,6616,6616,6616,11496,12127,9871,9878,11015,6616,6616,6616,6616,6616,11032,11040,11048,11056,11092,6616,6616,6616,6616,6616,11116,11124,11132,11140,11157,6616,6616,6616,6616,6616,11205,11213,11221,11229,11277,6616,6607,9832,6616,6616,11316,11301,7035,11309,10416,6616,8208,11607,6616,6616,11339,11324,7150,11332,11347,6616,6607,9832,6616,6616,11371,11301,7035,11309,10416,6616,6607,9832,6616,6616,11379,11387,7035,11309,10416,6616,6607,9832,6616,6616,11395,11387,7035,11309,10416,6616,6607,9832,6616,6616,11403,11301,7035,11309,10416,6616,6607,9832,6616,6616,11411,11301,7035,11309,10416,6616,6616,6616,6616,6616,11442,11419,11427,11435,11862,6616,6616,6616,6616,6616,6616,6616,6616,6616,7993,6616,6616,6616,6616,6616,11506,6616,11149,6616,6616,6616,6616,10764,6616,6616,6616,6616,6616,6616,6616,6616,6616,10806,6616,6616,6616,6616,6616,6616,6616,6616,6616,9369,6616,6616,6616,6616,6616,6616,6616,6616,6616,7965,9410,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,11188,6616,6616,6616,6616,6616,6616,6616,6616,6616,11188,6616,6616,6616,6616,6616,6616,6616,6616,6616,9476,6616,6616,6616,6616,6616,6616,6616,6616,6616,8504,11450,6616,6616,6616,6616,6616,6616,6616,6616,8514,6616,6616,6616,8047,6616,6616,6616,6616,6616,6616,6616,6616,8653,6616,6616,6616,6616,6616,6616,6616,8300,6616,8658,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,8667,6616,6616,6616,6616,6616,9494,6616,6616,6616,6616,6616,6616,6616,6616,6616,9040,6616,6616,6616,6616,6616,6616,6616,6616,6616,9434,6616,6616,6616,6616,6616,6616,6616,6616,6616,9446,6616,6616,6616,6616,8955,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,11474,6616,6616,6616,6616,6616,12154,6616,6616,6616,6616,6616,6616,6616,6616,6616,8509,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,7002,6616,6616,10046,6616,6616,6616,6616,11523,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,8519,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,9774,11553,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,9512,6616,6616,6616,6616,6616,6616,6616,6616,6616,9440,6616,6616,6616,6616,6616,6616,6616,6616,6616,9506,6616,6616,6616,6616,6616,6616,6616,6616,6616,11804,6616,6616,6616,6616,6616,6616,6616,6616,6616,10422,9458,6616,6616,6616,6616,6616,6616,6616,6616,11798,6616,6616,6616,6616,6616,6616,6616,6616,6616,8524,6616,6616,6616,6616,6616,6616,6616,6616,6616,8582,6616,6616,6616,6616,6616,6616,6616,6616,6616,10667,6616,6616,6616,6616,6616,6616,6616,6616,6616,7609,7613,9885,11855,10821,6616,6616,10832,9470,6616,6616,6616,6616,6616,6616,6616,6757,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,10971,6616,10478,6616,6616,8084,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6626,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,8648,6616,6616,6616,6616,6616,11571,11579,11587,11595,11615,6616,6616,6616,6616,6616,11571,11579,11587,11595,11632,6616,6616,6616,6616,6616,9464,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,8163,6616,6616,6616,6616,6616,9482,6616,6616,6616,6616,6616,6616,6616,6616,6616,11955,6616,6616,6616,6616,11649,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,11961,6616,6616,6616,6616,6616,6616,6616,6616,6616,9064,6616,6616,6616,8729,6616,6616,6616,6616,6616,11197,6616,6616,6616,6616,6616,6616,6616,6616,6616,12172,6616,6616,6616,6616,6616,6616,6616,6616,6616,12124,11676,6616,6616,6616,6616,6616,6616,6616,6616,11693,11720,12092,11728,11752,6616,6616,6616,6616,6616,6616,6616,8005,6616,6616,6616,6616,6616,6616,6616,11170,6616,6616,6616,6616,10789,6616,6616,6616,6616,6616,6616,6616,6616,6616,7489,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,11624,6616,6616,6616,6616,11770,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,9328,6616,6616,6616,6616,6616,6616,6616,6616,6616,7704,8316,9768,9820,10787,6616,6616,6616,6616,6616,7609,8328,9885,11855,10821,6616,6616,6616,6616,6616,6616,6616,6616,6616,8304,6616,6616,6616,9488,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,9193,6616,6616,6616,6616,6616,6616,7796,6616,6616,6616,6616,6616,6616,6616,6616,6616,11254,6616,6616,6616,6616,6616,6616,6616,6616,6616,9028,6616,6616,6616,6616,6616,6616,6616,6616,6616,10635,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,9500,6616,6616,6616,6616,6616,6616,6616,6616,9052,6616,6616,6616,6616,6616,6616,6616,6616,6616,8724,6616,6616,6616,6616,6616,6616,6616,6616,6616,11242,6616,6616,6616,6616,6616,6616,6616,6616,6616,7808,6616,6616,6616,6616,6616,6616,6616,6616,6616,7802,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,8785,6616,6616,6616,6616,6616,6616,11269,6616,6616,6616,6616,6616,6616,6616,6616,6616,12124,6616,6616,6616,6616,6616,6616,6616,6616,6616,11785,11833,12085,11841,11886,6616,6616,6616,6616,6616,9007,6616,6616,6616,6616,6616,6616,6616,6616,6616,11363,6616,6616,6616,6616,6616,6616,6616,6616,6616,8186,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,8265,8230,6616,6616,6616,6616,6616,6616,11810,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,8235,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6589,6616,6616,6616,6616,6616,11910,6616,6616,6616,6616,6616,8734,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,9352,6616,6616,6616,6616,6616,6616,6616,6616,6616,11536,6616,6616,6616,6616,6616,6616,6616,8998,6616,6616,6616,6616,6616,6616,6616,6616,6616,11816,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,11918,6616,6616,6616,6616,6616,6616,6616,6616,6616,11942,6616,6616,6616,6616,11978,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,11685,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,8403,12008,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,11662,6616,6616,6616,6616,6616,6616,6616,6616,6616,11466,6616,6616,6616,6616,6616,6616,6616,6616,11668,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,8790,6616,6616,6616,6616,6616,6616,10737,6616,6616,6616,6616,12032,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,12071,6616,6616,6616,6616,6616,6616,6616,6616,6616,12071,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,9234,6616,6616,6616,6616,6616,6616,11248,6616,6616,6616,6616,6616,6616,6616,6616,6616,6616,12175,9740,9747,12111,6616,6616,6616,6616,6616,6616,7775,9684,12135,12183,6616,6616,6616,6616,6616,12198,6616,6616,6616,6616,6616,6616,6616,6616,6616,11260,6616,6616,6616,6616,12453,12241,12953,12244,12240,12240,12240,12454,12242,12243,12456,12951,12953,12953,12953,12953,12953,12953,12953,12953,12241,12241,12244,12457,12244,12240,12240,12240,12365,12240,12240,12240,12240,15234,12240,12240,12240,12243,12952,12953,12953,12953,12229,12953,12953,12953,12244,12240,12240,12240,12240,12498,12240,12240,12240,12239,12240,12240,12240,12240,12240,12240,12240,12240,12405,12455,12240,12240,12240,12240,12240,12240,12240,12437,12248,14638,12254,12256,12240,12240,12240,12262,14533,14020,12266,12352,12890,12270,12278,13325,12284,12299,12290,12297,12431,12286,12345,12897,12843,12303,12903,12316,12320,12903,12334,12286,12325,12329,12333,12343,12349,12838,12356,13305,13342,12941,12363,12369,12424,12240,12240,12240,12387,12240,12240,12240,12240,14437,12240,12240,12240,13756,12902,12903,12903,12903,12903,12903,12903,12903,12271,12903,12638,12903,12903,12903,12632,12903,12855,12903,12805,12903,12903,12903,12903,12903,12292,12430,12903,12903,12435,12240,12240,12240,12240,12912,12240,12240,12240,13667,12461,12240,12240,12240,12240,13008,12240,12411,12412,12412,12412,12412,12412,12412,12412,12412,12467,12240,12240,12240,12240,12240,12240,12240,12441,12239,12472,12240,12240,12240,12240,12240,12240,12258,12240,12240,15111,12240,12240,12240,12240,12240,12240,12393,12240,13080,12240,12240,12240,12240,12240,12240,12240,12503,14731,15162,14731,14732,14730,12521,12511,15168,12520,12565,12525,12566,14730,12565,14733,12530,12571,12541,15144,12571,12559,15144,12563,12570,14730,12526,15174,14731,14733,12526,14732,12240,12468,12811,12240,12240,12240,12240,12240,12981,12240,12240,14167,14167,14170,12580,14166,14170,12587,12585,14169,14174,14171,12580,14175,14172,14169,12581,14173,12581,14170,14172,12580,14170,14175,14168,14166,14172,14175,14167,14173,14172,12580,14170,14303,14307,12597,12599,14308,14306,12599,12604,12607,14310,14307,12599,14311,14308,14305,12600,14309,12600,14306,14308,12599,14306,14311,14304,14302,14308,14311,14303,14309,14308,12599,14306,12240,14777,12611,12240,12240,12240,12240,12240,12390,12240,12240,14655,14659,14658,12620,14660,14658,12620,14663,12617,14662,14659,12620,14663,14660,14657,12621,14661,12621,14658,14660,12620,14658,14663,14656,14654,14660,14663,14655,14661,14660,12620,14658,12903,12799,12642,12903,12321,12903,12291,12291,12903,12826,12903,12653,12320,12903,12903,12903,12435,12240,12240,12240,12240,13041,12240,12240,12240,12651,13037,12658,12903,12832,12321,12903,13305,12500,12763,12753,12713,12759,12753,12713,12762,12761,12758,12713,12762,12759,12756,12754,12420,12676,12417,12419,12675,12417,15115,12415,12413,12419,15115,12414,12420,12419,12675,12417,12412,12418,12416,12680,12754,12240,12240,12240,12627,12240,12240,12240,12240,12739,12240,12240,12240,12240,12811,12271,12902,12273,12903,12496,13058,13061,12695,13064,13062,12695,13067,12514,12906,12646,12908,12907,12699,12647,13065,13063,13061,13064,12695,13061,13067,12497,12495,13064,13067,12496,13065,13064,12695,13061,12903,13311,12903,12653,12653,12903,12903,12903,12669,12240,12240,12240,12240,13013,12240,13767,12240,13311,12321,12653,12903,13311,12321,12903,12291,12496,13068,12690,12695,13064,12694,12695,13067,12533,13099,12775,13101,13100,12536,12776,12515,12647,12905,12907,12646,12905,12908,12516,12904,12907,12908,12700,12515,12907,12646,12644,12903,12906,12699,12704,13063,12240,12240,12240,12811,12321,12653,12292,12903,12496,13058,12708,12695,13064,13062,12695,13067,13066,13058,12695,13067,13064,13060,13063,12500,12753,12712,12713,12759,12753,12713,12762,15114,12418,12675,15115,12419,12416,12676,12760,12754,12757,12759,12713,12757,12762,12501,12499,12759,12757,12500,12502,12755,12713,12757,12500,12753,12753,12713,12759,12753,12713,12762,12499,12759,12762,12500,12760,12759,12713,12757,12496,13068,12724,12695,13064,13062,12695,13067,12500,12753,12728,12713,12759,12753,12713,12762,12496,13058,12743,12695,13064,13062,12695,13067,12760,12754,12757,12759,12713,12747,12734,12501,12499,12759,12757,12500,12720,12755,12713,12752,14357,12758,12502,12757,12754,12240,12240,12240,12811,13318,12653,12292,12903,12500,12753,12767,12713,12759,12753,12713,12762,12499,12759,12757,12500,12737,12755,12713,12757,12496,13075,12771,12695,13064,13062,12695,13067,12534,12776,13098,13100,12775,13098,13101,12535,13097,13100,13101,12537,12534,13100,12775,13098,12412,13099,12536,12780,13063,12240,12240,12240,12934,12240,12240,12240,12240,13184,12240,12240,12240,12496,13058,12784,12695,13064,13062,12695,13067,12495,13064,13061,12496,12498,13059,12695,13061,12496,13058,12788,12695,13064,13062,12695,13067,12248,14328,12359,12256,12240,12240,12240,12441,14527,14020,12792,12352,12659,12798,12803,12903,12271,12274,12903,12271,12903,12272,12272,12903,13327,12809,12903,12654,12903,12823,12272,12903,12900,12903,12816,12902,12903,12903,12903,12811,12240,12240,12240,12240,13079,12240,12240,12240,12820,12271,12902,12903,13308,12271,12842,12272,14147,12748,12847,12713,12759,12753,12713,12762,12731,13049,12337,12308,12339,12338,12311,12309,13050,12309,12336,12338,12308,12336,12339,13051,12335,12851,12336,12312,12854,12310,12308,12306,12903,12337,12854,12859,12754,12240,12240,12240,12997,12240,14624,12240,12240,12760,12754,12757,12759,12713,12863,12762,12501,12499,12759,12762,12500,12760,12682,12713,12867,13342,12941,12875,12369,12424,12240,12240,12240,13142,12240,12240,12240,12240,13849,12240,12240,12240,12248,13135,13343,12256,12240,12240,12240,12240,13017,12240,12240,12240,14527,12240,12240,13137,12412,12412,12412,12412,13096,12412,12412,12412,13342,12941,12882,12240,12240,12240,12240,12240,12996,13001,12240,12412,12412,12412,13137,12240,12240,12240,12240,13019,12240,12240,12240,14533,14020,12266,12352,12890,12270,12278,12903,12271,12274,12903,12654,12903,12823,12272,12889,12299,12290,12903,12431,12286,12345,12291,12903,12886,12903,12316,12320,12903,12334,12286,12894,13037,12333,12903,12829,12321,12356,13305,13805,12902,12903,12903,12903,12903,12903,12903,12903,12292,12430,12903,12903,12435,12912,12240,12240,12240,13182,12240,12240,12240,13182,12248,14638,12254,12256,12240,12240,12240,12441,12894,13037,12333,12903,12829,12321,12842,13305,14277,14503,12917,12919,14276,14502,12919,12927,12930,12902,12903,12903,12903,12903,12903,12903,12903,12321,13342,12941,12363,12240,12240,12240,12240,12240,13110,12240,12240,12242,12241,12244,12457,12244,12240,12240,12240,13225,12240,12240,12240,12240,14683,13225,12240,13471,12953,12953,12953,12948,12953,12953,12953,12953,12233,12240,12240,12240,12240,12381,12240,12240,12240,12243,12952,12953,12953,12953,12945,12953,12953,12953,12948,12953,12953,12953,12227,13667,12240,12240,12240,12240,12240,13008,12240,12468,12811,12240,12240,12240,12240,12441,14370,12240,12240,12240,12240,12240,12240,12240,12545,12957,12240,12240,12240,12240,12240,12240,12240,13176,12962,12240,12240,12240,12240,12240,12240,12240,13177,12903,12900,12903,12902,12902,12903,12903,12903,12924,12920,12240,12240,12240,13217,12240,12240,12240,12240,13217,12240,13445,12240,12240,12900,12271,12902,12903,12900,12271,12903,12272,14357,12240,12240,12240,12240,12240,12240,12240,13227,13339,12240,13339,13340,13338,13339,12240,12240,12235,12240,12240,12250,12240,12240,12363,12240,12240,12240,12240,12240,13205,12240,13204,13338,13340,15324,13025,15322,13026,13341,13023,13080,13339,13338,12240,13340,13338,13338,12240,12468,13030,12240,12240,12240,12240,12240,13201,12240,13200,13338,13340,12240,13339,13341,15325,13340,12240,12478,12476,12477,12484,12240,12240,12240,14231,12240,12240,12240,12240,12240,14237,12240,12240,12240,12240,12240,14243,15203,12240,12240,12240,12240,14259,12240,12240,12240,12240,12240,14742,12240,12240,12240,15324,13341,12240,13341,12240,12240,12240,13233,12240,12240,12240,12240,13289,12240,12240,12240,12240,14581,12240,12240,12240,12903,12900,12903,13036,12902,12903,12903,12903,13127,12240,12240,12240,12240,13396,12240,12240,12240,13403,12902,12903,12903,12903,12903,12903,12903,12903,12855,12430,12903,12903,12435,13041,12240,12240,12240,13289,13636,12240,12240,12240,13291,12240,13262,13709,13460,13342,12941,12363,12240,12424,12240,12240,12240,13333,12240,14721,12240,13480,13342,12941,13046,12369,12424,12240,12240,12240,13369,12240,12240,12240,12240,13185,12240,12240,12240,13055,12902,12903,12903,12903,12903,12903,12903,13155,12240,12240,12240,12240,14044,12240,12450,12240,13342,12941,13072,12369,12424,12240,12240,12240,13397,12240,12240,12240,12240,13263,12240,12240,12240,12430,12903,12903,12435,13079,12240,12240,12240,13486,12240,12240,12240,12240,14855,12240,12240,12240,13311,12321,12658,12903,13311,12321,12903,12291,12903,12805,12903,12903,12903,12903,12903,12273,14700,13135,13343,12256,12240,12240,12240,12240,13337,12240,12240,12240,13342,12941,13117,14509,12240,12240,12240,12240,13383,12240,12240,12240,14515,12902,12903,12903,12903,12903,12903,12903,12321,12293,12903,12321,12903,12291,12291,13133,13135,12240,12240,12240,12240,12240,12240,13159,12240,13342,12941,13148,12369,12424,12240,12240,12240,13612,12240,12240,12240,12240,14900,12240,12240,12240,12412,12412,12412,13108,12240,12240,12240,12240,14350,12240,12240,12240,12506,12505,12240,12504,12240,12240,12240,12505,12506,12240,12240,12505,12240,12240,13392,12240,12488,12240,12240,12240,12240,12240,12240,15304,12240,13267,12240,12240,12240,12240,12240,12240,14629,12903,12799,13295,12903,12280,12903,13302,12291,12903,13299,12903,13317,12320,12903,12903,12903,12321,12642,12903,12321,12903,12291,12291,13322,13037,12658,12903,12832,12321,12903,13305,12903,13311,12903,13317,12653,12903,12903,12903,12321,13313,12903,12321,12903,12291,12291,12835,12321,12653,12903,13311,12321,12903,12291,12430,12903,12903,12435,13337,12240,12240,12240,13618,12240,12240,12240,12240,15119,12240,12240,12240,13342,12941,13353,13357,12240,12240,12240,12240,14592,12240,12240,12240,13182,12240,13363,12240,12240,12240,12240,12240,13677,12240,12240,13183,12240,12240,12240,13185,12240,12240,12240,13983,12240,12240,12240,12240,14023,12240,12240,12240,12240,12502,12240,12240,12240,13342,12240,12240,12240,12240,12240,12240,12240,13231,13342,12941,13389,12369,12424,12240,12240,12240,14026,12240,12240,12240,12240,14029,12240,12240,12240,12240,14332,12240,12240,12240,12240,14344,12240,12240,12240,12240,14355,12240,12240,12240,12240,14364,12240,12240,12240,12240,14382,12240,12240,12240,12240,14384,12240,12240,12240,12240,14399,12240,12240,12240,12240,14409,12240,12240,12240,12240,14427,12240,12240,12240,12240,14436,14351,12240,12240,12240,14442,12240,12240,12240,12240,14500,12240,12240,12240,12240,14539,12240,12240,12240,12240,13636,12240,12240,12240,14700,12240,13343,12256,12240,12240,12240,12240,14668,13217,12240,12240,13342,12941,12240,14509,12240,12240,12240,12240,14683,13225,12240,12240,12903,12799,13407,12903,12280,12903,13302,12291,14394,12240,12240,12240,14393,12240,12240,12240,14539,12240,12794,12240,12240,13431,13135,12240,12240,12240,12240,12240,13439,14871,14871,14871,14872,14870,14411,13499,14411,14414,13493,14412,13494,14870,13493,14873,13499,14411,14873,13498,14411,14414,14872,14870,14413,14411,14871,14873,14413,14872,12240,12758,12502,12717,12754,12240,12240,12240,12992,12240,12240,12240,12240,15274,12240,12240,12240,14723,14723,14723,14724,14722,13897,13531,13897,13533,13509,13514,13510,14722,13509,13518,13526,14725,13531,13897,14725,13530,13897,13533,14724,14722,13538,13897,13534,14725,13532,14724,12240,12758,12502,12757,12754,12240,12240,12240,12811,12659,12902,12273,12903,14863,14863,14863,14864,14862,15042,15044,15042,15046,13551,15043,13552,14862,13551,15044,13556,14865,15044,13556,14865,15043,15042,15046,14864,13551,15044,15042,15042,14865,15045,14864,12240,12758,12756,12717,12754,12240,12240,12240,12811,13318,12631,12636,12903,13560,15043,15045,12240,14865,12240,12240,12240,14888,12240,12240,12240,12240,14890,12240,12240,12240,12240,14894,12240,12240,12240,12240,14989,12240,12240,12240,12240,15060,12240,13462,12240,12240,14902,14902,14902,14903,14901,15052,15054,15052,15056,13564,15053,13565,14901,13564,15054,13572,14904,15054,13572,14904,15053,15052,15056,14903,13569,15054,15052,15052,14904,15055,14903,12240,12758,12756,12757,12754,12240,12240,12240,14263,12240,12240,12240,12378,12240,13564,15053,15055,12240,14904,12240,12240,12240,15066,12240,13258,12240,12240,14941,14941,14941,14942,14940,15068,15070,15068,15072,13576,13584,13579,14940,13580,15070,13585,14943,15070,13585,14943,15069,15068,15072,14942,15069,15070,13589,15068,14943,15071,14942,12240,12758,12756,12871,12754,12240,12240,12240,13112,12240,12240,12240,12240,13137,12412,12412,12412,12412,12412,13105,12412,12412,13580,15069,15071,12240,14943,12240,12240,12240,15091,12240,12240,12240,12240,15126,12240,12240,12240,12240,15132,12240,12240,12240,12240,15138,12240,12240,12240,12240,14939,12240,12240,12240,13435,13596,13607,13608,12977,13594,13605,13608,13595,13608,13606,13594,13602,13606,13597,12979,12977,13594,13597,12978,13608,13594,13594,12978,12978,13433,13593,12977,13607,13608,13606,12978,13598,13605,13607,13608,12240,12240,12240,15138,12240,12463,12240,12240,14689,12240,12240,12240,13427,12240,12240,12240,15196,12240,12240,12240,12240,15230,12240,12240,12240,12240,15244,12240,12240,12240,12240,15246,12240,12240,12240,12240,12442,12240,12240,12240,14691,12240,12240,12240,12240,12240,12240,12240,13246,13431,13135,12240,12240,12240,12240,12240,12240,14588,12240,13647,12426,12240,12240,12240,12240,12240,12240,14599,12240,12936,15043,15045,12240,14865,12240,12240,12240,15287,12240,12240,12240,12240,15299,12240,12240,12240,12240,15235,12240,12240,12240,12970,12970,12970,12971,12969,13375,13377,13375,13379,13812,13376,13813,12969,13812,13377,13703,13706,13377,13703,12972,13376,13375,13379,12971,13812,13377,13375,13375,12972,13378,12971,15264,13812,13376,13378,12240,12972,12240,12240,12240,13003,12240,12240,12240,12240,12240,14398,12240,12240,12573,12573,12573,12574,12572,13546,13543,13546,13545,13521,13547,13522,12572,13521,13543,13542,13715,13723,13542,12575,13541,13546,13545,12574,13521,13543,13546,13721,12575,13544,12574,12240,12902,12903,12903,12903,12903,12903,12903,12903,12273,13521,13541,13544,12240,12575,12240,12240,12240,13012,12240,12240,12240,12240,12240,13197,12240,15293,13032,12240,12240,12240,12240,13741,12240,12240,13121,12240,12240,12240,12240,12240,13401,12240,12240,13032,13197,12240,13196,12240,13747,13197,12240,12941,12240,12240,12240,12240,12240,12240,13277,12240,14689,13765,12240,12240,13771,12240,13761,12240,13058,12498,13061,13063,12240,12240,12240,12964,12240,12240,12240,12240,12977,12240,12240,12240,12977,14689,13776,12240,12240,13790,12240,12240,14644,13032,12240,12240,12240,12240,12240,12240,12240,13772,13203,13205,12240,13802,12240,13206,13205,12240,13058,13060,13061,13063,12240,12240,12240,13285,12240,12240,12240,12240,12240,13331,12240,12240,12240,12240,12240,13665,12240,12240,13032,13197,12240,13196,12240,13198,13197,12240,13058,13060,14004,13063,12240,12240,12240,14297,15178,12240,12240,12240,12240,14315,12240,12240,12240,12240,12240,14317,14960,12240,12240,12240,12240,14321,12240,12240,12240,12240,12240,14323,12240,12240,12240,12240,12240,14327,12240,12240,12240,12240,12240,14346,12240,12240,12240,12240,12240,14378,12240,12240,12240,12240,12240,14403,12240,12240,12240,12240,12240,14418,12240,12240,12240,12240,12240,14438,12240,12240,12240,12240,12240,14461,12240,12240,12240,12240,12240,14485,12240,12240,12240,12240,12240,14494,12240,12240,12240,12240,12240,14513,12240,12240,12240,12240,12240,14521,12240,12240,12240,12240,12240,14525,12240,12240,12240,12240,12240,14531,12240,12240,12240,12240,12240,14543,12240,12240,12240,12240,12240,14550,12240,12240,12240,12240,12240,14550,14569,12240,12240,12240,12240,14571,14575,12240,12240,12240,12240,14593,12240,12240,12240,12240,12240,14621,13759,12240,12240,12240,12240,14633,13759,12240,12240,12240,12240,14642,12240,12240,12240,12240,12240,14648,12240,12240,12240,12240,12240,14649,12240,12240,12240,12240,12240,15077,12240,12240,13521,13543,13546,13546,12575,13544,12574,12240,13113,12240,12240,12240,12240,12240,12240,13135,12240,12240,12240,12240,12240,12240,12940,12240,13203,13205,12240,13204,12240,13206,13205,12240,13157,12240,12240,12240,12240,12240,12240,15303,12240,13123,12240,12240,12240,12240,12240,12240,12240,13817,12496,13087,13845,12695,13064,13062,12695,13067,13233,12240,13233,14745,12240,12240,12240,12240,15313,12240,12240,12240,13232,12240,12240,13233,12240,12240,12240,12240,15315,12240,12240,13007,14875,12240,14875,14876,14874,14875,12240,12240,13343,12256,12240,12240,12240,12240,14667,12240,12240,12240,14874,14876,13863,13870,14874,13871,14877,13868,12240,14875,14874,12240,14876,14874,14874,12240,13165,13163,13164,14124,12240,12240,12240,14220,12240,12240,13205,12240,12240,13279,15166,12240,12240,12240,12240,13283,12240,12240,12240,12240,12240,13467,12240,12240,14874,13875,12240,14875,14877,13864,14876,12240,13173,12240,12240,14617,12240,12240,14617,14727,12240,14727,14728,14726,14727,12240,12240,13349,12240,12240,12240,12240,12240,12240,12240,15120,14726,13888,13881,13887,14726,13886,14729,13892,12240,14727,14726,12240,14728,14726,14726,12240,13179,13178,12240,12240,13178,12240,12240,14753,14603,12240,12240,12240,12240,14857,12240,12240,12240,12240,12240,14861,12240,12240,12240,12240,12240,14884,12240,12240,12240,12240,12240,14896,12240,12240,12240,12240,12240,14962,14548,12240,12240,12240,12240,14966,12240,12240,12240,12240,12240,14968,12240,12240,12240,12240,12240,14972,12240,12240,12240,12240,12240,14974,12240,12240,12240,12240,12240,15040,12240,12240,12240,12240,12240,15062,12240,12240,12240,12240,12240,15081,12240,12240,12240,12240,12240,15093,14882,12240,12240,12240,12240,15124,12240,12240,12240,12240,12240,15172,15281,12240,12240,12240,12240,15186,14954,12240,12240,12240,12240,15190,12240,12240,12240,12240,12240,15192,15012,12240,12240,12240,12240,15198,15199,12240,14998,12240,12240,15205,12240,12240,12240,12240,12240,14281,12240,12240,14726,13882,12240,14727,14729,13882,14728,12240,13180,12240,13179,12240,13181,13180,12240,13186,12240,12240,12240,12240,12240,12240,13626,12240,14867,14867,14867,14868,14866,13985,13910,13985,13988,13904,13986,13905,14866,13902,14869,13910,13985,14869,13909,13985,13988,14868,14866,13987,13985,14867,14869,13987,14868,12240,13190,12240,12240,12240,12240,12240,12240,13711,12240,14906,14906,14906,14907,14905,14420,13922,14420,14423,13916,14421,13917,14905,13914,14908,13922,14420,14908,13921,14420,14423,14907,14905,13923,14420,14906,14908,14422,14907,12240,13192,13191,12240,12240,13191,12240,12240,13193,12240,13192,12240,13194,13193,12240,13196,13195,12240,12240,13195,12240,12240,13183,13184,12240,13184,12240,12240,12396,12240,14683,13225,13466,13471,14910,14910,14910,14911,14909,14429,13928,14429,14432,13931,14430,13930,14909,13929,14912,13928,14429,14912,13927,14429,14432,14911,14909,13929,14429,14910,14912,14431,14911,12240,13200,13199,12240,12240,13199,12240,12240,13205,12240,13802,12240,13206,13205,12240,13058,13060,12686,13063,12240,12240,12240,12811,12321,12631,12636,12903,14914,14914,14914,14915,14913,14444,13936,14444,14447,13939,14445,13938,14913,13937,14916,13936,14444,14916,13935,14444,14447,14915,14913,13937,14444,14914,14916,14446,13943,12240,13208,13207,12240,12240,13207,12240,12240,13209,12240,13208,12240,13210,13209,12240,13212,13211,12240,12240,13211,12240,12240,13213,12240,13212,12240,13214,13213,12240,13216,13215,12240,12240,13215,12240,12240,12958,12240,12240,12240,12240,12240,12968,12240,12240,12240,12240,12240,13144,12240,12240,14918,14918,14918,13949,14917,14453,13957,14453,14456,13960,14454,13959,14917,13958,14920,13957,14453,14920,13962,14453,14456,14919,14917,13958,13961,14918,13959,13958,14455,12240,13217,12240,13216,12240,13218,13217,12240,12525,14733,12240,14733,12240,12240,12240,12495,12240,12240,12240,12495,14922,14922,13976,14479,14921,14472,14479,14472,13975,14476,14473,14475,14921,14474,14481,14479,14924,14479,14472,13966,14478,14472,13972,14923,14921,14474,14477,14922,14475,14474,14480,12240,13220,13219,12240,12240,13219,12240,12240,13221,12240,13220,12240,13222,13221,12240,13224,13223,12240,12240,13223,12240,12240,12985,12240,12240,12240,12240,12240,13180,12240,12240,14926,14926,14487,13992,14925,14487,13992,14487,14490,13995,14488,13994,14925,13993,14490,13992,14928,13992,14487,14489,13997,14487,13996,14927,14925,13993,13996,14926,13994,13993,14489,14334,14932,14012,14934,14011,14929,14010,14932,14009,14001,14009,14933,14935,14008,14933,14013,14931,14929,14010,14013,14930,14011,14010,14935,14930,14930,14933,14009,14929,14933,14009,14933,12240,14934,14932,14933,14009,12240,12240,12240,13614,14586,12240,12240,12240,12240,13620,12240,12240,12240,12240,12240,13630,12240,12240,12240,12240,12240,14376,12240,12240,14947,14059,14949,14017,14944,14057,14947,14056,14058,14056,14948,14950,14055,14948,14060,14946,14944,14057,14060,14945,14058,14057,14950,14945,14945,14948,14056,14944,14948,14056,14948,12240,14949,14947,14948,14056,12240,12240,12240,13632,12240,12240,12240,12240,12240,13649,12240,12240,12240,12240,12240,13653,12240,12240,12240,12240,12240,14470,12240,12240,13640,14072,13642,14069,13637,14070,13640,14069,14071,14069,13641,14064,14068,13641,14073,13639,13637,14070,14073,13638,14071,14070,13643,13638,13638,13641,14069,13637,13641,14069,13641,13693,13698,13695,14078,13690,13696,13693,14078,13697,14078,13694,13696,14077,13694,13699,13692,13690,13696,13699,13691,13697,13696,14079,13691,13691,13694,14078,13690,13694,14078,13694,13731,13736,13733,14051,14047,13734,13731,14051,13735,14051,13732,13734,14050,13732,13737,13730,13728,13734,13737,13729,13735,13734,13734,13729,13729,13732,14051,13728,13732,14051,13732,13780,13785,13782,14086,14083,13783,13780,14086,13784,14086,13781,13783,14085,13781,13786,13779,13777,13783,13786,13778,13784,13783,13783,13778,13778,13781,14086,13777,13781,14086,13781,13821,13826,13823,14090,13827,13824,13821,14095,13825,14095,13822,13824,14094,13822,13827,13820,13818,13824,13827,13819,13825,13824,13824,13819,13819,13822,14095,13818,13822,14095,13822,13833,13833,13836,14103,13832,13836,14103,13836,13835,13840,13837,14102,13841,13838,13835,14103,13839,14103,13836,13838,14102,13836,13841,13834,13832,13838,13841,13833,13839,13838,14099,14496,13851,13851,13854,14107,13850,13854,14112,13854,13853,13858,13855,14111,13859,13856,13853,14112,13857,14112,13854,13856,14111,13854,13859,13852,13850,13856,13859,13851,13857,13856,14111,13854,13161,14116,13164,14123,13160,13164,14123,13169,13163,13168,13165,14123,13169,13166,13163,14124,13167,14124,13164,13166,14123,13164,13169,13162,13160,13166,13169,13161,13167,13166,14123,13164,14283,14287,14286,14131,14128,14286,14131,14291,14285,14290,14287,14131,14291,14288,14285,14132,14289,14132,14286,14288,14131,14286,14291,14284,14282,14288,14291,14283,14289,14288,14131,14286,12474,12878,14136,14138,12479,12483,14138,12482,12481,12478,14138,12482,12479,12476,12484,12480,12484,12477,12479,14138,12477,12482,12475,12473,12479,12482,12474,12480,12479,14138,12477,12500,12753,12753,12713,12759,14142,12713,12762,12760,12754,12757,12759,12713,12757,12762,14161,14146,12759,12757,12500,12502,12755,12713,12757,12496,13058,14151,12695,13064,13062,12695,13067,12695,13066,13062,12695,13067,13064,13060,13063,12495,13064,13067,12496,13063,13064,12695,13061,12496,13058,13060,13062,13063,12240,12240,12240,14270,14271,12240,14271,12240,12240,14275,12240,12240,12240,12240,12240,15275,12240,12240,12240,12240,12240,14391,12240,12240,12496,13058,14155,12695,13064,13062,12695,13067,12760,12754,12757,12759,12713,12757,12762,14193,14159,12759,12757,12500,12502,12755,12713,12757,14165,12758,12502,12757,12754,12240,12240,12240,14295,12240,12240,12240,12240,12240,15306,12240,12240,12496,13058,13061,12695,13064,12694,12695,13067,12496,13058,14179,12695,13064,13062,12695,13067,12496,13058,14183,12695,13064,13062,12695,13067,12496,13058,14187,12695,13064,13062,12695,13067,12760,12754,12757,12759,12713,12757,12762,14199,14191,12759,12757,12500,12502,12755,12713,12757,12760,12754,12757,12759,12713,12757,12762,13151,14197,12759,12757,12500,12502,12755,12713,12757,12372,12758,12502,12757,12754,12240,12240,12240,14649,12240,12240,12987,12240,12240,12991,12240,12240,12240,12240,12240,13193,12240,12240,12496,13058,14203,12695,13064,13062,12695,13067,12496,13058,14207,12695,13064,13062,12695,13067,12496,13058,14211,12695,13064,13062,12695,13067,12496,13058,14215,12695,13064,13062,12695,13067,14235,12240,12240,12240,12240,12240,12240,12240,13831,14241,12240,12240,12240,12240,12240,12240,12240,14225,14247,12240,12240,12240,14247,12240,12240,12240,14649,12240,12240,14738,12240,12240,12402,15184,12240,12240,12240,12240,12544,12240,12240,12240,12240,12240,12663,12240,12240,12240,12240,12240,12613,12240,12240,14252,12240,12240,12240,14252,12240,12240,12240,14693,12240,12240,12240,12240,12240,13445,12240,12240,12375,12240,12240,12240,12240,12240,12240,12240,14248,14466,12240,12240,12240,12240,12240,12240,12240,14507,12496,13058,12690,12695,13064,13062,12695,13067,12496,13058,12724,12695,13064,13062,12695,13067,12496,13058,12771,12695,13064,13062,12695,13067,13175,12240,12240,12240,12240,12240,13174,12240,13175,12240,13177,12240,12240,12240,12240,12240,12240,12240,14609,14544,12240,12240,12240,12240,12240,12240,12240,14611,14451,12240,12240,12240,12240,12240,12240,12240,14629,14519,12240,12240,12240,12240,12240,12240,12240,14636,14582,12240,12240,12240,12240,12240,12240,12240,14678,12240,14675,14674,14557,14676,14554,14557,14565,14560,14673,12240,14564,14560,14677,14673,12240,13457,12240,12240,12240,12240,12240,12240,14253,12240,14560,14676,14563,14559,14565,14563,14560,14561,14653,12240,12240,12240,12240,12240,12240,12240,14994,12240,14672,12240,12240,12240,12240,12240,12240,13477,12240,12240,12240,12240,12240,12240,14301,12240,14687,12240,12240,12240,12240,12240,12240,12240,15076,14735,14735,14735,14736,14734,13269,13271,13269,13273,14712,13270,14713,14734,14712,13271,14706,14737,13271,14706,14737,13270,13269,13273,14736,14712,13271,13269,13269,14737,13272,14736,12240,13642,13640,13641,14069,12240,12240,12240,13657,12240,12240,12240,12240,12240,14537,12240,12240,14710,13270,13272,12240,14737,12240,12240,12240,13689,12240,12240,12240,12240,12240,12240,14627,12240,13418,12974,12974,12975,12973,13413,13415,13413,13417,13952,13414,13953,12973,13952,13415,14717,12976,13415,14717,12976,13414,13413,13417,12975,13952,13415,13413,13413,12976,13416,12975,12240,13695,13693,13694,14078,12240,12240,12240,13661,12240,12240,12240,12240,12240,14697,12240,12240,13952,13414,13416,12240,12976,12240,12240,12240,13717,12240,12240,12240,12240,12240,12240,14985,12240,13425,12240,12240,12240,12240,12240,12240,12240,15305,12240,14757,12240,12240,12240,12240,12240,12240,13733,13731,13732,14051,12240,12240,12240,13673,12240,12240,12240,12240,12240,13679,12240,12240,12240,12240,12240,13683,12240,12240,12240,12240,12240,14760,12240,12240,12240,14772,12240,12240,12240,12240,12240,12240,13753,12240,12240,12240,12240,12240,12240,14682,12240,15e3,15e3,15e3,15001,15003,15004,15006,15004,15008,14781,15005,14782,15003,14781,15006,14788,15002,15006,14786,15002,15005,15004,15008,15001,15003,15006,15004,15004,15002,15007,15001,12240,13782,13780,13781,14086,12240,12240,12240,13685,12240,12240,12240,12240,12240,13727,12240,15270,12240,12240,12240,13084,12240,12240,12240,12240,12240,13252,12240,12240,12240,15005,15007,12240,15002,12240,12240,12240,13798,12490,12240,12240,13042,12240,12240,12235,12240,12240,12240,12240,12240,14878,12240,12240,15014,15014,15014,15015,15017,15018,15020,15018,15022,14792,15019,14793,15017,14792,15020,14798,15016,15020,14797,15016,15019,15018,15022,15015,15017,15020,15018,15018,15016,15021,15015,12240,13809,12240,12240,12240,12240,12240,12240,14979,12240,12240,15019,15021,12240,15016,12240,12240,12240,13823,13821,13822,14095,12240,12240,12240,13743,12240,12240,12240,12240,12240,13743,14615,12240,12240,12240,12240,13749,12240,12240,12240,12240,12240,13792,12240,12240,12240,12240,12240,13796,12240,12240,12240,12240,12240,15136,12240,12240,15028,15028,15028,15029,15031,15032,15034,15032,15036,14808,15033,14809,15031,14808,15034,14802,15030,15034,14802,15030,15033,15032,15036,15029,14806,15034,15032,15032,15030,15035,15029,12240,13837,13835,13836,14103,12240,12240,12240,13877,12240,12240,12240,12240,12240,13945,12240,12240,12240,12240,12240,13968,12240,12240,12240,12240,12240,14035,12240,12240,12240,12240,12240,14038,12240,12240,12240,12240,12240,15209,12240,12240,12240,15033,15035,12240,15030,12240,12240,12240,13855,13853,13854,14112,12240,12240,12240,14220,12240,12240,12240,12240,12240,13258,12240,12240,13064,13066,13062,13063,13067,13064,13060,13063,12495,13064,13067,12496,13063,13064,13064,12496,12496,14813,13063,12495,13062,13063,13061,12759,12761,12753,12754,12499,12759,12756,12754,12499,12759,12762,12500,12754,12759,12759,12500,12500,14817,12754,12499,12753,12754,12757,12500,12758,12756,12753,12754,12240,12240,12240,13863,14877,12240,14877,12240,12240,12240,13347,12240,12240,12240,12240,12240,13671,12240,12240,12496,12496,14821,13063,12495,13062,13063,13061,12496,12496,14825,13063,12495,13062,13063,13061,13064,13066,13062,13063,12495,13064,13060,13063,12496,12496,14829,13063,12495,13062,13063,13061,12496,12496,14833,13063,12495,13062,13063,13061,12496,12496,14837,13063,12495,13062,13063,13061,14841,12554,12551,14845,12555,12552,12549,14845,12553,14845,12550,12552,14844,12550,12555,12548,12546,12552,12555,12547,12553,12552,12552,12547,12547,12550,14845,12546,12550,14845,12550,15240,12240,12240,12240,12240,12240,12240,12240,13881,14729,12240,14729,12240,12240,12240,13359,12240,12240,12240,12240,12240,12240,12240,15293,12240,14978,12240,12240,12240,12240,15180,12240,13898,13532,12240,14725,12240,12240,12240,14674,14675,12240,12240,12240,14751,12240,12240,12240,12240,14766,12240,12240,12240,12240,14768,12240,12240,12240,12240,14849,12240,12240,12240,12240,14851,12240,12240,12240,12240,13091,12240,12240,12240,14983,12240,12240,12240,12240,12240,12240,12240,13986,14869,12240,14869,12240,12240,12240,13385,15250,12240,12240,12240,12240,13411,12240,12240,12240,12240,12240,14224,12240,12240,13895,12240,12240,12240,12240,12240,12240,12240,14119,13624,12240,12240,12240,12240,12240,14367,14041,12446,14991,14991,14991,14992,14990,15083,15085,15083,15087,15097,15084,15098,14990,15097,15085,15102,14993,15085,15102,14993,15084,15083,15087,14992,15084,15085,15083,15083,14993,15086,14992,12240,14171,14169,14170,12581,12240,12240,12240,12499,12240,12240,12240,12499,15097,15084,15104,12240,14993,12240,12240,12240,14219,12240,12240,12240,12240,12240,12240,15180,12240,15097,15084,15108,12240,14993,12240,12240,12240,14257,12240,12240,12240,12240,12240,12240,15252,15258,15130,12240,12240,12240,12240,12240,12240,12240,14264,12240,12240,12240,12240,12240,12240,15285,12240,12240,12240,12240,12240,15291,12240,12240,12240,12240,12240,15142,12240,12240,12240,12240,12240,12240,12240,14268,12240,12240,12240,12240,12240,12240,15268,12240,13243,12240,13243,13244,13242,13243,12240,12240,14287,14285,14286,14132,12240,12240,12240,14220,12240,12240,13205,12240,13204,13203,12240,12240,13203,12240,14032,13242,13244,15148,15155,13242,15156,13245,15153,13242,13244,12240,13243,13245,15149,13244,12240,14307,14305,14306,12600,12240,12240,12240,12506,12240,12240,12240,12240,14405,12240,12240,12240,12240,15148,13245,12240,13245,12240,12240,12240,14328,12811,12240,12240,12240,12240,12240,13129,12240,12240,15160,12240,12240,12240,12240,12240,12240,12240,14328,12811,12240,12240,12240,12240,12441,13239,12240,13239,13240,13238,13239,12240,12240,14361,12240,12240,12240,12240,12240,12240,15205,15050,12240,12240,12240,12240,15211,15212,12240,15026,12240,12240,15228,12240,12240,12240,12240,12240,15256,12408,12240,12240,12240,12240,15269,12240,12240,12240,12240,12240,14762,12240,12240,13238,13240,15216,15223,13238,15224,13241,15221,13238,13240,12240,13239,13241,15217,13240,12240,14388,12240,12240,12240,12240,12240,12240,13225,12240,13224,12240,13226,13225,12240,12551,12549,12550,14845,12240,12240,12240,12671,12913,12240,13250,13256,12240,12240,12384,12240,12240,12240,12240,12240,13462,12240,12240,12240,15216,13241,12240,13241,12240,12240,12240,14412,13503,12240,14873,12240,12240,12240,14577,12240,12240,12240,12240,14372,12240,12399,12240,12240,15239,12240,12240,12240,12240,12240,14611,12576,12240,12240,12240,12240,12240,12240,12240,14421,14908,12240,14908,12240,12240,12240,13422,12240,12240,12240,12240,12240,14229,12240,12240,14702,12240,12240,12240,12240,12240,12240,12240,14430,14912,13092,14912,12240,12240,12240,13441,12240,12240,12240,12240,12240,13447,12240,12240,12240,12240,12240,13451,12240,12240,12240,12240,12240,14338,12240,12240,15262,12240,12240,12240,12240,12240,12240,12240,14445,14916,14913,14916,12240,12240,12240,13451,12240,14668,13217,12240,12240,12811,12240,12240,12240,12240,12240,13111,12240,12240,15279,12240,12240,12240,12240,12240,12240,12240,14454,14456,14917,14920,12240,12240,12240,13453,12240,12240,12240,12240,12240,13213,12240,12240,15297,12240,12240,12240,12240,12240,12240,12240,14460,12240,12240,12240,12240,12240,12240,13237,12240,12240,12240,12240,12665,12240,12488,12240,14747,12240,12494,14775,12240,12468,12625,12240,12240,12240,12240,12240,12593,12240,12240,12812,12240,12240,12240,12240,12240,12240,12240,14465,12240,12240,12240,12240,12240,12240,13239,13238,12240,13240,13238,13238,12240,13243,13242,12240,13244,13242,13242,12240,13367,13373,13368,12240,12240,12240,12240,14605,12240,12240,14956,12240,15310,12240,12240,12240,12240,12240,12240,14473,13975,14921,13980,12240,12240,12240,13473,12240,12240,12240,12240,12240,13221,12240,12240,13199,13201,12240,13200,12240,13202,13201,12240,14488,14490,14340,13992,12240,12240,12240,13473,14597,12240,12240,12240,12240,13482,12240,12240,12240,12240,12240,13488,13489,12240,12240,12240,12240,13505,12240,12240,12240,12240,12240,13614,12240,12240,12240,12240,12240,13209,12240,12240,12240,15319,12240,12240,12240,12240,12240,12240,14562,14674,12240,12240,12240,14565,14674,13138,12240,12240,12240,12240,12240,12240,12240,14659,14657,14658,12621,12240,12240,12240,12507,12240,12240,12240,12240,12591,12240,12240,12240,12240,12980,12240,12240,12240,262158,459398,459398,459398,14,459398,393230,459398,0,0,0,19529746,544610,0,0,0,0,459398,459398,0,0,0,12517384,0,0,0,19598450,1507336,17104904,4653064,4653064,0,0,0,20250642,2758178,0,0,26424722,0,26557666,0,3342354,1377634,1507336,1507336,1507336,0,1507336,1507336,0,25296914,1441810,1507336,1507336,1507336,35128786,1507336,25362450,25296914,25296914,25296914,25296914,1639826,1507336,1507336,1441800,1507336,1507336,1441800,1507336,1705554,1507336,1507336,1572882,25429362,25626226,25690130,25757202,1507336,0,1441806,1441806,1441806,1441806,1507336,1507336,1441806,1507336,25822754,1507336,1507336,1245202,25886738,1507336,1507336,1507336,1441800,1507336,2033074,1441800,26017810,26085010,1507336,1507336,26148882,26214418,25296914,1507336,1507336,1507336,1441806,1441806,1507336,1441806,1441806,1507336,1705634,1507336,1507336,1771010,1507336,1507336,2097170,2162706,1507336,0,3227730,3276818,2293778,1507336,2426562,1507336,0,4653064,4653064,2818066,2504546,0,0,0,20335786,2634770,0,2634706,0,0,29116210,0,0,30215618,0,0,30344210,0,0,31066098,0,0,33620258,0,0,33947666,0,0,36781362,0,0,36963602,0,0,37823778,0,0,38541042,0,0,40179666,0,0,42205202,0,0,42532882,0,327688,327688,327688,327688,655374,327688,327688,655374,655374,327688,655374,327688,3014674,3080210,0,0,0,20447250,2361010,1507336,1507336,1507336,1770978,1507336,2965202,0,0,0,20595970,2758178,0,0,0,1179656,26873234,0,3866642,3933298,3997714,0,4082610,0,459398,0,0,459398,0,459398,0,0,27131922,0,0,0,21244178,20381704,0,0,0,1376264,21057562,0,0,0,1376276,0,0,1376276,1376276,0,1376276,0,1376276,1376276,1376276,0,0,27272306,0,0,0,27206386,27337826,0,0,0,1441812,0,0,0,1507348,0,0,0,1572872,0,0,0,1837098,19398664,19267592,19267592,0,786446,1507336,786446,1507336,1441800,19464200,0,0,10485780,19267592,0,10485780,10485780,0,0,10485780,10485780,10485780,0,917518,327688,917518,327688,327688,917518,327688,19464200,19333128,10485780,0,983112,0,0,0,17629204,0,0,17629204,17629204,0,17629204,0,17629204,17629204,0,10485780,19333128,19333128,19202056,0,0,10485780,0,10485780,0,0,19202056,0,0,0,2362214,0,0,0,2424856,11612982,11612982,11612982,11612982,0,6029330,0,11612982,11612982,11612982,6094866,0,6174018,0,0,0,30475218,0,6373810,12320788,12320788,12320788,12320788,0,12320788,6488082,12320788,12320788,2555922,6422546,12320788,0,6567874,0,0,0,31000578,16728678,0,6422546,16728678,16728678,16728678,16728678,0,1507336,17104904,0,0,0,33689330,28050770,1507336,1507336,1507336,1902210,1507336,28114962,1507336,1507336,1836642,1507336,28181890,1507336,1507336,1441800,786446,786446,786446,786446,1507336,1507336,28247458,1441800,1507336,1507336,1507336,4537826,26214418,1507336,1507336,1507336,9043986,0,6636194,0,0,0,34078738,1507336,6695570,0,0,0,34144274,655374,655374,655374,655374,327688,327688,6881298,1507348,1507348,11862024,1507348,0,6695570,1441812,1441812,0,7016802,1441812,1441812,17301528,1441812,1441812,1441812,1441812,786446,1507336,1507336,786446,1507336,1507336,7077906,1441812,1441812,0,28377106,1441812,1441812,7143442,1507348,1507348,1507348,1507348,0,6695570,1507348,1507348,0,0,28713554,0,7409666,1441812,1441812,7471122,1507348,1507348,1507348,2555922,1310734,1507348,7936818,1507348,1507348,8323090,0,0,0,34360002,0,7602194,1441812,1441812,7864338,0,1507348,1507348,1048590,28778530,0,1507348,1507348,1507348,0,0,1507348,1507348,0,1507348,0,1507348,1507348,524302,8395554,1507348,1507348,1507348,0,8524306,1441812,1441812,917518,917518,917518,917518,327688,327688,6881298,1441812,1441812,0,8922914,1441812,1441812,0,29163538,1441812,1441812,0,26557666,0,0,0,36186146,9109522,1507336,1507336,1507336,25429362,1507336,9175058,1507336,1507336,1966098,1507336,9240594,1507336,1507336,0,0,0,2424872,29310642,1507336,1507336,1245202,1507336,9306130,0,1507336,1507336,4537778,1507336,1441800,25757202,1507336,1441800,2162706,1507336,1441800,28311570,1507336,1441800,35325490,1507336,1507336,2228242,26279954,2293778,1507336,1507336,1507336,25559058,2818066,1179662,1507348,1507348,1441806,1441806,1966098,1441806,1507336,1507336,1507336,25952274,1507336,2965202,1507348,1507348,0,11862024,1507348,1507348,0,9450658,1507348,1507348,0,9516226,1507348,1507348,2818066,2504546,12662682,0,1376276,1376276,12845076,2818066,2504546,0,16252936,1507336,25690130,25757202,1507336,1507336,25296914,25296914,1310738,1507336,2033074,1441800,1507336,1507336,25493522,1507336,0,0,1507336,1507336,1507336,1507336,786446,786446,1507336,786446,786446,15417194,0,0,0,2555912,2818066,2504546,12189716,12189716,12189716,12189716,0,1507336,2965202,12189716,12189716,0,12189716,12189716,2555922,2899858,12189716,0,6695570,0,0,0,38207506,9716018,0,0,0,2686994,459398,459398,1572878,459398,459398,131086,459398,0,459398,459398,459398,459398,1179656,0,0,0,2687016,0,10094978,0,0,0,39269874,7471122,0,0,0,2690054,0,0,0,2949140,0,0,0,3080212,0,0,0,3227794,0,7602194,0,0,0,39520850,7143442,0,0,0,3538962,7864338,0,0,0,3735570,0,7936818,0,0,0,39780370,28778530,0,0,0,4344386,8395554,0,0,0,4537826,0,8323090,0,0,0,41353234,10103622,10103622,10103622,0,10103622,0,10103622,1507336,3604488,0,0,0,42148306,29310642,1507336,1507336,1507336,26148882,11941242,0,0,0,4791442,2818066,2504546,16531946,0,1441806,1507336,1441806,1507336,0,0,11141138,2899858,0,1441812,1441812,0,0,1441812,1441812,1441812,0,1441812,0,1441812,1441812,2686994,2818066,2504546,12925050,0,1441812,1441812,6815762,9972426,0,0,0,5242898,7471122,0,15269892,0,1441812,1441812,12845076,32309266,0,0,0,5582114,32571410,327688,327688,327688,917518,917518,327688,917518,917518,327688,32636946,327688,327688,6881298,0,0,1048616,0,0,0,12132402,0,32702482,4461530,32510722,0,12459314,0,0,122,0,1507336,12590898,0,0,131080,0,0,32772690,0,0,327688,0,0,0,2424888,0,12779538,0,0,459650,0,2818066,2504546,9054042,0,1507348,0,8669042,1507336,7077906,0,0,917544,0,0,0,12072534,0,0,12072534,12072534,0,12072534,0,12072534,12072534,13187666,0,0,0,5636132,0,0,0,6298070,0,0,0,6488100,0,0,0,6815762,15941974,0,0,0,7150806,0,0,0,7610582,0,0,0,7667748,0,0,0,7741878,0,0,0,8004134,0,0,0,8332102,0,0,0,8397878,0,0,0,8463558,0,0,0,8594982,0,0,0,8669042,26873234,0,0,0,9119654,0,34013202,0,0,0,9830436,0,0,0,9895956,0,0,0,9962706,0,34209810,0,0,1311990,0,0,13762578,0,0,1771366,0,13830594,0,0,0,10027026,0,18219016,0,0,2034038,2034038,2034038,0,0,2034038,0,14894402,0,0,2296506,0,0,14942226,0,0,2362250,0,0,15007762,0,0,2490376,34278306,28181890,34996242,1507336,35063234,1507336,35192850,25757202,1507336,1507336,35128818,1507336,1507336,26345490,1507336,0,9371666,1507336,1441800,1441800,1507336,1507336,35063234,35258386,1507336,1507336,1507336,34930706,1507336,28247458,35325490,1507336,1508930,1507336,1507336,1572882,0,0,15210594,0,0,2490392,37093394,24982082,0,0,0,10103622,0,0,0,4653064,4653064,0,6373810,0,0,2555928,0,2818066,2504546,13107220,16252936,0,13107220,0,0,2621464,0,0,15728658,0,6488100,0,19660808,0,0,0,10160258,0,35800738,0,0,2690054,2690054,2690054,0,0,2690054,0,19678954,0,0,2755914,0,2818066,2504546,20072618,0,1572872,1572872,1572872,36503570,0,0,0,10289170,0,36569106,0,0,2899858,0,28181890,1507336,1507336,35063234,0,16714226,0,0,2949140,2949140,2949140,0,0,2949140,37027858,7471122,0,16796706,0,2162712,0,0,13959176,0,0,5439496,0,0,3080212,5963784,0,3080212,0,16862946,0,0,3080232,0,0,17114098,0,0,3276840,0,0,15728658,0,0,3411914,0,0,8397878,8397878,0,2228232,0,0,1902822,0,37823842,0,0,0,10363650,0,37889442,0,0,3477674,0,0,8594982,8594982,0,2228248,0,0,14171466,0,0,17385026,0,0,3543286,0,0,0,10551364,0,10551364,0,0,10551364,10551364,10551364,0,10551364,37945362,0,0,3735608,0,0,17711990,0,17711990,0,0,17711990,17711990,38010898,17711990,17432594,17498130,0,2362214,0,2362214,0,17711990,17711990,17711990,38076434,0,17711990,17711990,17711990,0,0,17711990,17432594,17711990,17711990,18677768,0,2362214,2362214,2362214,2362214,0,0,2362214,2362214,1703950,0,18040294,0,18040294,0,18040294,18040294,18040294,18040294,0,10094978,0,38207506,0,18087956,0,18087956,0,0,18087956,17825810,18087956,18087956,18087956,18087956,0,18153492,38273042,18153492,0,18153492,0,18153492,38338578,18153492,18153492,18153492,18153492,0,18284552,18153492,18153492,5963784,3080212,3080212,0,3080212,0,3080212,3080212,0,3080212,3080212,3080212,3080212,0,0,3080212,3080212,3080212,0,0,15204404,0,0,3871194,0,0,19136530,0,0,3932216,0,19347906,26557666,0,0,4082610,0,0,39455938,0,0,4128808,0,18499194,0,0,0,11141140,0,0,11141140,11141140,0,0,0,20381714,0,0,4194344,0,0,15210594,0,39976978,20715538,15210594,40179666,40239122,0,15210594,0,40370194,0,21044722,0,0,4214274,0,0,21110514,0,0,4259880,0,0,21176306,0,0,4325416,0,7143442,15210594,0,0,4390952,0,21314290,0,0,0,11206676,0,0,11206676,11206676,0,11206676,0,11206676,11206676,2690054,2690054,2690054,2690054,0,21495826,0,2555912,0,0,1835048,0,2362214,41680914,0,0,4458242,0,0,41814818,2362214,2362214,2362214,41746450,18808840,0,0,0,11272212,0,0,11272212,11272212,0,11272212,0,11272212,11272212,0,22282258,0,0,4461530,0,7610582,22282258,0,0,4522008,0,0,7610582,7610582,0,2555922,2899858,0,327700,0,0,13712378,0,0,21379970,0,0,4537778,0,13762568,0,0,0,11337746,21445730,0,0,0,11337748,0,0,11337748,11337748,0,11337748,0,11337748,11337748,0,13893640,0,0,4587560,0,20715538,15210594,0,0,4725138,0,23199762,0,7741878,0,2555922,2899858,15613994,7741878,7741878,7741878,0,2690054,0,2690054,0,26673378,0,0,0,11403284,0,0,11403284,11403284,0,11403284,0,11403284,11403284,4393058,0,0,0,11481526,0,0,11481526,11481526,0,11481526,0,11481526,11481526,0,12845076,1441812,1441812,9119654,0,0,0,11547302,0,0,11547302,11547302,0,11547302,0,11547302,11547302,0,10365846,10365846,0,0,10365846,10365846,10365846,0,10365846,0,10365846,5319586,10365846,0,0,4849720,0,0,10431510,10431510,0,0,0,10431510,0,10431510,0,5385250,10431510,10431510,10431510,0,2883624,0,0,17711990,17711990,17563666,27394066,10551316,0,10551316,0,10551316,0,0,10551316,10551316,10551316,0,10628246,10628246,0,10628246,0,10628246,0,0,10628246,10628246,10628246,0,5516450,0,10693910,10693910,10693910,0,10693910,0,10693910,0,10747924,10747924,10747924,0,10747924,0,10747924,5636114,10747924,0,0,4915288,0,5713330,10825126,5713346,0,2949140,0,2949140,0,10825126,10825126,10825126,0,10825126,0,10825126,10825126,10825126,10890902,5779170,0,0,5046328,0,10890902,0,5779186,10890902,0,0,10890902,5779106,10890902,5779122,5779154,0,2965202,0,0,10551316,10551316,0,0,10551316,10956742,10956742,10956742,0,10956742,0,10956742,10956742,10956742,11022454,0,5910674,0,2965202,1441812,1441812,5910658,11022454,11022454,11022454,0,11022454,0,11022454,11022454,11088150,27472162,11088150,0,3160354,26476562,0,0,23725794,0,0,22555202,0,0,22686162,0,0,23134226,0,0,23461906,0,0,26607810,0,0,26804242,0,0,27001778,0,0,27656210,11272212,11272212,11272212,11272212,0,11088150,11088150,11088150,11088150,0,11088150,0,11088150,11088150,11141140,11141140,0,27525138,11141140,11141140,11141140,11141140,0,11141140,0,11141140,11141140,11206676,11206676,11206676,11206676,0,27590674,27721746,0,11337748,11337748,11337748,11337748,0,11403284,11403284,11403284,27787282,11403284,11403284,11403284,11403284,0,11481526,11481526,27865538,11481526,11481526,11481526,11481526,0,11547302,11547302,11547302,5976754,11547302,11547302,11547302,11547302,0,0,6239842,12072534,0,3160354,26476562,39321618,12072534,12072534,12072534,12072534,0,6305522,6305538,0,12269286,12269286,12269286,12269286,0,0,12845076,1376276,1376276,1376276,1376276,17301528,1507348,1507348,1507348,7208978,0,0,1507348,4653064,0,7278418,1441812,1441812,0,8060946,1441812,1441812,8126482,0,0,1507348,0,7208978,8210402,0,0,0,11612982,0,0,11612982,11612982,0,11612982,0,11612982,11612982,0,8262306,1441812,1441812,0,28966930,1441812,1441812,0,29032466,1441812,1441812,8585234,0,0,1507348,0,8126482,8669058,0,0,1507348,0,8585234,0,8716306,1441812,1441812,0,8781842,1441812,1441812,0,8978450,1441812,1441812,0,29425682,1441812,1441812,9581986,0,0,0,11796498,29818898,0,0,0,11868914,0,29900034,0,0,5111864,0,0,9830610,0,0,5242936,0,0,9896194,0,0,5313770,0,655400,0,0,0,11934818,852008,0,0,0,12006922,0,30150210,0,0,5313770,40501266,30344194,0,0,0,12067426,0,30408722,0,0,5373972,0,0,10629426,0,0,0,12189716,4653064,10682386,0,0,0,12269286,0,0,12269286,12269286,0,12269286,0,12269286,12269286,0,10747922,0,0,5510554,0,10813458,0,0,0,12320788,0,0,12320788,12320788,0,12320788,0,12320788,12320788,0,10878994,0,0,5641946,0,0,10944530,0,0,5701688,0,27931090,0,0,0,12845064,0,11022850,0,0,5844946,0,0,11290850,0,0,5844962,10956742,0,11478690,0,0,5904618,0,11413218,0,0,0,13041682,0,11606498,0,0,7995410,0,0,6298070,6298070,0,3543286,14422274,0,3801106,26738706,0,393224,0,0,0,38541058,0,12320786,0,0,9054042,0,0,12393698,0,0,9644598,0,0,7150806,7150806,0,4128786,0,0,1245192,0,0,32982866,0,0,0,13698082,0,12863506,0,0,10551314,0,0,9516226,0,0,10551364,10551364,0,0,10551364,0,12916306,0,0,10628246,10628246,0,0,10628246,0,12992482,0,0,10693910,10693910,0,0,10693910,0,15466516,0,0,0,14158066,0,13123362,0,0,10747924,10747924,0,0,10747924,0,14090280,0,0,10825126,10825126,0,0,10825126,33504546,0,0,0,14223218,15859752,0,0,0,15073320,0,13504178,0,0,10890902,10890902,0,10890902,0,10890902,10890902,10890902,0,0,5779138,0,13438578,0,0,10956742,10956742,0,0,10956742,0,13569522,0,0,11481526,27931106,0,13631506,0,0,12189716,12189716,2686994,0,33816594,0,0,12260338,0,0,13913058,0,0,12525106,0,0,20774968,0,0,12662682,0,0,13979186,0,0,12713992,0,0,14044562,0,0,12713992,16777224,0,14109314,0,0,12724322,0,34539538,0,0,0,15613994,0,15269906,0,0,12925050,0,0,15335442,0,17104916,17104916,17104916,17104916,0,17104916,0,0,17104916,0,17104916,17104916,0,15415362,0,0,13187286,0,0,15481058,0,0,13238290,0,14680104,0,0,0,16384040,0,15602098,0,0,13303826,0,14417960,0,0,0,16583618,0,15667282,0,0,13369362,0,0,15810162,0,0,13566008,0,0,6619160,0,0,13580826,0,0,16126898,0,0,13646390,0,0,35848210,327700,0,4128786,27066386,0,544674,0,0,0,26424722,0,35913746,327700,0,4279666,0,0,0,25231378,0,16187410,0,0,13712602,0,16271266,0,0,0,16648914,8669058,0,0,0,16728678,0,0,16728678,16728678,0,16728678,0,16728678,16728678,11810026,0,0,0,17048642,36648418,0,0,0,17104916,17104916,0,0,0,15932290,9716098,0,0,0,17245746,0,9830706,0,0,13828104,13828104,0,0,4067946,0,0,16518930,3018454,0,4587528,0,0,0,42598418,2034038,2034038,2034038,2034038,0,10094978,0,2034038,0,2034038,0,2949140,2949140,2949140,2949140,2293784,0,0,0,17711990,0,0,0,10431510,0,0,0,10485780,0,0,0,2034038,0,0,0,2293784,0,16927458,20269734,0,4597682,0,0,4849682,0,0,17179474,0,0,15285862,0,0,8332102,8332102,0,4653074,0,0,0,26936290,0,17310930,0,0,15549154,0,0,8463558,8463558,0,4915218,0,0,0,27983890,0,17777638,0,17777638,0,0,17646578,17777638,17777638,17777638,17777638,0,17843302,0,17843302,0,17712242,17843302,17843302,17843302,17843302,17908966,17908966,17908966,17908966,0,38159602,0,17908966,0,17908966,0,0,17891346,1441812,1441812,0,38600722,1507348,1507348,0,38671634,1441812,1441812,0,17962770,1441812,1441812,0,38731794,1441812,1441812,0,18022418,1441812,1441812,0,18093106,1441812,1441812,17629204,17629208,0,17629204,17629204,17629204,17629204,0,0,18237730,0,0,15745290,0,0,39143106,0,0,15859730,0,39143122,0,0,0,18040294,0,0,0,10551316,0,0,0,10551364,0,0,0,10365846,0,0,0,10429570,0,18488690,0,0,15990802,0,0,18620018,0,0,15990824,0,0,18751346,0,0,16318482,0,18816962,0,0,0,18087956,0,0,0,10628246,0,0,0,10693910,0,0,0,10747924,0,0,0,10825126,0,0,0,10890902,0,0,0,10956742,0,0,0,11022454,0,0,11022454,11022454,0,0,9371688,0,0,0,18153492,0,0,0,11088150,0,0,11088150,11088150,0,0,0,19220578,0,0,16398706,0,0,19273362,0,0,16531946,0,0,35848210,0,0,16796706,0,0,35913746,0,0,16925482,0,39402162,0,0,0,18172290,0,9962802,0,0,16976034,0,2949160,0,0,0,18284564,0,0,0,18293378,0,19726354,0,0,17777638,0,0,0,17777638,17777638,17777638,0,0,17777638,0,19811570,0,0,17843302,0,0,0,17843302,17843302,17843302,0,0,17843302,0,19943218,0,0,17908966,0,0,0,17908966,17908966,17908966,0,0,17908966,0,19988498,0,0,18040294,18040294,18040294,0,0,18040294,0,20074114,0,0,18087956,18087956,18087956,0,0,18087956,0,20121906,0,0,18087976,0,0,20187058,0,0,18153492,18153492,18153492,0,0,18153492,39658962,0,0,0,18350120,0,39659010,0,0,18284564,18284564,18284564,0,0,18284564,0,20643858,0,0,18554306,0,0,18284564,0,18284564,0,18284564,18284564,18284564,18284564,0,18284568,18284564,18284564,18284568,0,4980754,5046290,0,655374,327688,655374,655374,18219048,0,0,0,18358354,0,17962770,0,0,18884658,0,0,40047922,0,0,18950306,0,0,15335442,0,0,19081602,0,0,40702098,0,0,19202056,10485780,0,9895956,9895956,0,0,20971538,9895956,9895956,0,9895956,0,9895956,0,41487586,0,0,19267592,0,0,21564018,0,0,19267592,19267592,0,21626898,0,0,19398664,19333128,0,42014034,0,0,19413714,0,0,21763986,0,0,20072618,0,0,21829602,0,0,20466918,0,0,21889042,0,0,20512788,0,0,0,21959842,0,0,20664010,0,0,22104386,0,0,20729638,0,0,0,9830436,9830436,0,0,22413330,9830436,9830436,0,9830436,0,9830436,0,22620594,0,0,20781218,0,9699368,0,0,0,18415634,42351106,0,0,0,18685634,0,14024744,0,0,20971528,0,0,42405122,0,0,21379906,0,0,42467346,0,0,21445666,0,0,22743874,0,0,21495826,0,22806546,0,0,0,18808840,0,18546744,0,0,0,19005448,0,40047986,0,0,21692434,0,0,22878258,0,0,22038946,0,0,23265298,0,0,22225378,0,0,41487650,0,0,22489410,0,42860562,0,0,0,19071e3,0,0,23339570,8004134,8004134,0,5177362,0,0,0,28713554,23396370,7667748,7667748,0,5177362,0,10103622,10103622,0,0]),Q(h,"TOKENSET",[260,20,260,114,260,34,34,168,64,115,150,92,173,207,72,225,66,216,249,265,222,268,224,213,227,266,213,224,228,218,227,265,210,224,215,227,267,229,262,255,260,237,237,237,263,264,269,258,233,63,6,249,261,261,235,144,116,235,25,107,237,57,231,237,237,237,29,65,130,71,260,29,143,69,260,260,260,260,172,242,61,260,260,260,260,260,260,260,260,260,260,260,232,232,264,259,258,262,260,235,262,242,264,61,235,260,61,246,260,237,260,246,61,246,237,61,67,135,125,88,29,29,29,260,260,253,256,29,252,61,240,260,260,237,237,91,262,260,61,247,61,247,241,61,237,260,234,28,23,147,34,85,155,25,156,235,25,235,29,260,61,137,260,248,248,248,243,243,264,30,257,30,260,260,260,29,153,131,124,101,29,260,260,88,29,29,134,138,260,69,29,29,29,89,260,40,262,149,260,260,260,238,15,25,25,248,260,248,102,25,237,118,67,244,248,260,25,25,161,164,242,72,176,180,186,188,195,129,137,260,209,115,248,260,260,260,237,242,237,237,248,29,86,260,113,260,248,260,260,91,148,34,260,118,25,87,122,236,260,25,25,260,29,25,260,140,110,123,260,137,137,185,123,251,254,251,245,260,29,260,260,260,29,82,29,82,29,82,260,260,89,250,40,260,149,233,27,190,25,190,194,260,29,97,260,248,239,25,25,260,128,260,260,128,137,260,237,248,126,159,100,260,260,260,68,21,142,141,70,38,260,260,250,248,248,236,260,260,95,163,167,157,260,260,248,248,260,189,260,248,165,166,162,29,29,260,260,260,61,24,94,50,106,223,145,170,171,175,177,178,179,182,193,196,197,198,199,200,201,202,204,205,206,208,212,223,226,219,230,210,219,214,221,230,222,230,230,219,220,230,230,210,230,0,3,4,25,25,111,111,104,139,42,109,127,39,39,52,54,59,51,37,56,37,37,59,61,26,230,230,230,230,230,31,33,47,79,151,58,58,33,151,31,31,51,31,30,61,61,31,31,146,77,120,80,8,19,13,35,35,121,121,32,50,44,93,30,25,30,37,83,84,84,43,42,133,62,73,36,174,73,31,73,75,62,62,73,62,31,73,73,31,47,44,47,31,73,117,117,31,31,37,59,108,31,31,31,31,62,16,22,5,6,25,81,35,99,186,103,103,187,25,136,60,81,35,35,50,151,151,181,183,184,217,211,217,211,211,217,217,203,62,78,47,47,47,98,31,31,73,77,80,53,90,62,73,73,30,30,1,17,11,14,83,25,46,60,25,119,31,73,119,132,73,76,76,33,158,99,41,96,41,47,61,192,191,31,62,30,31,25,31,75,33,31,74,169,48,31,7,2,9,25,73,154,154,62,105,55,31,31,73,73,37,31,32,31,73,31,53,33,31,169,33,33,33,112,37,53,62,18,12,28,73,49,105,26,26,25,56,62,25,37,45,30,53,10,25,26,26,56,31,152,160,26,31]),Q(h,"APPENDIX",[229699,229825,229699,11862897,229699,11829257,229699,11796561,753674,3407881,163844,753674,720906,753668,163844,720906,753674,1343497,753674,1252273,753674,1449929,753668,753674,229699,4884153,1181107,20807689]),Q(h,"LOOKBACK",[1285,1285,1285,1285,1285,1283,1286,1289,1294,1285,1285,1285,1297,1303,1300,1313,1313,1313,1316,1319,1306,1322,1336,1339,1342,1345,1348,1325,1325,1325,1325,1325,1325,1325,1325,1325,1325,1325,1325,1325,1351,1356,1361,1366,1371,1376,1381,1386,1386,1386,1386,1386,1386,1386,1386,1285,1285,1285,1285,1399,1402,1402,1407,1402,1412,1417,1422,1427,1430,1285,1285,1433,1439,1439,1439,1436,1456,1456,1456,1442,1449,1459,1462,1462,1462,1285,1285,1285,1285,1285,1285,1285,1285,1285,3147,1285,3144,1285,1285,1285,1285,1285,1285,1285,1285,1285,1285,3448,1285,1285,1285,1465,1465,1465,1468,1471,1471,1471,1476,1483,1486,1486,1486,1489,1494,1494,1494,1285,1497,1500,1503,1506,1285,1509,1509,1509,1512,1520,1523,1515,1515,1515,1526,1533,1536,1536,1536,1539,1544,1544,1544,1550,1553,1547,1547,1547,1285,1285,1556,1556,1556,1559,1559,1559,1562,1562,1562,1565,1579,1579,1579,1572,1582,1285,1585,1585,1585,1585,1588,1603,1603,1603,1591,1598,1606,1285,1285,1609,1612,1615,1615,1615,1618,1627,1627,1627,1285,1632,1635,1635,1635,1638,1638,1638,1285,1643,1643,1643,1646,1656,1656,1656,1651,1659,1285,1285,1662,1662,1662,1667,1667,1667,1667,1673,1694,1694,1694,1670,1670,1670,1670,1697,1700,1700,1700,1676,1703,1706,1685,1685,1685,1713,1716,1285,1719,1719,1719,1719,1719,1722,1725,1728,1731,1740,1285,1743,1743,1743,1748,1748,1748,1760,1763,1763,1763,1766,1751,1769,1285,1285,1285,1772,1777,1782,1782,1782,1285,1785,1785,1785,1790,1790,1790,1800,1803,1793,1806,1285,1809,1809,1809,1809,1814,1817,1820,1827,1285,1830,1830,1830,1830,1830,1830,1833,1833,1833,1836,1836,1836,1839,1839,1839,1842,1842,1842,1858,1867,1845,1870,1285,1873,1876,1285,1879,1285,1882,1882,1885,1885,1885,1895,1900,1900,1900,1888,1903,1285,1906,1909,1909,1909,1912,1922,1922,1922,1917,1925,1928,1928,1928,1928,1931,1937,1934,1285,1942,1942,1945,1948,1948,1948,1951,1961,1961,1961,1956,1964,1285,1285,1967,1285,1285,1976,1976,1985,1985,1985,1995,2e3,2e3,2e3,1988,2003,2006,2009,1285,2012,2015,2018,2021,1285,2024,2024,2024,2027,2037,2037,2037,2032,2040,1285,1285,1285,2043,2043,2043,2048,2053,1285,1285,2056,2056,2056,2061,2066,2071,2071,2071,1285,1285,1285,1285,1285,2074,2074,2074,2074,2077,2077,2077,2082,2089,2098,2101,1285,1285,2104,2104,2104,2107,2110,2115,2118,1285,1285,1285,1285,2121,2121,2121,1285,1285,1285,2124,2131,2140,2143,1285,2146,2146,2146,2151,2156,2161,2161,2161,1285,2164,2167,2167,2167,2170,2180,2180,2180,2175,2175,2175,2183,2186,2191,2194,1285,2197,2200,2200,2200,2203,2213,2213,2213,2208,2208,2208,2216,2219,2224,2227,1285,2230,2233,2233,2233,2236,2246,2246,2246,2241,2241,2241,2249,2252,2257,2260,1285,2263,2266,2269,2272,2272,2272,2272,2275,2275,2275,2278,2285,1285,1285,1285,1285,1285,2290,2290,2290,2290,2293,2293,2293,2298,2307,1285,2314,2317,2317,2317,2320,2325,2328,1285,2331,2334,2337,2340,2340,2340,2343,2346,2351,1285,2354,2357,2357,2357,2360,2365,2370,2370,2370,1285,1285,1285,1285,1285,2373,2376,2393,2393,2393,2381,2388,2396,1285,2399,2402,2405,2405,2405,2408,2413,2418,2418,2418,1285,1285,1285,1285,1285,1285,1285,1285,2421,2421,2421,2446,2446,2446,2449,2449,2449,2426,2437,2452,1285,1285,2455,2455,2455,2460,2470,2470,2470,2465,2473,2476,1285,1285,1285,2479,2482,2487,1285,1285,1285,2490,2495,2500,2500,2500,2503,2503,2503,2506,2509,2512,2515,2521,2518,2518,2518,2524,2527,2530,2533,2533,2533,2536,2536,2536,2539,2542,2547,2550,1285,1285,1285,2553,2561,2556,2564,2567,2570,1285,1285,1285,2573,2578,2583,2583,2583,1285,1285,1285,2586,2589,2594,1285,1285,2597,2597,2597,2597,2602,2607,1285,1285,1285,2610,2615,2620,2620,2620,1285,1285,1285,2623,2628,2633,2633,2633,1285,1285,1285,2636,2641,2646,2646,2646,1285,1285,1285,2649,2654,2659,2659,2659,1285,1285,1285,1285,2662,2667,2672,2677,2677,2677,2677,1285,1285,1285,1285,1285,1285,1285,1285,2682,2687,2692,2697,2702,2707,2712,2717,2717,2717,2717,2717,2717,2717,2717,1285,1285,1285,1285,2730,2735,2740,2745,2745,2745,2745,1285,1285,1285,1285,2750,2755,2760,2765,2765,2765,2765,1285,1285,1285,2770,2775,2780,2783,2783,2783,1285,1285,1285,1285,2786,2791,2801,2796,2804,2804,2804,2809,2812,2812,2812,2812,1285,1285,1285,2817,2822,2827,2827,2827,1285,1285,1285,1285,2830,2837,2837,2837,2837,2844,2844,2844,2844,2851,2851,2851,2851,2856,2856,2856,2856,2861,2866,1285,1285,1285,2869,2872,2882,2875,2885,2888,2891,2894,2894,2894,2897,2897,2897,2900,2903,2908,1285,2911,2914,2914,2914,2917,2925,2920,2928,1285,1285,1285,2931,2936,2941,2941,2941,1285,1285,1285,1285,2944,2949,2954,2959,2959,2959,2959,1285,1285,1285,2964,2967,2972,1285,1285,1285,1285,2975,2975,2975,2975,2990,2993,2996,2978,2981,2999,3270,1285,1285,1285,3002,3007,3012,3012,3012,1285,3015,3018,3018,3021,3021,3021,3024,3024,3024,3029,3034,3034,3034,3037,3040,3045,3048,3053,3053,3053,3053,3058,3058,3058,3061,3064,3064,3064,3069,3072,3072,3072,1285,1285,1285,1285,3077,3077,3077,3077,3084,3084,3084,3084,3091,3098,1285,1285,1285,1285,3103,3103,3103,3103,3110,3110,3110,3110,3117,1285,3124,3124,3124,3127,3135,3130,3138,3141,3141,3141,3141,3144,3144,3144,3147,3147,3147,3150,3159,3170,1285,1285,1285,3173,3178,3183,3183,3183,1285,3186,3186,3186,3191,3191,3191,3201,3206,3206,3206,3194,3209,1285,1285,1285,3212,3212,3212,3222,3227,3227,3227,3215,3230,1285,1285,1285,1285,3233,3233,3233,3233,3240,3240,3240,3240,3247,3254,1285,1285,1285,3257,3262,3267,3267,3267,1285,1285,1285,3270,3273,3278,1285,1285,1285,1285,1285,1285,3281,3288,3288,3288,1285,3295,3295,3295,3298,3308,3308,3308,3303,3311,1285,1285,1285,3314,3319,3319,3319,1285,1285,1285,3324,3329,3334,3334,3334,1285,1285,1285,3337,3342,3347,3347,3347,1285,1285,1285,3350,3355,3360,3363,3363,3363,1285,3366,3369,1285,1285,1285,1285,3372,3372,3372,3375,3382,3387,3387,3387,3390,3390,3390,3393,3396,3401,1285,1285,1285,3404,3407,3410,3415,1285,1285,1285,3418,3431,3431,3431,3421,3426,3434,3439,3442,3445,1285,3448,3451,3456,3456,3456,3459,3459,3459,3469,3474,3474,3474,3462,3477,1285,3480,3483,3486,3486,3486,3489,3499,3502,3505,3505,3505,3494,3508,3511,3514,3517,1285,1285,1285,3520,3527,3527,3520,3538,3545,3545,3545,3548,3554,3557,3551,3551,3551,3564,3567,1285,1285,1285,3570,3570,3570,3570,3581,3581,3581,3581,3592,3603,3606,3606,3606,3609,3612,3612,3612,3612,3617,3617,3617,3620,3630,3625,1285,1285,1285,3635,3640,3645,3645,3645,1285,1285,3648,3648,3655,3662,3665,3668,3671,1285,1285,3674,3674,3681,3688,3691,3691,3691,3694,3694,3694,3704,3709,3709,3709,3697,3712,1285,3715,3715,3715,3718,3723,3726,1285,1285,1285,1285,3729,3729,3729,3729,3736,3736,3736,3736,3743,3750,3,2,0,3,4,0,6,6,5,5,0,7,7,0,10,9,0,10,11,0,12,12,0,19,19,16,17,13,13,0,14,14,0,16,15,0,18,18,0,20,20,0,26,26,25,25,24,24,23,23,22,22,0,28,27,0,28,29,0,28,30,0,28,31,0,28,32,0,48,47,28,33,0,48,49,28,34,0,48,50,28,35,0,48,51,28,36,0,48,52,28,37,0,48,53,28,38,0,48,54,28,39,0,46,46,45,45,44,44,43,43,42,42,41,41,0,56,55,0,59,59,56,57,0,59,59,56,58,0,62,60,61,60,0,62,63,61,63,0,65,65,64,64,0,66,66,0,67,67,0,56,69,0,56,70,0,71,71,0,83,82,77,76,73,72,0,83,84,77,78,73,74,0,62,75,0,80,80,0,81,81,0,110,109,0,112,111,0,114,114,112,113,0,125,124,121,120,116,115,0,116,117,0,119,119,0,125,126,121,122,0,123,123,0,127,127,0,128,128,0,129,129,0,130,130,0,110,132,0,134,133,0,138,138,134,135,0,136,136,0,137,137,0,149,148,145,144,140,139,0,140,141,0,143,143,0,149,150,145,146,0,147,147,0,152,152,0,154,153,0,154,155,0,156,157,0,159,158,0,159,160,0,169,168,165,164,162,161,0,169,170,165,166,162,163,0,167,167,0,171,171,0,173,173,0,175,174,0,184,184,180,179,175,176,0,180,181,175,177,0,178,178,0,183,183,0,186,185,0,186,186,0,188,187,0,202,201,199,198,194,193,190,189,0,194,195,190,191,0,186,196,0,188,197,0,202,203,199,200,0,204,204,0,210,209,206,205,0,210,211,206,207,0,208,208,0,212,212,0,215,214,56,214,0,217,216,0,217,218,0,220,219,0,233,232,228,229,225,224,220,221,0,233,234,228,230,225,226,220,222,0,223,223,0,228,227,0,231,231,0,235,235,0,242,242,239,238,236,236,0,239,240,0,241,241,0,87,243,0,245,244,0,245,246,0,245,247,0,251,251,250,250,249,249,245,248,0,252,252,0,89,254,88,254,0,256,255,0,265,265,263,264,259,260,256,257,0,259,258,0,261,261,0,263,262,0,266,266,0,274,273,269,268,0,274,275,269,270,0,272,272,0,86,276,85,276,0,278,277,0,284,284,281,282,278,279,0,281,280,0,283,283,0,285,285,0,91,287,90,287,0,289,288,0,289,290,0,293,293,292,292,289,291,0,294,294,0,97,296,0,298,297,0,298,299,0,298,300,0,298,301,0,316,316,313,314,310,311,307,308,304,305,298,302,0,313,312,310,309,307,306,304,303,0,315,315,0,317,317,0,319,319,0,320,320,0,99,322,0,99,324,0,323,325,0,332,333,328,329,323,326,0,332,331,328,327,0,330,330,0,334,334,0,92,336,0,337,337,0,343,342,339,338,0,343,344,339,340,0,341,341,0,345,345,0,348,347,0,348,349,0,348,350,0,353,353,351,351,0,354,354,0,355,356,0,357,357,0,363,362,359,358,0,363,364,359,360,0,361,361,0,365,365,0,368,368,367,367,95,367,93,368,0,368,371,367,370,95,370,93,371,0,369,372,0,379,380,375,376,369,373,0,379,378,375,374,0,377,377,0,381,381,0,382,382,0,383,383,0,385,385,0,386,386,0,387,387,0,388,388,0,390,390,0,396,395,392,391,0,396,397,392,393,0,394,394,0,398,398,0,404,403,401,400,0,404,405,401,402,0,406,406,0,409,408,102,408,0,416,415,411,410,0,416,417,411,412,0,414,414,0,419,418,0,424,423,419,420,0,428,427,424,425,419,421,0,430,430,428,429,424,426,419,422,0,431,431,0,432,432,0,435,435,0,437,436,0,439,439,437,438,0,440,440,0,441,441,0,444,443,0,451,450,448,447,444,445,0,453,453,451,452,448,449,444,446,0,454,454,0,455,455,0,457,457,104,457,0,464,463,459,458,0,464,465,459,460,0,462,462,0,434,466,0,467,467,0,473,472,469,468,0,473,474,469,470,0,471,471,0,476,475,0,478,478,476,477,0,479,479,0,480,480,0,434,482,0,483,483,0,489,488,485,484,0,489,490,485,486,0,487,487,0,492,491,0,494,494,492,493,0,495,495,0,496,496,0,434,498,0,499,499,0,505,504,501,500,0,505,506,501,502,0,503,503,0,508,507,0,510,510,508,509,0,511,511,0,512,512,0,514,514,0,515,515,0,516,516,0,517,517,0,519,518,0,526,526,523,522,519,520,0,523,524,519,521,0,528,527,0,533,532,528,529,0,540,540,537,536,533,534,528,530,0,537,538,533,535,528,531,0,541,541,0,542,542,0,548,548,544,543,0,544,545,0,547,547,0,549,549,0,550,550,0,551,551,0,552,552,0,554,553,0,556,556,554,555,0,557,557,0,559,559,0,560,560,0,567,566,562,561,0,567,568,562,563,0,565,565,0,570,569,0,574,574,570,571,0,581,581,577,576,570,572,0,577,578,570,573,0,575,575,0,580,580,0,582,582,0,583,583,0,584,584,0,591,590,586,585,0,591,592,586,587,0,589,589,0,598,597,594,593,0,612,612,608,607,605,604,598,599,594,595,0,608,609,605,606,598,600,594,596,0,602,601,0,602,603,0,611,611,0,106,613,101,614,0,620,619,616,615,0,620,621,616,617,0,618,618,0,622,622,0,623,623,0,626,625,0,628,628,626,627,0,629,629,0,637,636,632,631,0,637,638,632,633,0,635,635,0,640,639,0,640,641,0,642,642,0,643,643,0,644,644,0,646,646,0,648,647,0,648,649,0,650,650,0,651,651,0,654,653,0,654,655,0,657,656,0,659,659,657,658,0,660,660,0,661,661,0,664,663,0,667,667,664,665,0,666,666,0,668,668,0,669,669,0,670,670,0,678,677,673,672,0,678,679,673,674,0,676,676,0,681,680,0,683,683,681,682,0,684,684,0,689,688,687,686,0,693,693,689,690,0,689,691,0,700,699,695,694,0,700,701,695,696,0,698,698,0,708,707,703,702,0,708,709,703,704,0,706,706,0,716,715,711,710,0,716,717,711,712,0,714,714,0,724,723,719,718,0,724,725,719,720,0,722,722,0,734,733,727,726,0,734,735,727,728,0,734,736,727,729,0,732,732,731,731,0,753,752,738,737,0,753,754,738,739,0,753,755,738,740,0,753,756,738,741,0,753,757,738,742,0,753,758,738,743,0,753,759,738,744,0,751,751,750,750,749,749,748,748,747,747,746,746,0,768,767,761,760,0,768,769,761,762,0,768,770,761,763,0,766,766,765,765,0,779,778,772,771,0,779,780,772,773,0,779,781,772,774,0,777,777,776,776,0,789,788,783,782,0,789,790,783,784,0,786,786,0,787,787,0,804,803,792,791,0,804,805,792,793,0,804,806,792,794,0,796,796,0,798,798,797,797,0,800,799,0,802,802,800,801,0,813,812,808,807,0,813,814,808,809,0,811,811,0,825,824,821,820,816,815,0,825,826,821,822,816,817,0,825,827,821,823,816,818,0,833,832,829,828,0,833,834,829,830,0,833,835,829,831,0,836,836,0,108,838,0,108,839,0,843,843,841,841,108,840,0,842,842,0,844,844,0,845,845,0,846,846,0,849,848,0,849,850,0,852,851,0,854,854,852,853,0,855,855,0,857,857,0,858,858,0,860,859,0,863,863,860,861,0,862,862,0,864,864,0,872,871,867,866,0,872,873,867,868,0,870,870,0,882,881,875,874,0,882,883,875,876,0,882,884,875,877,0,880,880,879,879,0,886,885,0,888,888,886,887,0,889,889,0,892,891,0,892,893,0,902,902,901,901,896,898,892,894,0,896,895,0,896,897,0,900,899,0,903,903,0,912,911,907,906,0,912,913,907,908,0,910,910,0,914,914,0,915,915,0,916,917,0,922,921,919,918,0,922,923,919,920,0,924,924,0,926,925,0,928,928,926,927,0,929,929,0,945,944,933,932,0,945,946,933,934,0,933,935,0,937,936,0,939,939,937,938,0,941,940,0,943,943,941,942,0,956,955,952,951,948,947,0,956,957,952,953,948,949,0,956,958,952,954,948,950,0,973,973,959,959,0,970,969,966,965,962,961,0,970,971,966,967,962,963,0,970,972,966,968,962,964,0,974,974,0,976,975,0,979,979,976,977,0,978,978,0,980,980,0,983,982,0,983,984,0,983,985,0,990,989,987,986,96,986,94,989,0,992,992,990,991,987,988,96,988,94,991,0,993,993,0,1001,1e3,996,995,0,1001,1002,996,997,0,999,999,0,1003,1003,98,1003,0,1005,1004,0,1012,1013,1008,1009,1005,1006,0,1012,1011,1008,1007,0,1010,1010,0,1014,1014,0,1017,1016,0,1024,1025,1020,1021,1017,1018,0,1024,1023,1020,1019,0,1022,1022,0,1026,1026,0,1037,1036,1033,1032,1029,1028,0,1037,1038,1033,1034,1029,1030,0,1037,1039,1033,1035,1029,1031,0,1040,1040,0,1048,1047,1043,1042,0,1048,1049,1043,1044,0,1046,1046,0,1051,1050,0,1051,1052,905,1053,0,1054,1054,0,1064,1063,1060,1059,1057,1056,0,1064,1065,1060,1061,1057,1058,0,1066,1066,0,1072,1071,1068,1067,0,1072,1073,1068,1069,0,1070,1070,0,1074,1074,0,1081,1080,1077,1076,0,1081,1082,1077,1078,0,1089,1088,1084,1083,0,1089,1090,1084,1085,0,1087,1087,0,1097,1096,1092,1091,0,1097,1098,1092,1093,0,1095,1095,0,1106,1105,1100,1099,0,1106,1107,1100,1101,0,1103,1103,0,1104,1104,0,1108,1108,0,1109,1109,0,1112,1111,0,1119,1119,1116,1115,1112,1113,0,1116,1117,1112,1114,0,1121,1120,0,1121,1122,0,1124,1123,0,1126,1126,1124,1125,0,1127,1127,0,1130,1129,0,1130,1131,0,1133,1133,1132,1132,0,1134,1134,0,105,1136,0,1141,1140,105,1137,0,1141,1142,105,1138,0,1139,1139,0,1144,1144,1143,1143,0,1145,1145,0,1146,1146,0,1147,1147,0,103,1149,0,1150,1150,107,1150,0,1151,1151,0,1153,1152,0,1160,1161,1156,1157,1153,1154,0,1160,1159,1156,1155,0,1158,1158,0,1162,1162,0,100,1164,0,1165,1165,0,1166,1166,0,1174,1173,1168,1167,0,1174,1175,1168,1169,0,1170,1170,0,1171,1171,0,1172,1172,0,1176,1176,0,1177,1177,0,1178,1178,0,1179,1179,0,1185,1184,215,1181,56,1181,0,1208,1207,1204,1203,1185,1186,215,1182,56,1182,0,1185,1187,215,1183,56,1183,0,1188,1188,0,1190,1189,0,1190,1191,0,1192,1192,0,1199,1199,1196,1195,1193,1193,0,1196,1197,0,1198,1198,0,1208,1207,1204,1203,1185,1203,215,1200,56,1200,0,1208,1209,1204,1205,1185,1205,215,1201,56,1201,0,1208,1210,1204,1206,1185,1206,215,1202,56,1202,0,1211,1211,0,1212,1212,0,1214,1213,0,1216,1216,1214,1215,0,1218,1217,0,1222,1221,1218,1219,0,1222,1223,1218,1220,0,1226,1226,1224,1224,0,1233,1232,1228,1227,0,1233,1234,1228,1229,0,1231,1231,0,1185,1237,215,1235,56,1235,0,1185,1238,215,1236,56,1236,0,1239,1239,0,1240,1240,0,1241,1241,0,1242,1242,0,1185,1246,215,1244,56,1244,0,1185,1247,215,1245,56,1245,0,1248,1248,0,1249,1249,0,1251,1250,0,1258,1259,1254,1255,1251,1252,0,1258,1257,1254,1253,0,1256,1256,0,1260,1260,0,1262,1262,0,1268,1268,1264,1263,0,1264,1265,0,1267,1267,0,1278,1277,1274,1273,1270,1269,0,1278,1279,1274,1275,1270,1271,0,1278,1280,1274,1276,1270,1272,0,1281,1281,0]),Q(h,"GOTO",[1840,2198,2198,2198,4025,2198,2198,2198,2198,2198,1864,2198,2198,2198,2198,1857,2197,2198,2198,2198,1872,3830,3206,3226,3234,1893,2198,2198,2198,2198,1909,2198,2198,2198,2198,2198,2198,1907,2198,2198,2082,2198,2198,2198,2198,2198,1917,1926,2198,2198,2198,2198,3671,3894,2198,2198,2198,2198,2227,2198,2198,2198,2198,2198,2198,2198,1938,2198,2198,2198,1940,2198,2198,2198,3116,2198,2198,2198,2198,2198,2037,2198,2198,2198,2198,1948,2198,2198,2198,2198,2198,1957,3994,3493,2062,2198,1966,1977,2198,2198,3240,2198,2198,2198,1918,2198,2198,2911,1881,2198,2198,1990,2198,2198,2198,1999,2198,2198,2198,2009,2198,2198,2198,2198,2198,2021,2198,2198,2051,1885,2198,3140,2198,2198,2216,2033,2198,2198,2198,2198,2338,2198,2291,2198,2198,3172,2198,2198,2198,2198,2045,2198,2198,2198,2198,2198,2059,2198,3788,2198,2198,2198,2070,2198,2198,2198,2079,2198,2198,2198,2198,3252,2198,2198,2198,2198,3462,2198,2198,2198,2198,2640,2198,2198,2281,1982,2198,3733,2477,2198,2198,2198,2090,2198,2198,3e3,2102,3224,3232,2110,2247,2992,4213,3176,2198,2998,3006,2831,3230,3238,2126,2198,2198,2198,2198,3485,2198,2198,2198,2198,2873,2198,2198,2198,2198,2994,4389,3218,3226,3234,2138,3001,3217,3225,2380,2388,3e3,3008,3031,3232,2198,2999,3007,3030,3231,3239,2148,2198,2198,2198,2198,2198,2198,3375,1958,2198,2198,2198,2198,2198,2159,3993,3492,2061,2198,2171,3897,2196,2198,2198,2198,2183,2195,2198,2198,2198,2207,2198,2198,2198,2198,2198,2198,1907,2198,2198,2082,2198,2224,2198,2198,2081,1879,2198,2198,2198,2198,2235,2198,2198,2198,2198,3927,2198,2198,2198,2198,3020,2198,2198,2198,2198,2198,2246,2198,2198,2198,2198,2692,2198,3311,2198,2198,2214,2198,2198,2198,2198,2858,2198,2198,2198,2198,2255,2198,2198,2198,2198,2198,3363,2198,2198,2198,2267,2198,2198,2198,2198,3770,2198,2198,2198,2198,2198,2198,2198,2279,2289,2198,3e3,2300,3224,3232,2387,2198,2308,2198,2198,2198,2198,3168,2198,2198,2198,2198,3397,2198,2198,2198,2996,2320,3220,3228,2383,2140,2731,3219,3227,3235,2139,3507,3218,3226,3234,2138,3001,2328,3225,3233,2388,2198,2198,2336,2198,2198,2346,2198,2198,2198,2198,2198,2198,2361,2198,2198,2997,3005,2896,3229,3237,2996,3004,3451,3228,3236,2995,3003,2292,3227,3235,2994,3002,2198,2373,3234,2993,3001,2198,2400,3233,2198,3e3,3008,2408,3232,2198,2999,3007,2416,3231,3239,2998,3006,3532,3230,3238,2997,3005,3916,3229,3237,2996,3004,3009,3228,3236,2995,3003,2198,2424,3235,2281,2981,2198,4006,2435,2280,2980,2198,4005,2449,2198,3e3,2464,3224,3232,2387,2999,3007,3982,3231,3239,2998,3006,2392,3230,3238,2997,1849,3221,2472,2384,2996,3832,3606,3228,2383,2485,2198,2198,2198,2198,2716,1846,3218,2774,3234,2501,3490,2198,2198,4288,2198,3e3,2509,3224,3232,2387,2198,2198,2517,2198,2198,2528,2198,2198,2198,2198,2997,3833,2537,3229,2384,2198,2198,1930,2198,2198,4108,2545,2198,2198,2198,2994,3830,3344,3226,3234,2555,2198,2198,2198,2198,2198,3e3,2563,3224,3232,2572,2584,2198,2198,2198,2198,2198,2198,2599,4254,2198,2611,2198,2198,2198,2198,3954,2198,2198,2198,2198,2198,2198,2338,2198,2619,2198,2198,2629,2198,2638,2198,2198,2648,2198,2198,2198,2198,2659,2198,2198,2198,2198,2673,2198,2198,2198,2198,3409,2198,2198,2198,2198,2013,2198,2198,2198,2198,4193,2198,2198,2198,2995,3831,3576,3227,3235,2139,1899,3218,3226,3234,2685,1981,2198,3732,2476,4277,4407,2198,2198,2198,2198,2198,2701,2198,2198,2198,3956,2198,2198,2198,2198,2198,2198,3618,2198,2198,2713,2198,2198,2198,2198,2995,2353,3219,3227,3235,2724,2352,3218,3226,3234,2739,3683,2198,2198,2198,2198,2747,2198,2198,2198,2198,2198,2198,2761,2198,2198,2998,3834,2770,3230,2385,2997,3833,2782,3229,2384,2198,2198,3386,2198,2198,2049,1883,2198,3187,2198,2198,2198,1949,2198,2198,2911,1881,2198,2198,3144,3789,2198,2198,2198,2071,2198,2198,2198,3254,2198,2198,2790,2198,2198,2198,2198,2997,3833,2798,3229,2384,4300,2198,2198,2198,2198,2198,2198,2198,2025,2198,2198,2198,2198,2198,2806,2198,3906,2198,2198,2198,4382,2198,2198,2198,2198,2630,2198,2198,2198,2198,2198,2817,2198,2198,2198,2198,2829,2198,2198,2198,2198,4203,2198,2198,2198,2198,2839,2198,2198,2198,2198,4141,2198,2198,2198,2198,2175,2198,2198,2198,2198,2198,2198,2851,2198,2198,2198,2999,3742,3223,3231,2386,2198,2198,2869,2198,2198,2198,2198,2529,2198,2881,2996,3004,3145,3228,3236,2162,2904,2198,2198,2198,2161,2919,2198,2198,2198,2160,2927,2910,2198,2198,2198,2939,2948,2198,3649,2198,2938,2947,2198,2198,2956,2998,3834,2965,3230,2385,2198,2198,2198,2198,2979,2115,2989,2198,3017,3028,2198,2198,2198,2198,3039,2994,3325,3218,3226,3234,2138,3001,3050,3225,3233,2388,3e3,3058,3224,3232,2387,2198,3066,3078,2198,2198,2198,3527,2198,2198,2198,2198,2094,2198,2198,2198,2198,1969,2198,2198,2198,2198,2198,2650,2198,2198,2198,2198,3087,2198,2198,2993,3001,3096,3225,3233,2388,3e3,3104,3224,3232,2387,2198,3112,2198,2198,2198,2198,3939,2198,2198,2198,2198,2130,2198,2198,2198,2198,2198,2198,2198,2957,2198,3124,2198,2198,2198,2994,2441,3218,3226,3234,2389,2198,3136,2198,2198,2198,2198,3153,2198,2198,2198,2198,3164,2198,2198,2198,2198,4089,2198,2198,2198,2198,2198,3184,2198,2198,2996,3832,3879,3228,2383,2391,2198,4167,2198,2198,2994,3632,3218,3226,3234,2389,2705,2198,2198,2198,2198,3e3,3195,3224,3232,2387,2999,3203,3223,3231,2386,2998,3214,3222,2427,2385,3248,2198,2198,2198,2198,2198,2198,2187,2198,2198,3262,2198,2198,2198,2198,3727,2198,2198,2198,2198,2160,3274,2910,2198,2198,2198,3e3,3282,3224,3232,2387,3290,2908,2198,2198,2198,3298,2198,2198,2198,2198,3309,2198,2198,2198,2198,4064,2198,2198,2198,2198,2762,2198,2198,2198,2198,2198,2198,4043,2198,2198,3319,3079,2198,2198,2198,2886,3333,2909,2198,2198,2198,2999,3341,3223,3231,2386,3352,2198,2198,2198,2198,3361,2198,2198,2198,2198,2198,2151,2198,2198,2198,2198,2198,3371,2198,2198,4107,3383,2198,2198,2198,2198,2198,2198,3645,2198,2198,2198,2198,2198,2198,3394,2198,2198,2198,2198,3405,3417,2198,2198,2198,3432,2198,2198,2198,2198,2891,2198,2198,2198,2198,3704,2198,2198,2198,3647,2259,2198,2198,2198,3646,3853,2993,3001,3441,3225,3233,2388,2198,3449,2198,2198,2198,2198,3459,2198,2198,2198,3470,2907,2198,2198,2198,2997,1849,3221,3757,2384,2996,1848,3220,2971,2383,2576,1847,3219,3537,3235,3478,2198,2198,2271,2198,1991,3490,2198,2198,2312,2198,3501,2198,2198,2198,2198,3515,2198,2198,2198,2198,3545,2907,2198,2198,2198,2198,2365,2198,2198,2198,2198,2238,2198,2198,2198,2995,2456,3219,3227,3235,2390,2198,2001,2198,2198,2993,3001,2564,3225,3233,3553,3564,2909,2198,2198,2198,2999,3572,3223,3231,3584,2998,3600,3222,3230,2385,2198,2198,3614,2198,2198,2198,2198,2489,3626,2198,3640,2198,2198,2198,2198,2994,3590,3218,3226,3234,3657,3668,2198,2198,2198,4239,2198,2198,2198,2198,2198,3679,2198,2198,2198,2198,2198,4136,3691,4258,2198,3424,4147,2198,2198,2198,2996,3592,3220,3228,2383,3700,2198,2198,2198,2198,4131,2198,2198,2198,2198,2993,3001,3712,3225,3233,2388,2198,3720,2198,2198,2199,2198,2198,2198,2198,2198,2998,3741,3750,3230,2385,2198,2198,2529,2198,3765,2198,2198,2198,2198,2861,2198,2198,2198,2198,2520,2994,3002,2198,3778,3234,2198,2198,2198,3645,3088,3787,2198,2198,3644,2198,3786,2198,2198,2198,2198,3433,2198,2198,2198,2198,3797,3809,2906,2198,2198,2198,2163,2930,2198,2198,2198,2162,3817,2198,2198,2198,3421,2809,2198,2198,2198,2993,3001,3842,3225,3233,2388,2198,3850,2198,2198,2198,2999,3861,3223,3231,2386,2998,3873,3222,3230,2385,2997,3887,3221,3229,2384,2198,2118,2198,2198,2198,2198,4044,2198,2198,2198,2198,2198,3905,2198,2198,2198,2198,3914,2198,2198,2198,2198,3924,2198,2198,2198,2198,3935,2198,2198,2198,2998,3947,3222,3230,2385,2997,3964,3221,3229,2384,2198,2198,3522,2198,2198,2162,4342,2663,2198,2198,2198,2198,3042,2198,2198,2993,3001,3972,3225,3233,2388,3301,2198,2198,2198,2198,3980,2198,2198,2198,2198,2198,2198,2198,3990,2198,3156,2198,2198,2198,2198,4002,2198,2198,2198,2198,2198,4014,2198,2198,2198,2198,4023,2198,2198,2198,2993,3001,4033,3225,3233,2388,2198,4041,2198,2198,2677,2198,2198,3692,4259,2198,2998,4052,3222,3230,2385,4077,2906,2198,2198,2198,3423,4146,2198,2198,2198,4085,2198,2198,2198,2198,3266,2198,2198,2198,2198,2993,3001,2198,4097,3233,2198,2198,2198,2198,2198,4105,2999,3007,4116,3231,3239,2998,3006,3128,3230,3238,2198,2198,2198,2198,3801,2198,2198,2198,3648,3824,2995,3831,3865,3227,3235,4124,2198,2198,2198,2198,2160,4155,2910,2198,2198,2198,2198,4069,2198,2198,2198,2198,2603,2198,2198,2198,2198,2198,4163,2198,2198,2997,4175,3221,3229,2384,2996,4183,3220,3228,2383,2140,2591,3219,3227,3235,2390,2198,4191,2198,2198,2198,2198,2198,3353,2198,2198,2198,2198,2493,4201,2198,2198,2198,2492,4211,2198,2821,2198,2198,2198,2198,2843,2198,2198,2198,2198,2996,3004,2621,3228,3236,2995,3003,2620,3227,3235,2161,4367,2198,2198,2198,2160,4221,2910,2198,2198,2198,4229,2909,2198,2198,2693,2198,4237,2198,2198,2198,2998,4247,3222,3230,2385,2997,4267,3221,3229,2384,2198,2198,4275,2198,2198,2198,2651,4285,2198,2198,2198,2198,4296,2198,2198,2198,2198,4059,2198,2198,2198,3e3,4308,3224,3232,2387,2999,4316,3223,3231,2386,4328,2907,2198,2198,2198,4336,2906,2665,2198,2198,2996,4350,3220,3228,2383,3556,2198,2198,2198,2198,2994,3002,2198,4358,3234,2160,4366,2910,2198,2198,2198,2198,3070,2198,2198,2198,2198,4375,2198,2198,2198,2198,4015,2198,2198,2198,2198,3660,2198,2198,2198,2198,2547,2198,2198,2198,2995,3831,4320,3227,3235,2139,2753,3218,3226,3234,2138,3001,4397,3225,3233,2388,2198,2198,4405,2198,2198,4415,4423,4429,4442,4557,5457,4557,4557,4516,4530,4549,4556,6165,5077,4566,5569,5571,5363,4457,4557,4558,4423,4429,4442,4557,4472,4482,4423,4429,4442,4557,5457,4557,5363,4490,4557,4557,4557,5250,4557,4502,4557,4557,4557,4557,4557,4557,4833,4557,4557,4557,4557,4557,4557,5590,5584,6342,4557,4696,4557,4557,4516,4530,4549,4556,6165,5940,4557,6943,4557,4557,4557,4557,4557,4557,4707,4557,4718,4557,4557,4557,4557,4557,4557,4557,4824,4557,4557,4557,6165,4557,4557,4557,4557,4557,5434,4557,4557,5557,4743,4557,4557,4557,4557,4557,4557,4753,4557,4434,4557,4557,4557,4557,4557,4557,4557,4842,4779,4557,4557,4557,4557,4557,4557,4557,5094,4557,4557,4799,4557,4557,4557,4557,4557,4557,6029,5507,4557,4557,4557,6885,4557,4557,4557,4557,4557,5508,4556,6165,4557,6880,4557,4557,4557,4557,4557,4557,4557,5172,4557,4842,4557,4557,4557,4557,4557,4557,4782,6440,4557,4557,4557,6441,4557,4557,4557,4557,4557,5541,4557,4557,4557,4557,4557,4851,4557,4557,4557,4557,4557,5696,4557,4557,4557,4557,4557,4885,4557,4557,4557,4557,4557,5721,4766,4557,4557,4948,4951,6026,4557,4557,4557,4557,4557,5867,4557,4557,4557,4557,4557,4959,4557,4557,4557,4557,4557,4557,4790,4557,4557,4557,4557,4557,4968,4557,4557,4557,4557,4557,4557,4978,4557,4557,4557,4557,4557,4557,4791,4557,4557,4557,4557,4557,6749,4557,4557,4557,4557,4557,5970,4926,4557,6165,6568,4566,5569,5571,4557,4886,5016,4557,4557,4557,5590,5584,4557,4557,5147,4557,4557,4557,4557,4557,4557,6707,4557,4557,4557,4557,5533,4557,4557,4557,4557,4557,5994,4557,4557,4557,5590,5584,4557,4557,4557,4557,5250,4557,4557,4557,4557,4710,4557,4557,4557,4557,4557,4557,6220,4557,5104,4557,4557,4557,4557,4557,4557,4557,5426,4557,4557,4852,4557,4557,4557,5116,4557,4557,4557,4557,4557,6094,4557,4557,4557,4557,5363,4490,4557,4557,4557,4557,4557,6116,4557,4557,4557,4557,5457,4557,4557,4557,4557,4557,4557,4557,4557,4699,4557,4557,4557,5363,4490,4557,4496,4557,4508,4557,4557,4557,4557,4557,4557,4873,4557,4557,4557,7025,4557,4557,4557,4557,4557,4557,6303,4557,4557,4557,6662,4557,4557,4557,4557,4557,4557,6427,4557,4688,4557,4557,4557,4557,4557,4557,4557,5508,4557,4557,4557,6309,4557,4557,4557,4557,4557,6296,5799,4557,4557,4557,4557,6555,4557,4557,4557,4557,4557,6372,4557,4557,4894,4557,4557,4557,4557,4557,4557,4557,5599,4557,4557,4557,4903,4557,4557,4557,4557,4557,4557,4557,5197,6165,6724,4566,5569,5571,4557,4886,5047,4557,4557,4557,5086,4557,4557,4557,4557,4557,6383,4557,4557,4516,4530,4549,4556,6165,6237,4566,5569,6155,4566,5569,5571,4557,4886,5047,5587,4557,6626,4557,4557,4557,4557,4557,4557,4894,4557,4557,5405,4557,4557,4557,4906,4557,4557,4516,4530,4549,4556,6165,5953,4566,4557,4557,4557,5180,4557,4557,4557,4557,4557,6415,4557,4557,5205,4603,4611,4619,5072,4647,5608,5347,5351,5057,4626,4671,4679,4687,4557,4557,4557,5590,5584,4557,4557,4557,4557,4557,4557,4557,5317,4557,5213,4603,4611,4619,5072,4647,5608,4557,4557,6736,4603,4611,4619,5072,4647,4557,4557,4557,6494,4603,4611,4619,5072,4557,5237,4619,5072,4647,5608,5347,5351,6108,4626,4671,6761,5258,4557,4557,4557,5266,4557,4557,4516,4530,4549,4556,6165,5974,4557,6761,5258,4557,4557,4557,5278,4557,4516,4530,4549,4556,6165,5688,4566,6165,6568,4566,5569,5571,4557,4886,5290,4619,5332,5340,5608,5347,5351,4663,4626,4557,4557,4557,4557,4557,5584,4557,4557,6797,4557,4557,4557,4557,4557,6474,4557,4557,4557,4557,4557,4557,4557,5590,5584,4557,4557,4557,4557,5172,6165,6568,4566,5569,5571,4557,4886,5401,4557,4557,5413,4557,4557,4557,4557,4557,4557,6609,4557,4865,4557,4557,4557,4557,4557,4557,4557,5697,4557,4886,5422,5587,4587,4595,4603,4611,4557,6673,4557,4557,4557,4557,4557,4557,4999,4557,4557,5590,5584,4557,4557,4557,4557,5667,6165,5953,4566,5569,5571,4557,4886,5047,5587,4557,4557,4557,6590,5584,4557,4557,4557,4557,6632,4557,4557,4557,5405,4557,4557,4557,5393,5455,4557,4516,4530,4549,4556,6165,6041,4566,4557,4557,4557,5465,4557,4557,4557,4557,4557,6544,6930,4557,4557,4557,4557,5405,4557,4557,4557,6785,5474,4557,4557,4557,4557,4557,4557,4557,5710,4603,5485,4557,4557,4557,4557,4557,4557,4557,5718,4557,5497,4557,4557,4557,4557,4557,4557,5007,4557,4557,6955,5507,4557,4557,4557,4557,4557,4557,4557,6375,4557,4557,6808,5516,4557,4557,4557,4557,4557,6793,4557,4557,4557,4557,4557,4557,4557,6808,4557,4557,4557,4557,4557,6850,4557,4557,4557,5579,5584,4557,4557,4557,4557,5599,4557,4557,4557,4557,4557,4557,4557,5545,4557,4557,4557,4990,4557,4557,4557,4557,4557,6933,5598,4557,4557,4557,5836,4557,4557,4557,4557,4557,4557,6632,4557,5616,5584,4557,4557,4557,4557,5250,4557,4516,4530,4549,4556,6165,6177,4566,4557,5624,5584,4557,4557,4557,4557,5489,5447,4557,4557,4557,4557,5632,4557,4557,4516,4530,4549,4556,6165,6065,5643,4557,4557,4557,4557,4557,4557,4557,5786,4886,5651,5587,4587,4595,4603,4611,4619,5371,5379,5608,5347,4557,4886,5663,5587,4587,4595,4603,4611,4557,4557,5426,4557,4557,4557,4557,5675,4557,4886,5684,5587,4587,4595,4603,4611,4557,4557,5705,4557,4557,4557,4557,4557,4557,6695,4557,4557,4557,4557,5729,4557,4557,4557,4557,4557,6976,4557,4557,4557,6611,4557,4557,4557,4557,4557,4557,5039,4619,4557,4557,4557,5824,4557,4557,4557,4557,4557,6987,4557,4557,4557,4557,5676,4557,4557,4557,5748,4557,4557,4522,4557,4557,4557,4557,4557,4557,6598,4557,4557,4557,4557,5770,4557,4557,4557,4557,4557,7015,4557,4557,4557,4557,5134,5779,5799,4557,4557,4557,4557,6185,4557,4557,4557,4557,6287,4557,4557,4557,4557,6398,4595,4603,4611,5414,5818,5856,4536,5875,5883,5891,4557,4557,4557,4557,4557,4557,4557,5867,4557,5435,5818,5856,4536,5875,5883,5891,4557,4557,5466,5818,5856,4536,5875,5883,6670,4557,4557,4557,5426,4557,4557,4557,4557,5914,4557,5902,5902,5910,5912,4557,4557,4557,4557,4557,4557,6842,4557,4557,4557,4557,4557,4557,4557,6006,4886,5923,5587,4587,4595,4603,4611,4619,5324,5340,5608,5347,5351,4663,5935,4557,4557,4557,4557,4557,4557,4557,6165,4557,4557,4557,5508,4556,4557,4557,4557,4557,4557,4557,4557,5250,4557,4557,4557,4516,4530,4549,4556,6165,4557,4557,4557,4557,4557,4557,4557,5229,4557,5749,5028,4557,4557,4557,4557,4557,4557,6711,4557,5730,5030,4557,4557,4557,4557,4557,4557,5065,5072,4647,4557,4557,5948,4557,4557,4557,4557,4557,4557,6805,4557,6279,4566,5569,5571,4557,4886,5047,5587,6165,6267,4566,5569,5571,4557,4886,5047,4557,4557,4557,4873,4557,4557,4557,4557,4557,7023,4557,4557,5961,4557,4557,4557,4557,4557,4557,4557,6173,4960,4557,4557,4557,4557,4557,4557,4557,6619,5655,4566,5569,5571,4557,4886,5047,5587,6165,5927,4566,5569,5571,4557,4886,5047,4557,4557,4557,6922,4557,4557,4557,4557,4567,4557,4557,4557,4557,4557,4557,4825,4557,4557,4557,4557,4735,4603,4611,4619,4557,4948,6019,6026,4557,4557,4557,4557,4860,4557,4557,4557,4557,4557,4557,4557,5810,4557,4557,6037,4557,4557,4557,4557,4557,4557,6826,4557,4557,4557,4557,6049,4557,4557,4557,4557,4914,4926,4939,4940,4557,4557,4557,4557,4557,5730,5030,4557,4557,4557,7047,4557,4557,4557,4557,4557,4557,6880,4557,6165,6968,4566,5569,5571,4557,4886,5047,4556,6165,4931,4566,5569,5571,4557,4886,4575,5587,4587,4549,4556,6165,6992,4566,5569,5571,4557,4886,5047,5587,4587,4595,4603,4611,4619,5072,4647,5608,5347,5351,4663,4626,4671,4679,4687,4557,4557,4557,4557,4557,4557,4557,4814,4557,4557,4557,7003,4557,4557,4557,4557,4989,4557,4557,4557,4557,4557,4557,4557,4557,5635,4557,4557,4557,4557,5020,4557,4557,4557,4557,4557,4557,6125,5856,4536,5875,5883,6165,6080,4566,5569,5571,4557,4886,5047,4557,5426,4557,4557,4655,5818,5856,4536,4557,4557,6139,4557,4557,4557,4557,4557,4557,6979,5598,4557,5499,4557,4557,4557,4557,4557,4557,5142,4557,4557,4557,4557,6163,4557,5545,4557,4557,4516,4530,4549,4556,6165,6131,5426,4557,4557,4557,6198,5856,4536,5875,4556,6165,6212,4566,5569,5571,4557,4886,5443,5587,4587,4579,4557,4557,4557,4557,4557,4557,4557,6816,4557,4918,4557,4557,4557,4557,4557,4557,5155,4557,4557,4557,4557,6233,4557,4557,4557,4557,5085,4557,4557,4557,4557,4557,6475,4557,4557,4557,4557,4557,4824,4557,4557,4557,4557,6245,4557,4557,4557,4557,4557,4948,4951,6026,4557,4557,6258,6263,4557,4557,4557,4557,5529,4557,4557,4557,4557,4557,4557,5771,4557,4557,4557,4557,5545,4557,4557,4557,4557,4557,4557,4557,4557,4557,6275,4557,4557,4557,4557,4557,6568,4566,5569,5571,4557,4886,6317,5587,4557,6329,4557,4557,4557,4557,4557,4557,5189,4603,4557,5477,6341,4557,4557,4557,4557,4557,4998,4557,4557,4557,4557,5426,4557,4557,4557,6350,5856,5590,5584,4557,4557,4557,4557,4639,4557,4557,4557,4557,6774,4557,4557,4557,4516,4530,5862,4557,4557,4557,4557,4557,5426,4557,4557,4557,4557,6397,4557,4557,4516,4530,4549,4556,6165,6143,4557,5426,4557,4557,4557,4557,6406,4557,4557,4557,4557,6782,4557,4557,4557,4557,6647,4557,4557,4557,4557,6407,4603,4611,4619,5309,6364,5608,5347,5351,4557,4557,5426,4557,4557,4895,5818,5856,4557,4557,5762,5584,4557,4557,4557,4557,4557,4557,4633,5426,4557,4557,6577,5818,5856,4536,5875,4556,6165,6652,4566,5569,5571,4557,4886,5565,5587,4587,4595,4687,4557,4557,4557,5590,6449,4557,4557,4516,4530,4549,4556,6165,6190,4566,5569,4549,4556,6165,6011,4566,5569,5571,4557,4886,5359,5587,4587,4595,4603,4557,4557,4557,6461,4557,4557,4557,4557,5607,4557,4557,4557,4557,4557,4557,4981,6483,4654,4557,4557,4516,4530,4549,4556,6165,6356,4557,4557,4557,6491,4557,4557,4557,4557,5697,4557,4557,4557,4557,4557,4557,4557,6830,4557,5590,6502,4557,4557,4557,4557,4557,5008,4557,4557,4557,4557,6515,4557,4557,4557,4557,4557,5031,4566,5569,4557,4557,4557,6526,4557,4557,4557,4557,5830,4557,4557,4557,4557,4557,4557,4894,4557,4557,4557,4557,4557,6563,4557,4557,6555,4557,4557,4557,4557,5915,4557,4557,4557,6911,4566,5569,5571,4557,4886,5047,5587,4557,4557,5676,4557,4557,4557,6576,4557,4557,4557,4557,6818,4557,4557,4557,4557,6518,5072,4647,5608,5347,4549,4556,6165,4758,4566,5569,5571,4557,5757,6585,5047,5587,4587,4595,4603,4611,4619,5309,5340,5608,5347,5351,4663,4626,4557,4557,5159,5779,5799,4557,4557,4557,4557,6601,4557,4557,5167,6225,4603,4611,4619,5072,4647,5608,5347,6640,5799,4557,4557,4557,4557,4557,4557,4557,6885,4557,4557,4557,4557,6660,4557,4557,4557,4557,5962,4557,4557,4557,4557,4557,4557,5426,4557,4557,4474,5818,4557,6681,5856,4536,5875,5883,5891,4557,4557,4557,4557,6873,5799,4557,4557,4516,4530,4549,4556,6165,6568,4566,5569,5571,4557,4449,4566,5569,5571,4557,4886,5047,5587,4557,4557,4720,4557,4557,4557,4557,4557,5108,5779,5799,4556,6165,6466,4566,5569,5571,4557,4886,6893,5587,4587,4595,4549,4556,6165,6507,4566,5569,5571,4557,4886,6073,5587,4587,4595,4603,4530,4549,4556,6165,4464,4566,5569,5571,5123,4728,4557,4557,4557,4557,4557,4423,4429,4442,6732,4557,4557,4557,4557,4557,4557,4557,6943,4557,6744,4557,4557,4557,4557,4557,4557,5221,4611,4557,4557,6757,4557,4557,4557,4557,4557,5131,4557,4557,4557,4557,4557,6769,4557,4557,4557,4557,5982,4557,4557,4557,4549,4556,6165,6321,4566,5569,5571,4557,4557,4557,4557,6897,4557,4557,4557,4557,4557,4530,4549,4556,6165,6333,4566,5569,5571,6389,4566,5569,5571,4557,4886,5047,5587,4557,5270,4557,4557,4557,4557,4557,4557,5302,5072,4557,4557,6816,4557,4557,4557,4557,4557,5172,4557,4557,4557,4557,4557,6852,4557,4557,4557,4557,4557,5245,4557,4557,4557,6838,4557,4557,4557,4557,4557,4557,4557,7033,4633,4557,4557,4557,4557,4557,4557,4557,5363,4457,6250,4566,5569,5571,4557,4886,5047,5587,4557,4557,6151,4557,4557,4557,4557,4557,4557,4557,6719,4549,4556,6165,6432,4566,5569,5571,4557,4557,4557,4557,6930,4557,4557,4557,4557,6687,4557,4557,4557,4557,6531,6919,4557,4557,4557,4557,4557,5426,4557,4557,4834,5818,4557,6860,4557,4877,4557,4557,4557,4557,6061,4557,4557,4557,4557,6288,4603,4611,4619,5072,4647,5608,4557,6117,4557,4557,4557,4557,4557,4557,5405,4557,4557,4557,4557,4557,5521,4603,4611,4619,5072,5590,5584,4557,4557,4557,4557,4806,4557,4557,4557,4557,7035,4557,4557,4557,4557,6539,4557,4557,4557,4557,6601,4557,4557,4557,4557,6173,4557,4557,4557,4557,4557,4557,4557,6905,5856,4536,5875,5883,4557,4557,4557,6941,4557,4557,4557,4557,6088,4557,4557,4557,4530,4549,4556,6165,5986,4566,5569,5571,4516,4530,4549,4556,6165,5998,4566,5569,5049,4557,4557,4557,4557,4557,4557,4557,5553,4557,6951,4557,4557,4557,4557,4557,4557,4557,5738,5740,4557,6963,4557,4557,4557,4557,4557,4557,5749,5028,4557,4557,4843,5818,5856,4536,5875,5883,5426,4557,4557,5096,5818,5856,4536,5875,4557,7011,4557,4557,4557,4557,4557,4557,5802,4557,4549,4556,6165,5791,4566,5569,5571,4557,4557,4557,4771,4557,4557,4557,4557,4557,6552,4557,4557,4557,4530,4549,4556,6165,6204,4566,5569,5571,4557,6919,4557,4557,4557,4557,4557,4557,5842,4557,4557,5282,7023,4557,4557,4557,4557,4557,5387,4557,4557,6375,4557,5294,7023,4557,4557,4557,4557,6100,4557,4557,4557,6165,6699,4566,5569,5571,4557,4886,5047,4556,6165,6419,4566,5569,5571,4557,4886,7043,5587,4587,4595,4557,4557,5426,4557,4557,4816,5818,5856,4557,4557,4557,5426,4557,4557,4745,5818,5856,4536,5875,5883,5891,4970,4516,4530,4549,4556,6165,6453,4566,5569,4541,4603,4611,4619,5072,4647,5608,5347,4557,4557,4852,5818,5856,4536,5875,5883,7e3,4557,4557,4557,5894,4557,4557,7023,4557,4557,4557,4791,4557,4557,5718,4557,4557,4516,4530,4549,4556,6165,6865,6053,4566,5569,5571,4557,4886,5047,5587,5181,6440,4557,4557,4557,4557,4557,4557,5848,5598,6,65561,0,11763753,98313,0,0,131081,164017,164025,294916,294916,294916,294916,294916,294916,0,0,294916,0,0,0,0,0,6389772,0,0,0,164033,164041,851972,0,851972,164049,0,0,0,0,0,20292809,3047428,330889,0,0,196961,196969,0,196977,11763761,0,0,0,0,0,20381705,3047428,330889,10485766,10485764,0,0,0,0,0,0,0,19955721,0,0,0,11763753,98313,0,0,131081,0,0,196961,196969,0,196977,0,0,0,0,0,15007753,0,0,0,0,0,15040521,0,0,0,0,0,15302665,688132,720900,0,0,0,8519684,1671172,1671172,0,0,0,0,0,15345417,688132,720900,0,1671172,0,1671172,1671172,0,1671172,1671172,1671172,1605636,1605636,0,0,0,0,0,9207836,12162745,12195601,1671172,1671172,1671172,8519684,8519684,0,0,6258692,0,0,0,0,0,0,0,0,98316,3112964,0,0,0,0,0,0,0,465545,0,3047428,0,10452996,0,0,0,0,0,0,18809993,0,0,0,3047428,365945,0,0,3047428,11965881,11998713,393225,12025865,12064313,12097145,12124169,12162745,12195601,12228553,12261409,12294265,12320777,12353545,12386313,12419081,12451849,12490945,12523841,432513,5839397,5865476,0,5865476,465545,5865476,12557081,6062084,6062084,12589913,491529,6193156,6225924,0,6225924,0,0,6225924,8028164,0,0,0,0,0,20776377,0,0,0,0,0,19431433,688132,720900,0,0,0,6225924,6225924,6225924,6717444,6750212,0,0,0,0,0,0,0,18450185,0,0,0,6225924,0,6225924,7766020,7766020,0,6193156,0,6193156,0,6193156,6193156,6160388,565513,0,0,8388612,8486916,8486916,0,565537,589833,0,0,0,0,0,0,0,983060,0,0,1704161,0,0,0,0,0,0,4297509,0,0,0,1737089,0,0,0,0,0,0,4824217,720900,0,272369,0,0,0,0,0,0,0,20325529,0,4063236,0,0,4063236,4063236,3083445,0,0,0,0,0,20938761,12162745,12195601,9666564,9666564,0,0,0,0,0,0,0,20518153,0,432553,0,0,432585,0,0,0,0,0,7176201,3047428,330889,0,0,8159244,0,8224780,0,0,0,0,0,7176212,0,0,0,0,565569,0,0,0,0,0,0,4882468,4882468,8585220,0,0,0,0,0,0,0,1844673,0,8617996,8421380,8421380,8486916,8486916,8421380,0,0,0,0,0,21040145,688132,720900,3375113,7340036,0,0,0,0,0,0,0,20518193,7831564,0,0,0,0,0,0,0,2296325,7208964,0,0,0,0,0,0,0,2686996,7438348,0,0,0,0,0,0,0,2886653,7143436,0,0,0,0,0,0,0,2919461,0,0,0,0,3670025,0,0,0,0,0,7372812,0,0,0,0,0,14254089,0,0,0,0,0,0,18810025,0,14291777,0,0,0,0,0,0,0,3047428,7667716,0,0,0,0,0,0,0,3276812,3776257,0,7577357,0,0,0,0,0,0,5242889,15566953,0,14322905,3178500,3837209,0,0,0,0,0,0,18842569,0,0,3178500,3178500,3870177,3903001,0,0,0,0,0,7733268,3047428,330889,0,0,0,0,3768332,0,0,0,0,0,0,0,14417929,0,0,0,0,0,14454361,3604484,6651916,0,0,0,0,0,0,0,3342348,4227081,7340036,0,0,0,0,0,0,0,20550865,0,0,4423689,0,0,0,0,0,0,6979588,6750212,7405580,0,0,0,0,0,0,0,3407884,5079052,0,0,0,0,0,0,0,3932172,6684684,0,0,0,0,0,0,0,3964940,0,3047428,0,14752705,0,0,0,0,0,0,18842601,0,8093700,8093700,8093700,0,0,0,0,0,0,0,4063236,0,0,0,5839397,5865476,0,5865476,465545,0,3047428,0,0,0,0,0,0,0,21140633,0,0,0,6225924,14884737,6225924,7766020,7766020,0,0,0,6094860,12589913,491529,6193156,6225924,6225924,6225924,6225924,524297,0,0,0,0,0,6520836,3047428,330889,7897092,0,0,0,0,0,0,0,4325388,0,1613929,0,0,0,0,0,0,0,21331977,0,0,0,14974985,0,0,0,0,0,0,19202057,7315881,0,8388620,8421380,8421380,8486916,8486916,8421380,0,0,0,0,330913,4063236,4063236,4063236,0,0,15138825,0,0,0,0,0,0,7274505,7315881,0,0,0,0,15279585,0,0,0,0,0,8093700,0,0,0,0,0,15410481,0,0,0,0,0,0,19866417,7315881,0,0,0,0,5112721,0,0,0,0,0,8552452,688132,720900,5144588,0,0,0,0,0,0,0,5013540,11998753,393225,12025865,12064313,12097145,12124169,12162745,12195601,0,5242900,12025865,12064313,12097145,12124169,12162745,12195601,0,0,0,12064353,12097145,12124169,12162745,12195601,0,0,0,0,12097185,12124169,12162745,12195601,12228609,12261409,12294265,12320777,12353545,12386313,12419081,12451849,0,12261465,12294265,12320777,12353545,12386313,12419081,12451849,0,12523881,432513,5839397,5865476,0,5865476,465545,5537801,5537801,0,8716292,524297,0,0,0,0,0,8552452,688132,11894793,0,0,0,5537801,0,5537801,7766020,7766020,0,0,8683532,8716292,0,0,0,0,0,0,20651249,720900,0,0,8781836,8716292,0,0,0,0,0,0,21369089,11505793,0,3047428,0,15604401,0,0,0,0,0,0,21397513,11505793,0,12557121,6062084,6062084,12589913,491529,6193156,6225924,6225924,6225924,6225924,524297,0,0,6488084,0,0,0,0,12589969,491529,6193156,6225924,6225924,6225924,6225924,524297,0,0,6619156,6225924,6225924,6225924,6225924,524297,0,15637577,6488068,6520836,0,0,6225924,6225924,6225924,6717444,6750212,6717444,7110660,7110660,0,0,7110660,7110660,7110660,6225924,7503876,7503876,0,3047428,0,15663113,0,0,0,0,0,196945,196953,0,6225924,6225924,6225924,6225924,524297,0,15735809,6488068,6520836,15768625,15801433,6225924,6225924,6225924,6717444,6750212,0,0,0,15835489,8486916,8486916,0,0,0,0,0,15992777,15992793,15566953,0,3047428,0,15865177,0,0,0,0,0,1802244,688132,720900,7307284,0,0,0,0,0,0,0,5570588,0,3047428,0,15892489,0,0,0,0,0,1835012,688132,720900,7274516,0,0,0,0,0,0,0,5603356,0,3047428,0,15958025,0,0,0,0,0,1900548,688132,720900,0,15992785,0,0,0,0,0,0,196937,0,7241732,0,0,0,0,0,0,0,5636124,0,0,7577357,0,0,0,0,0,0,7572193,2788093,0,0,0,16064289,0,0,0,0,0,1998852,688132,720900,0,16089097,0,0,0,0,0,0,262685,0,16125297,0,0,0,0,0,0,0,6258692,0,0,0,0,3902977,0,0,0,0,0,9207820,12162745,12195601,0,0,0,3506188,0,0,0,0,0,2359308,688132,720900,0,0,0,6000041,0,0,0,0,0,2719748,0,0,0,0,0,3538956,0,0,0,0,0,2719753,2719753,2719753,0,3047428,0,16220169,0,0,0,0,0,3112964,0,0,0,0,0,0,3047428,6094857,0,0,3047428,3047428,3047428,0,0,0,0,3047428,0,0,0,3047428,3047428,2293764,0,0,0,0,0,0,0,6422532,7471124,0,0,0,0,0,0,0,6750212,0,0,3047428,0,0,16416777,3047428,3047428,0,0,3047428,0,0,16458697,3047428,3047428,0,0,16547849,0,0,0,0,0,0,8224777,0,0,0,0,0,4489236,6329345,0,4489236,0,3047428,0,16585633,0,0,0,0,0,3214725,3047428,330889,0,3047428,0,16613385,0,0,0,0,0,3375116,688132,720900,14686809,0,0,0,0,0,0,0,7147985,0,3047428,0,16652905,0,0,0,0,0,3444173,3047428,330889,16719009,0,0,0,0,0,0,0,7250697,0,0,0,0,16785585,0,0,0,0,0,9207828,12162745,12195601,0,0,32933,0,0,0,0,0,0,8290316,0,16876161,0,0,0,0,0,0,0,8060940,16942289,1048580,1048580,1048580,0,0,1048580,1048580,0,0,17306001,0,0,0,0,0,0,0,8093700,0,0,17338961,0,0,0,0,3047428,0,0,9764900,3047428,3047428,5111828,0,0,0,0,0,0,0,8889057,17375713,17408545,17441377,8987309,7348929,7372809,7405577,0,0,0,0,1146892,0,0,0,0,0,10069213,3047428,330889,0,0,9043972,0,0,0,0,0,0,9831801,0,0,0,12294313,12320777,12353545,12386313,12419081,12451849,7536649,1572868,1605636,1605636,1671172,1671172,0,0,0,0,0,17204297,0,0,0,0,0,16515081,0,0,0,0,0,16386337,0,0,0,0,0,16255409,0,0,0,0,0,16255385,16255433,2296325,1572868,1671172,0,1671172,1671172,0,1671172,1671172,1671172,8519684,8519684,0,0,0,0,0,7208964,688132,720900,0,1605636,2392068,2392068,1605636,2490372,2490372,1605636,2588676,2588676,0,0,1605636,1572868,7572193,2788093,2788109,0,1572868,0,0,0,0,0,0,11473065,0,0,17694729,2392068,2392068,17694729,2490372,2490372,17694729,2588676,2588676,0,0,17694729,0,0,0,0,0,0,0,9076748,0,3047428,0,17733905,0,0,0,0,0,3477053,3047428,330889,0,0,0,0,8749068,0,0,0,0,0,9797636,3047428,330889,0,0,0,0,8323100,0,0,0,0,0,9863172,3047428,330889,14291809,0,0,0,0,0,0,0,9371668,0,14322945,3178500,3837209,0,0,0,0,0,3637268,3047428,330889,0,0,0,17830201,0,0,0,0,0,3673861,3047428,330889,0,0,0,17862689,0,0,0,0,0,3706757,3047428,330889,0,0,0,0,8028169,0,0,0,0,0,10003421,3047428,330889,14417929,0,0,0,0,0,14454401,3604484,3604484,3604484,0,0,0,0,0,0,5868897,0,0,0,0,17993385,0,0,0,0,0,3739653,3047428,330889,0,0,0,18026281,0,0,0,0,0,3833884,3047428,330889,0,0,0,18059177,0,0,0,0,0,4002085,3047428,330889,0,3047428,0,4653060,0,0,18125889,0,0,0,0,1509221,3014660,3047428,330889,0,0,0,0,18153481,6329345,0,0,0,0,0,17235977,0,0,0,0,0,16685793,688132,720900,0,0,0,6225924,14884769,6225924,7766020,7766020,18415625,0,0,0,0,0,0,0,9437204,18450249,1572868,1605636,1605636,1671172,1671172,0,0,0,0,0,17769601,3047428,330889,0,0,0,557092,0,0,0,0,0,4096012,3047428,330889,0,0,0,18612233,0,0,0,0,0,4128780,3047428,330889,18654721,18687585,0,0,0,0,0,0,302777,0,0,0,18720641,18743305,0,0,0,0,0,4358156,3047428,330889,0,0,0,0,18786097,0,0,0,0,0,10092548,3047428,330889,10299093,1572868,1605636,1605636,1671172,1671172,0,0,0,0,0,17769649,3047428,330889,0,0,0,0,10134861,3014660,3047428,330889,0,0,0,0,18878961,0,0,0,0,0,10256393,12162745,12195601,0,0,0,4259852,0,0,0,0,0,4390924,3047428,330889,0,0,0,0,5275684,0,0,0,0,0,10256404,3047428,330889,0,0,0,0,7315913,9306116,9306116,0,9306116,0,0,0,0,0,4428669,3047428,330889,0,0,0,9020157,0,0,0,0,0,4456468,3047428,330889,9043980,0,0,0,0,0,0,0,9568276,0,0,0,8987309,7348929,7372809,7405577,0,0,0,0,2561417,5046284,0,0,0,0,0,15378113,688132,720900,0,3047428,0,19234825,0,0,0,0,0,4592677,3047428,330889,0,0,0,1540108,0,0,0,0,0,4625501,3047428,330889,2788109,0,0,0,0,0,0,0,10420236,19401793,1572868,1605636,1605636,1671172,1671172,0,0,0,0,0,18195489,3047428,330889,6520836,15768617,15801433,6225924,6225924,6225924,6717444,6750212,0,0,15801473,0,0,0,0,0,0,11473065,3899396,0,0,0,15835521,8486916,8486916,0,0,0,0,0,18195521,3047428,330889,19466465,0,0,0,0,0,0,0,11965921,19499065,0,0,0,0,0,0,0,12195721,0,0,0,16064329,0,0,0,0,0,4756653,3047428,330889,0,0,0,0,7602204,0,0,0,0,0,10364837,3047428,330889,19529737,0,0,0,0,0,0,0,14230633,9928740,3047428,3047428,3047428,0,0,0,0,0,4789493,3047428,330889,0,4718628,9507953,0,4718628,0,0,0,0,0,10424657,3047428,330889,6914052,0,0,0,0,0,0,0,15566993,0,0,0,6979588,0,8199377,6979588,6750212,0,0,131116,0,0,0,0,0,0,12162801,12195601,0,3047428,3047428,3047428,1509269,0,0,0,0,0,10457145,3047428,330889,0,0,9733617,0,0,0,0,0,0,14623737,6225924,0,0,0,0,19760401,0,0,0,0,0,11080033,0,0,0,0,0,0,9938481,0,0,0,0,0,11178073,0,0,0,0,10167877,0,0,0,0,0,0,15434849,0,0,3047428,3047428,3047428,10134909,0,0,0,0,0,11932609,3047428,330889,17306041,0,0,0,0,0,0,0,19597793,0,0,17339001,0,0,0,0,3047428,0,0,9895956,3047428,3047428,0,0,9469964,0,0,0,0,0,0,15467425,0,0,10158089,0,0,0,0,0,0,360476,0,17375753,17408545,17441377,8987309,7348929,7372809,7405577,0,0,0,0,2561417,5051821,0,0,0,0,0,15695881,688132,11894793,0,17408585,17441377,8987309,7348929,7372809,7405577,0,0,0,0,3244052,0,0,0,0,0,9961476,3047428,330889,0,19922953,0,0,0,0,0,0,393236,0,2788109,20057017,1572868,0,0,0,0,0,0,15927497,15566953,20152329,1572868,1605636,1605636,1671172,1671172,0,0,0,0,0,18579465,688132,720900,0,0,20220481,18743305,0,0,0,0,0,4915228,3047428,330889,0,0,0,17993417,0,0,0,0,0,4981321,688132,720900,0,0,0,0,20418289,0,0,0,0,0,11932649,3047428,330889,0,0,0,18026313,0,0,0,0,0,5373972,12162745,12195601,0,0,0,0,20451185,0,0,0,0,0,14686793,0,0,0,0,0,18059209,0,0,0,0,0,5537801,7503876,7503876,0,0,0,0,20484081,0,0,0,0,0,14781209,688132,720900,0,0,9507953,0,0,0,0,0,0,16025625,15566953,0,0,0,20583649,0,0,0,0,0,5603337,0,0,0,20611081,9507953,0,0,0,0,0,0,16191017,0,0,20716937,0,0,0,0,0,0,819236,0,0,0,0,9733649,0,0,0,0,0,5668892,0,0,0,0,0,9799249,0,0,0,0,0,5701660,0,0,0,18687625,0,0,0,0,0,0,1376268,0,0,0,0,0,18786129,0,0,0,0,0,14819297,3047428,330889,0,0,17441425,8987309,7348929,7372809,7405577,0,0,0,0,3473417,0,0,0,0,0,7340036,0,0,0,3047428,0,20971529,0,0,0,0,0,5767177,688132,720900,19401825,1572868,1605636,1605636,1671172,1671172,0,0,0,0,0,19796489,3047428,330889,0,0,4034925,0,0,0,0,0,0,17796537,0,0,0,3805301,0,0,0,0,0,0,18221881,2296325,5013508,4947988,0,0,0,0,0,0,1811721,0,0,0,10690017,6881284,0,0,0,0,0,5836097,5868897,0,0,0,0,6946820,10722897,0,0,0,0,0,14819329,3047428,330889,0,0,1409036,0,0,0,0,0,0,18221913,2296325,0,0,0,0,19760457,0,0,0,0,0,14843913,3047428,330889,2788109,20057049,1572868,0,0,0,0,0,0,18357577,720900,0,0,20220513,18743305,0,0,0,0,0,6291468,688132,720900,11538633,3870949,0,0,0,0,0,0,1844641,0,0,3870949,0,0,0,0,0,0,4198957,0,0,3047428,0,21463049,0,0,0,0,0,6329345,0,0]),Q(h,"TOKEN",["%ERROR","StringLiteral","PredefinedEntityRef","CharRef","EscapeApos",`'""'`,"UnreservedNCName","URIQualifiedName","NonKeywordQName","Wildcard","HexIntegerLiteral","BinaryIntegerLiteral","DecimalLiteral","DoubleLiteral","S","PragmaContents","QuotAttrContentChar","AposAttrContentChar","ElementContentChar","CDataSectionContents","DirCommentContents","PITarget","DirPIContents","StringTemplateFixedPart","StringConstructorChars","CommentContents",`'"'`,"'#)'","'%'","'%static'","''''","'(#'","'(:'","'-->'","'.'","'..'","':)'","'<'","''":"comment","''":"operator","''":"operator",PITarget:"keyword","'(#'":"decorator","'#)'":"decorator","'%'":"decorator","'$'":"variable",Wildcard:"operator",UnreservedNCName:"name",NonKeywordQName:"name",URIQualifiedName:"name",S:void 0,ElementContentChar:void 0,EOF:void 0,"'('":void 0,"')'":void 0,"'{'":void 0,"'}'":void 0,"'['":void 0,"']'":void 0,"','":void 0,"';'":void 0,"':'":void 0},Zx=new Set(["ElementContentChar","QuotAttrContentChar","AposAttrContentChar","CDataSectionContents","DirCommentContents","DirPIContents","PragmaContents"]),$r=new Map(Object.entries(Fx));function Lx(n){let e=$r.get(n);return e===void 0&&!$r.has(n)&&(e=/^'[A-Za-z]/.test(n)?"keyword":n.startsWith("'")?"operator":void 0,$r.set(n,e)),e}var Dx=new Set(["NonKeywordQName","URIQualifiedName","Wildcard"]),jx=new Set(["NCName","QName","EQName","UnreservedFunctionQName"]),Bx={ModuleDecl:"namespace",NamespaceDecl:"namespace",SchemaPrefix:"namespace",ModuleImport:"namespace",UnreservedFunctionEQName:"function",MethodCall:"method",TypeName:"type",ItemTypeDecl:"type",LabeledRecordTypeDecl:"type",DirElemConstructor:"class",CompElemConstructor:"class",ElementName:"class",CompNodeNCName:"class",MarkedNCName:"class",DirAttributeList:"property",CompAttrConstructor:"property",AttributeName:"property",NameTest:"property",Selector:"property",FieldName:"property",KeySpecifier:"property",JNodeType:"property",OptionDecl:"property",FTExtensionOption:"property",DecimalFormatDecl:"property",ProcessingInstructionNodeType:"property",KeywordArgument:"parameter",Annotation:"decorator",Pragma:"decorator",QNameLiteral:"enumMember"},Nx={EnclosedExpr:"region",ParenthesizedExpr:"region",ArgumentList:"region",PositionalArgumentList:"region",MapConstructor:"region",SquareArrayConstructor:"region",Predicate:"region",BracedSwitchCases:"region",BracedTypeswitchCases:"region",DirElemConstructor:"region",CDataSection:"region",StringConstructor:"region",StringTemplate:"region",DirCommentConstructor:"comment",ParamList:"list",ParamListWithDefaults:"list",Pragma:"region",DirPIConstructor:"region"},Ix={FunctionDecl:{kind:"function",role:"function"},VarDecl:{kind:"variable",role:"variable"},NamespaceDecl:{kind:"namespace",role:"namespace"},ModuleDecl:{kind:"module",role:"namespace"},ModuleImport:{kind:"module",role:"namespace"},SchemaImport:{kind:"namespace",role:"namespace"},OptionDecl:{kind:"option",role:"property"},ItemTypeDecl:{kind:"type",role:"type"},LabeledRecordTypeDecl:{kind:"type",role:"type",record:!0}},ec=new Set(["FLWORExpr","QuantifiedExpr","FunctionDecl","InlineFunctionExpr","CaseClause","TypeswitchCases","CopyModifyExpr"]),tc=new Set(["ForItemBinding","ForMemberBinding","ForEntryBinding","LetValueBinding","LetSequenceBinding","LetArrayBinding","LetMapBinding","QuantifierBinding"]),Wx=new Set(["FunctionBody","ModuleImport","BaseURIDecl","DefaultNamespaceDecl","ArrowTarget","VarRef","VarName","VarNameAndType","VarDecl","FunctionCall","NamedFunctionRef","TypeName","PositionalArguments","KeywordArguments","ArgumentList","ParamWithDefault","ParamListWithDefaults","ExtendedFieldDeclaration"]);function Gl(n){return n.replace(/&(?:(amp|lt|gt|quot|apos)|#(x[0-9A-Fa-f]+|[0-9]+));/g,(e,t,r)=>{if(t)return{amp:"&",lt:"<",gt:">",quot:'"',apos:"'"}[t];let i=r[0]==="x"?parseInt(r.slice(1),16):parseInt(r,10);return i<=1114111?String.fromCodePoint(i):e})}var Hl={},Pr=new Map,Vt=n=>{let e=Pr.get(n);return e||Pr.set(n,e={}),e};for(let n of jx)Vt(n).name=!0;for(let[n,e]of Object.entries(Bx))Vt(n).role=e;for(let[n,e]of Object.entries(Ix))Vt(n).declaration=e;for(let[n,e]of Object.entries(Nx))Vt(n).fold=e;for(let n of[...Wx,...ec,...tc])Vt(n).tracked=!0;var zx=new Set(["ContextValueRef","AxisStep","UnaryLookup","AbsolutePathExpr","RelativePathExpr","SimpleMapExpr","PipelineExpr","Predicate","TransformWithExpr","InlineFunctionExpr","FunctionDecl","DirElemConstructor","SchemaImport","ElementNodeType","AttributeNodeType","ValidateExpr","ModuleDecl","ParamList","ParamListWithDefaults","CDataSection","DirPIConstructor","AbbreviatedStep","FullStep","DirAttributeList","CompElemConstructor","CompAttrConstructor","ElementName","AttributeName"]),Kl=n=>n==="xmlns"||n.startsWith("xmlns:");function Tr(n){let e=n.trim(),t=[],r=0,i=0;for(let s=0;s","/>","",""]),i3=class{constructor(){Q(this,"tokens",[]);Q(this,"declarations",[]);Q(this,"folds",[]);Q(this,"content",[]);Q(this,"occurrences",[]);Q(this,"defaults",{});Q(this,"imports",[]);Q(this,"prefixes",[]);Q(this,"bindings",[]);Q(this,"annotations",[]);Q(this,"schemas",!1);Q(this,"bodies",[]);Q(this,"focused",[]);Q(this,"contextual",[]);Q(this,"library",!1);Q(this,"parameters",[]);Q(this,"fieldsWithoutDefault",[]);Q(this,"modifiers",new Map);Q(this,"elementNames",new Set);Q(this,"attributeNames",new Set);Q(this,"tags",[]);Q(this,"baseUri");Q(this,"consumed",0);Q(this,"input","");Q(this,"stack",[]);Q(this,"dollar",!1);Q(this,"open",[]);Q(this,"body")}reset(e){this.stack.length=0,e!==void 0&&(this.input=e)}ambiguity(e,t){}terminal(e,t,r){this.stack.push({first:this.tokens.length,last:this.tokens.length,name:this.token(e,t,r).type==="name"}),this.consumed=r}nonterminal(e,t,r,i){let s=this.stack,o=Pr.get(e)??Hl;if(zx.has(e)&&this.watch(e,t,r,i),i===1&&o===Hl)return;if(o.fold&&this.folds.push({begin:t,end:r,kind:o.fold}),i===0){s.push({first:this.tokens.length,last:this.tokens.length-1,name:!1});return}let a=s.length-i,l={first:s[a].first,last:s[s.length-1].last,name:!!o.name};if(o.role)for(let c=a;c0&&o[0]!=="*"&&!o.startsWith("Q{")&&this.prefixes.push({begin:t,end:t+a,prefix:o.slice(0,a)})}if(Zx.has(e)){s.content=!0;let o=this.content.at(-1);o&&o[1]===t?o[1]=r:this.content.push([t,r])}return this.tokens.push(s),s}give(e,t){for(let r=e.first;r<=e.last;r++)this.tokens[r].type=t;e.name=!1}declare(e,t,r,i,s,o,a=!1){let l=this.input,c=this.tokens,u=x=>x.end-x.begin===1&&l[x.begin]==="$",d=(x,y=s.first)=>{for(let v=y;v<=s.last;v++)if(c[v].type===x&&!u(c[v]))return v;return-1},h=x=>this.literal(x).text,p=d(t),f,m,b;if(p>=0){let x=d("string",p+1);f=l.slice(c[p].begin,c[p].end),e==="variable"&&(f="$"+f),x>=0&&(e==="namespace"||e==="module")&&(m=h(c[x])),e==="function"&&({detail:m,parameters:b}=this.signature(c[p].end,i,s))}else if(e==="module"&&(p=d("string"))>=0)f=h(c[p]);else return;let g=e==="variable"&&p>0&&u(c[p-1])?p-1:p;if(this.declarations.push({kind:e,name:f,detail:m,parameters:b,begin:r,end:i,nameBegin:c[g].begin,nameEnd:c[p].end}),e==="function"||e==="variable"||e==="type"){let x=[];for(let v=s.first;vv.params)?.params,y=this.occurrence(e,!0,c[p].begin,p,p,x?.arity??0);y.required=x?.required??0,a&&this.constructorFunction(f,c[g].begin,c[p].end,r,i,p,o)}}constructorFunction(e,t,r,i,s,o,a){let l=this.stack.slice(a).filter(m=>m.field),c=!1;for(let m of l)if(m.field.default)c=!0;else if(c){let b=m.first+(m.field.static?1:0);this.fieldsWithoutDefault.push({begin:this.tokens[b].begin,end:this.tokens[b].end,name:this.text(b,b)})}let u=l.filter(m=>!m.field.static),d="(",h=u.findIndex(m=>m.field.default),p=[];for(let m of u){let b="$";for(let g=m.first;g<=m.last;g++)g>m.first&&this.tokens[g].begin>this.tokens[g-1].end&&(b+=" "),b+=this.text(g,g).replace(/\s+/g," ");p.length&&(d+=", "),p.push([d.length,d.length+b.length]),d+=b}d+=`) as ${e}`,this.declarations.push({kind:"function",name:e,detail:d,parameters:p,begin:i,end:s,nameBegin:t,nameEnd:r,implicit:!0});let f=this.occurrence("function",!0,t,o,o,u.length);f.required=h<0?u.length:h,f.record=!0}literal(e){let t=this.input[e.begin],r=e.begin+1,i=e.end-1;return{begin:r,end:i,text:Gl(this.input.slice(r,i).split(t+t).join(t))}}signature(e,t,r){let i=this.tokens[r.last],s=this.body?.end===t?this.body.begin:t;s===t&&this.input.slice(i.begin,i.end)==="external"&&(s=i.begin);let o="",a=e,l=0,c=0,u=!1,d=[],h=p=>{let f=c,m=p;for(;o[f]===" ";)f++;for(;m>f&&o[m-1]===" ";)m--;m>f&&d.push([f,m])};for(let p=r.first;p<=r.last;p++){let f=this.tokens[p],m=this.input.slice(f.begin,f.end).replace(/\s+/g," ");f.begin=s||(f.begin>a&&o&&!"([".includes(o.at(-1))&&!",)]".includes(m[0])&&(o+=" "),!u&&!f.content&&m.length===1&&"([{)]},".includes(m)&&(m===","&&l===1?(h(o.length),c=o.length+1):m===")"&&l===1&&(h(o.length),u=!0),"([{".includes(m)?++l===1&&m==="("&&(c=o.length+1):m!==","&&l--),o+=m,a=f.end)}return{detail:o,parameters:d}}watch(e,t,r,i){let s=this.stack.length-i,o=this.tokens,a=c=>this.stack[s+c],l=c=>o[a(c).first].begin;switch(e){case"ContextValueRef":case"AxisStep":case"UnaryLookup":this.contextual.push({begin:t,end:r});break;case"AbsolutePathExpr":this.contextual.push({begin:t,end:r}),i>1&&this.focused.push([l(1),r]);break;case"RelativePathExpr":case"SimpleMapExpr":case"PipelineExpr":i>2&&this.focused.push([l(2),r]);break;case"Predicate":this.focused.push([t,r]);break;case"TransformWithExpr":{let c=-1;for(let u=0;u=0&&(this.focused.push([c,o[d.first].end]),c=-1)}break}case"InlineFunctionExpr":{if(i<2)break;let c=a(i-2),u=c.first===c.last?this.text(c.first,c.first):"";u==="function"||u==="fn"?this.focused.push([l(i-1),r]):this.text(a(i-1).first,a(i-1).first)==="{"&&this.bodies.push({begin:l(i-1),end:r});break}case"FunctionDecl":{i>0&&this.text(a(i-1).first,a(i-1).first)==="{"&&this.bodies.push({begin:l(i-1),end:r});break}case"SchemaImport":this.schemas=!0;break;case"ModuleDecl":this.library=!0;break;case"ParamList":case"ParamListWithDefaults":this.parameters.push({begin:t,end:r});break;case"ElementNodeType":case"AttributeNodeType":{this.annotations.push({begin:t,end:r}),i>3&&this.addName(e==="ElementNodeType"?this.elementNames:this.attributeNames,a(2));break}case"ValidateExpr":for(let c=0;c+1[o[a(d).first].begin,o[a(d).last].end];this.tags.push({open:u(1),close:c>0&&c+11&&this.addName(this.elementNames,a(1));break;case"CompAttrConstructor":i>1&&this.addName(this.attributeNames,a(1));break;case"ElementName":this.addName(this.elementNames,a(0));break;case"AttributeName":this.addName(this.attributeNames,a(0));break;case"CDataSection":case"DirPIConstructor":for(let c=0;c!s[l].content&&this.text(l,l)===c,a=0;for(let l=e;l<=t;l++){let c=s[l],u=this.input.slice(c.begin,c.end);if(o(l,"{"))a++;else if(o(l,"}"))a--;else{if(a===0&&(o(l,">")||o(l,"/>")))return;if(a===0&&c.qualified&&Kl(u)){let d=this.text(l+2,l+2);if(d!=='"'&&d!=="'")continue;let h=l+3,p=!1;for(;h<=t&&this.text(h,h)!==d;)o(h,"{")&&(p=!0),h++;if(h>t)continue;let f=h>l+3?this.input.slice(s[l+3].begin,s[h-1].end):"";this.bindings.push({prefix:u.slice(6),uri:p?"":Gl(f),computed:p,begin:r,end:i})}}}}addName(e,t){for(let r of Tr(this.text(t.first,t.last)))e.add(r)}text(e,t){return this.input.slice(this.tokens[e].begin,this.tokens[t].end)}occurrence(e,t,r,i,s,o){let a=this.tokens[s].end,l={kind:e,name:this.text(i,s),begin:r,end:a,declaration:t,target:-1,arity:o,scopeBegin:a,scopeEnd:1/0};return this.occurrences.push(l),l}openSince(e){let t=this.open.length;for(;t>0&&this.open[t-1].begin>=e;)t--;return t}track(e,t,r,i,s){let o=this.stack,a=o.length-i,l=this.tokens,c=o[a],u=o[a+1],d=h=>l[h.first].begin;switch(e){case"VarRef":this.occurrence("variable",!1,d(c),u.first,u.last);break;case"VarName":case"VarNameAndType":{let h=this.occurrence("variable",!0,d(c),u.first,u.last);c.first>0&&/^(let|for|some|every)$/.test(this.text(c.first-1,c.first-1))&&(h.scopeBegin=1/0),this.open.push(h);break}case"FunctionCall":{s.call=this.occurrence("function",!1,d(c),c.first,c.last,u.args??0),u.keywords&&(s.call.keywords=!0);break}case"ArrowTarget":c.call&&c.call.arity++;break;case"NamedFunctionRef":this.occurrence("function",!1,d(c),c.first,c.last,Number(this.text(o[a+2].first,o[a+2].last))).reference=!0;break;case"TypeName":this.occurrence("type",!1,d(c),c.first,c.last);break;case"PositionalArguments":case"KeywordArguments":s.args=(c.args??1)+(i-1>>1),e==="KeywordArguments"&&(s.keywords=!0);break;case"ArgumentList":s.args=o.slice(a).reduce((h,p)=>h+(p.args??0),0),s.keywords=o.slice(a).some(h=>h.keywords);break;case"ParamWithDefault":s.optional=i>1;break;case"ExtendedFieldDeclaration":s.field={static:this.text(c.first,c.first)==="%static",default:o.slice(a).some(h=>h.first===h.last&&this.text(h.first,h.first)===":=")};break;case"ParamListWithDefaults":{let{arity:h,required:p}=c.params??{arity:1,required:c.optional?0:1};for(let f=a+2;ff.begin===d(o[a+h]));p&&(p.scopeBegin=l[o[a+h+2].last].end)}for(let h of this.open.splice(this.openSince(t)))h.scopeEnd=r;break;default:if(tc.has(e))for(let h=this.openSince(t);hn)),q6=n=>n.startsWith("Q{")?n.slice(n.indexOf("}")+1):n.slice(n.indexOf(":")+1),Yt=n=>{let e=n.indexOf(":");return e>0&&!n.startsWith("Q{")?n.slice(0,e):void 0},o3=(n,e,t)=>`${n} ${e?`{${e}}`:""}${t}`;function ic(n,e,t=[]){let r=new Map(rc);for(let a of n)a.detail!==void 0&&(a.kind==="namespace"||a.kind==="module")&&r.set(a.name,a.detail);let i=new Map;for(let a of[...t].sort((l,c)=>l.begin-c.begin||c.end-l.end)){let l=i.get(a.prefix);l||i.set(a.prefix,l={list:[],around:[]});let c=[];for(let u=l.list.length-1;u>=0;u=l.around[u])if(l.list[u].end>=a.end){c.push(u);break}l.around.push(c.length?c[0]:-1),l.list.push(a)}let s=(a,l)=>{let c=i.get(a);if(!c)return;let u=0,d=c.list.length-1,h=-1;for(;u<=d;){let p=u+d>>1;c.list[p].begin<=l.begin?(h=p,u=p+1):d=p-1}for(;h>=0;h=c.around[h])if(l.end<=c.list[h].end)return c.list[h]},o=a=>{let{name:l}=a,c=Yt(l);if(l.startsWith("Q{")){let d=l.indexOf("}");return{uri:l.slice(2,d),name:l.slice(d+1)}}if(c!==void 0){let d=s(c,a);if(d)return d.computed?{name:q6(l),computed:!0}:{uri:d.uri,name:q6(l)};let h=r.get(c);return h===void 0?{name:l}:{uri:h,name:q6(l)}}if(a.kind==="type"){let d=s("",a);if(d)return d.computed?{name:l,computed:!0}:{uri:d.uri,name:l}}let u=e.element==="##any"?Ux:e.element;return{uri:a.kind==="function"&&!a.record?e.function:a.kind==="type"||a.record?u:void 0,name:l}};return{bound:(a,l)=>a==="xmlns"||r.has(a)||l!==void 0&&s(a,l)!==void 0,elementBound:(a,l)=>s(a,l)!==void 0,namespace:a=>o(a).uri||void 0,unknown:a=>!!o(a).computed,fallsBackToFn:a=>a.kind==="function"&&!a.name.startsWith("Q{")&&!a.name.includes(":")&&e.function===void 0,key:a=>{let{uri:l,name:c,computed:u}=o(a);return u?`${a.kind} ?${c}`:o3(a.kind,l,c)}}}function a3(n,e){let t=r=>n.arity>=r.required&&n.arity<=r.arity;return e.find(r=>r.arity===n.arity)??e.find(t)??(e.length===1?e[0]:void 0)}function sc(n,e,t){let r=new Map;n.forEach((s,o)=>{if(!s.declaration)return;let a=e.key(s),l=r.get(a);l?l.push(o):r.set(a,[o])});let i=new Map;for(let s of n){if(s.declaration||e.unknown(s))continue;let o=e.key(s),a=r.get(o);if(a)switch(s.kind){case"variable":{let l=i.get(o);if(!l){let d=h=>n[h].scopeBegin;i.set(o,l={pending:[...a].sort((h,p)=>(d(h)d(p)?1:0)||h-p),next:0,visible:[]})}let{pending:c,visible:u}=l;for(;l.nextn[u])),c=l&&e.fallsBackToFn(s)&&t(s.name)&&!(s.arity>=l.required&&s.arity<=l.arity);s.target=l&&!c?n.indexOf(l):-1;break}default:s.target=a[0]}}}function U2(n,e){let t=0,r=n.length-1,i=-1;for(;t<=r;){let s=t+r>>1;n[s].begin<=e?(i=s,t=s+1):r=s-1}return i>=0&&e<=n[i].end?i:-1}function G2(n,e){return n[e].declaration?e:n[e].target}function qr(n,e,t){let r=[];return n.forEach((i,s)=>{(i.target===e||t&&s===e)&&r.push(s)}),r}var Ut=new Map;for(let n of Cr){let e=o3("function",b5[Yt(n.name)],q6(n.name)),t=Ut.get(e);t?t.push(n):Ut.set(e,[n])}var oc=n=>Ut.get(n)??[],Gt=n=>Ut.has(`function {${b5.fn}}${n}`);function l3(n,e){if(n.kind!=="function"||e.unknown(n)||n.name.startsWith("Q{")&&e.namespace(n)===void 0)return;let t=e.key(n);if(e.namespace(n)===void 0){let s=Yt(n.name),o=s===void 0?e.fallsBackToFn(n)?b5.fn:void 0:b5[s];if(o===void 0)return;t=o3("function",o,q6(n.name))}let r=Ut.get(t),i=n.arity??0;return r?.find(s=>i>=s.required&&(s.variadic||i<=s.params.length))??r?.[0]}var Gx=n=>n.params.map(([e,t],r)=>n.variadic&&r===n.params.length-1?`$${e} as ${t} ...`:`$${e} as ${t}${r>=n.required?" := \u2026":""}`);function _r(n,e,t,r=!0){let i=r&&e.length>=2&&(e.length>=3||`${n}(${e.join(", ")})${t}`.length>80),[s,o,a]=i?[`( + `,`, + `,` +)`]:["(",", ",")"],l=[],c=n+s;return e.forEach((u,d)=>{d&&(c+=o),l.push([c.length,c.length+u.length]),c+=u}),{label:c+a+t,parameters:l}}var je=(n,e=!0)=>_r(n.name,Gx(n),` as ${n.returns}`,e);function x2(n,e=!0){let t=n.detail??"",r=n.parameters??[],i=r.length?t.indexOf(")",r[r.length-1][1]):t.indexOf(")");return _r(n.name,r.map(([s,o])=>t.slice(s,o)),i<0?"":t.slice(i+1),e)}var Be=n=>n.doc?`${nc}/${n.doc}`:n.name.startsWith("xs:")?Hx:void 0,Hx="https://www.w3.org/TR/xpath-functions-31/#constructor-functions-for-xsd-types",Ar=new Map;for(let n of Cr){let e=b5[Yt(n.name)],t=Ar.get(e);t?t.push(n):Ar.set(e,[n])}var Ne=n=>Ar.get(n)??[];function Rr(n){let e=n;if(!/[\s"<>\\^`{|}]|%(?![0-9A-Fa-f]{2})/.test(n)){let t=a=>a.replace(/(?:%[0-9A-Fa-f]{2})+/g,l=>new TextDecoder().decode(Uint8Array.from(l.slice(1).split("%"),c=>parseInt(c,16)))),[,r,i,s]=/^(?:([A-Za-z][A-Za-z0-9+.-]*):)?(?:\/\/([^/?#]*))?([^?#]*)/.exec(n),o=r&&i===void 0&&!s.startsWith("/")?n.slice(r.length+1).split("#")[0]:void 0;o===""?e=n:o!==void 0?e=r+"/"+t(o).replaceAll(":","/"):(e=i?t(i).split(".").reverse().map(a=>"/"+a).join(""):"",e+=s===""?"/":t(s).replaceAll(".","/"))}return e=e.replace(/[^\w./]+/g,"-").replace(/\/\/+/g,"/"),e.endsWith("/")&&(e+="index"),e.startsWith("/")?e.slice(1):e}var ac=/^[A-Za-z_][A-Za-z0-9_]*$/;function lc(n){if(n==="")return!1;if(n.startsWith("java:"))return!0;let e=Rr(n).split(/[./]+/),t=e.pop().replace(/-+(.?)/g,(r,i)=>i.toUpperCase());return e.every(r=>ac.test(r))&&ac.test(t)}var Kx="http://www.w3.org/2001/XMLSchema",Jx=new Set("item untyped anyType anySimpleType anyAtomicType error untypedAtomic string normalizedString token language NMTOKEN Name NCName ID IDREF ENTITY numeric float double decimal precisionDecimal integer nonPositiveInteger negativeInteger long int short byte nonNegativeInteger unsignedLong unsignedInt unsignedShort unsignedByte positiveInteger duration yearMonthDuration dayTimeDuration dateTime dateTimeStamp date time gYearMonth gYear gMonthDay gDay gMonth boolean binary base64Binary hexBinary anyURI QName NOTATION NMTOKENS ENTITIES IDREFS".split(" ")),ey=new Set([..."array-sort-key attribute-conversion-plan captured-group compiled-regex dateTime division element-conversion-plan load-xquery-module location matching-segment parsed-csv-structure random-number-generator schema-type sort-key uri-structure validation-result".split(" ").map(n=>`{http://www.w3.org/2005/xpath-functions}${n}-record`),..."auth parse-options part response".split(" ").map(n=>`{http://expath.org/ns/http-client}${n}-record`),..."inspection-issue inspection-result".split(" ").map(n=>`{http://basex.org/modules/db}${n}-record`),"{http://expath.org/ns/binary}infer-encoding-record"]),cc=(n,e)=>n===Kx?Jx.has(e):ey.has(`{${n}}${e}`);var ty="http://www.w3.org/2005/xpath-functions",ny="http://www.w3.org/2005/xquery-local-functions",ry="http://www.w3.org/2005/xqt-errors";function iy(n){let e=[...new Set(n)].sort((t,r)=>t-r);return e.length===1&&e[0]<0?`at least ${-e[0]}`:e.length>2&&e.at(-1)-e[0]+1===e.length?`${e[0]}-${e.at(-1)}`:e.length>1?`${e.slice(0,-1).join(", ")} or ${e.at(-1)}`:`${e[0]}`}var uc=n=>({begin:n.begin,end:n.end,code:"XPST0017",message:`Unknown function: ${n.name}.`});function dc(n,e){let t=n.arity??0,r=n.reference?`Arity ${t}`:`${t} ${t===1?"argument":"arguments"}`;return{begin:n.begin,end:n.end,code:"XPST0017",message:`${n.name}: ${r} supplied, ${iy(e)} expected.`}}var hc=n=>({begin:n.begin,end:n.end,code:"XPST0051",message:`Unknown type: ${n.name}.`}),fc=n=>({begin:n.begin,end:n.end,code:"XPST0008",message:`Undeclared variable: $${n.name}.`}),pc=n=>n.flatMap(e=>Array.from({length:e.arity-e.required+1},(t,r)=>e.required+r));function mc(n,e){let{occurrences:t,names:r,imports:i}=n,s=[],o=e.library?n.declarations.find(g=>g.kind==="module")?.detail:void 0,a=new Set(t.filter(g=>g.declaration&&g.kind!=="variable").map(g=>r.namespace(g))),l=g=>g!==o&&!a.has(g)&&!s3.has(g)&&lc(g),c=new Set(i.map(g=>g.namespace.text).filter(g=>!s3.has(g))),u=e.prefixes.filter(g=>!r.bound(g.prefix,g));for(let{begin:g,end:x,prefix:y}of u)s.push({begin:g,end:x,code:"XPST0081",message:`Namespace prefix not declared: ${y}.`});let d=g=>u.some(x=>g.begin<=x.begin&&x.end<=g.end),h=g=>r.unknown(g);for(let g of t){if(g.kind!=="variable"||g.declaration||g.target>=0||d(g)||h(g))continue;let x=r.namespace(g);x!==void 0&&(c.has(x)||x===ry)||s.push(fc(g))}let p=t.filter(g=>g.kind==="function"&&g.declaration),f=new Set(t.filter(g=>g.kind==="type"&&g.declaration).map(g=>r.key(g).slice(5)));for(let g of t){if(g.kind!=="function"||g.declaration||d(g)||h(g))continue;let x=r.namespace(g);if(x!==void 0&&(l(x)||c.has(x)||s3.has(x)&&x!==ny&&Ne(x).length===0))continue;let y=[r.key(g)];r.fallsBackToFn(g)&&y.push(`function {${ty}}${g.name}`);let v=g.arity??0,S=y.map(M=>p.filter(Y=>r.key(Y)===M)),k=y.map(M=>oc(M)),$=M=>v>=M.required&&v<=M.arity;if(g.keywords&&(S.flat().length||k.flat().length)||S[0].some($)||k.flat().some(M=>v>=M.required&&(M.variadic||v<=M.params.length)))continue;let X=k.flat().length?k.flat().flatMap(M=>M.variadic?[-M.required]:Array.from({length:M.params.length-M.required+1},(Y,D)=>M.required+D)):pc(S.flat());!X.length&&(f.has(y[0].slice(9))||e.schemas)||s.push(X.length?dc(g,X):uc(g))}let m=new Set(t.filter(g=>g.kind==="type"&&g.declaration).map(g=>r.key(g)));for(let g of t){if(g.kind!=="type"||g.declaration||d(g)||h(g)||e.schemas||e.annotations.some(y=>y.begin<=g.begin&&g.end<=y.end))continue;let x=r.namespace(g);x!==void 0&&(l(x)||c.has(x))||m.has(r.key(g))||x!==void 0&&cc(x,q6(g.name))||s.push(hc(g))}let b=new Map;for(let g of p){let x=r.key(g),y=b.get(x)??[];y.some(v=>g.required<=v.arity&&v.required<=g.arity)&&s.push({begin:g.begin,end:g.end,code:"XQST0034",message:`Duplicate declaration of function ${g.name}.`}),y.push(g),b.set(x,y)}for(let g of e.fieldsWithoutDefault)s.push({begin:g.begin,end:g.end,code:"XQST0148",message:`Field must have a default value, as an earlier field has one: ${g.name}.`});return s.sort((g,x)=>g.begin-x.begin||g.end-x.end)}var sy=({text:n,facts:e})=>{let t=[];for(let{begin:r,end:i}of e.contextual){let s=e.bodies.filter(a=>a.begin<=r&&i<=a.end).sort((a,l)=>l.begin-a.begin)[0];if(!s||e.focused.some(([a,l])=>s.begin<=a&&a<=r&&i<=l))continue;let o=n.slice(r,i).replace(/\s+/g," ");t.push({begin:r,end:i,code:"context-value",severity:"warning",message:`${o.length>40?`${o.slice(0,39)}\u2026`:o}: The context value is undefined if the function is evaluated.`})}return t},Oc=({facts:n},e)=>{let{annotations:t=[]}=n.modifiers.get(e.begin)??{};return n.library&&!t.includes("private")||t.some(r=>r.includes(":")&&!r.startsWith("basex:"))},oy=({occurrences:n,names:e})=>{let t=new Map,r=(i,s)=>{let o=t.get(i);o?o.push(s):t.set(i,[s])};return n.forEach((i,s)=>{if(i.declaration)return;if(i.target>=0){r(i.target,s);return}if(!e.unknown(i))return;let o=q6(i.name);n.forEach((a,l)=>{a.declaration&&a.kind===i.kind&&q6(a.name)===o&&r(l,s)})}),t},ay=n=>{let{analysis:{occurrences:e},facts:t,uses:r}=n;return e.flatMap((i,s)=>{if(i.kind!=="variable"||!i.declaration||i.name.startsWith("_")||r.has(s))return[];if(t.parameters.some(a=>a.begin<=i.begin&&i.end<=a.end))return[];let o=t.modifiers.get(i.begin);return o&&(o.external||Oc(n,i))?[]:[{begin:i.begin,end:i.end,code:"unused-variable",severity:"hint",unnecessary:!0,message:`Unused variable: $${i.name}.`}]})},gc=n=>e=>{let{analysis:{declarations:t,occurrences:r,names:i},uses:s}=e,o=new Map(t.filter(c=>c.kind===n).map(c=>[c.nameBegin,c])),a=new Set(r.flatMap((c,u)=>c.record&&s.has(u)?[c.begin]:[])),l=n==="type"?new Set(r.filter(c=>c.kind==="function"&&!c.declaration&&c.target<0).map(c=>i.key(c))):void 0;return r.flatMap((c,u)=>{if(c.kind!==n||!c.declaration||c.record||Oc(e,c))return[];let d=o.get(c.begin);if(s.get(u)?.some(p=>!d||r[p].begin=d.end))return[];if(n==="type"&&a.has(c.begin))return[];if(l?.has(`function ${i.key(c).slice(5)}`))return[];let h=n==="function"?`${c.name}#${c.arity}`:c.name;return[{begin:c.begin,end:c.end,code:`unused-${n}`,severity:"hint",unnecessary:!0,message:`Unused ${n}: ${h}.`}]})},ly=({text:n,analysis:{declarations:e,names:t},facts:r})=>e.flatMap(i=>i.kind!=="namespace"&&i.kind!=="module"||i.detail===void 0||!/^(declare|import)/.test(n.slice(i.begin,i.end))?[]:r.prefixes.some(s=>s.prefix===i.name&&!t.elementBound(s.prefix,s))?[]:[{begin:i.nameBegin,end:i.nameEnd,code:"unused-namespace",severity:"hint",unnecessary:!0,message:`Unused namespace prefix: ${i.name}.`}]),cy=[sy,ay,gc("function"),gc("type"),ly];function bc(n,e,t){let r={text:n,analysis:e,facts:t,uses:oy(e)};return cy.flatMap(i=>i(r)).sort((i,s)=>i.begin-s.begin||i.end-s.end)}var uy=2,dy={StringLiteral:"string",IntegerLiteral:"number",DecimalLiteral:"number",DoubleLiteral:"number",NonKeywordQName:"name",UnreservedNCName:"name",URIQualifiedName:"name",EOF:"end of query"},hy=new Set(["S","'(:'","':)'","CommentContents"]);function fy(n,e,t,r){let i=e.getBegin(),s=e.getEnd(),o=n.getExpectedTokenSet(e),a=[...new Set(o.filter(h=>!hy.has(h)).map(h=>dy[h]??h))],l=a.length>0&&a.length<=5?`; expected ${a.join(" or ")}`:"";if(o.includes("':)'")){let h=t.lastIndexOf("(:",i);return{begin:h<0?i:h,end:t.length,message:"Unterminated comment"}}let c=n.getOffendingToken(e);if(c==="EOF"||i>=t.length){if(r===0)return;let h=t.slice(0,i).search(/\S\s*$/);h>0&&/[\uDC00-\uDFFF]/.test(t[h])&&/[\uD800-\uDBFF]/.test(t[h-1])&&h--;let p=h<0?0:String.fromCodePoint(t.codePointAt(h)).length;return{begin:Math.max(h,0),end:Math.max(h,0)+p,message:"Unexpected end of query"+l}}let u=c!=null?t.slice(i,s):/^\S*/.exec(t.slice(i,i+40))[0];u===""&&(u=String.fromCodePoint(t.codePointAt(i)));let d=/^[\s\p{C}]/u.test(u)?`U+${u.codePointAt(0).toString(16).toUpperCase().padStart(4,"0")}`:u;return{begin:i,end:i+u.length,message:`Unexpected '${d}'${l}`}}function u3(n){let e=[0];for(let t=0;t>1;n[i]<=e?t=i:r=i-1}return t}function xc(n,e){let t=new i3,r=new K5.Parser(n,t),i=[];for(let s=0;;)try{r.parse_Module();break}catch(o){if(!(o instanceof K5.ParseException))throw o;let a=o.getBegin(),l=r.getOffendingToken(o);if(i.length===0||c3(e,Math.max(t.consumed,s))-c3(e,s)>=uy){let c=fy(r,o,n,t.consumed),u=i[i.length-1];c&&!(u&&u.begin===c.begin&&u.end===c.end)&&i.push(c)}if(a>s?s=a:l==null?s=a+1:(t.skipped(l,a,o.getEnd()),s=Math.max(o.getEnd(),a+1)),s>=n.length)break;r.reset(0,s,s)}return{classifier:t,errors:i}}var yc=n=>n===" "||n===" "||n===` +`||n==="\r";function py(n,e){for(;;){for(;e>0&&yc(n[e-1]);)e--;if(e<2||!n.startsWith(":)",e-2))return e;let t=1,r=e-3;for(;r>=0&&t>0;r--)if(n.startsWith("(:",r)){if(t--,t===0)break;r--}else n.startsWith(":)",r)&&(t++,r--);if(t>0)return e;e=r}}function my(n,e){for(;;){for(;e0;)n.startsWith("(:",r)?(t++,r+=2):n.startsWith(":)",r)?(t--,r+=2):r++;if(t>0)return e;e=r}}var gy=["}",")","]","","]]>","?>","#)"];function Oy(n,e,t){let r=new Map;for(let i of t){let{begin:s,end:o}=i,a=i.kind==="list"?"region":i.kind;if(i.kind==="list"){let d=py(n,s),h=my(n,o);n[d-1]==="("&&n[h]===")"&&(s=d-1,o=h+1)}let l=c3(e,s),c=c3(e,Math.max(o-1,s));if(c<=l)continue;if(a!=="comment"){let d=e[c];for(;dn.startsWith(h,d))&&c--}if(c<=l)continue;let u=r.get(l);(!u||ci.startLine-s.startLine)}function Sc(n,e,t=()=>{}){let r=[],i=0,s,o=()=>{s&&r.push(s),s=void 0},a=(c,u,d)=>{s&&s.type===d&&s.end===c?s.end=u:(o(),s={begin:c,end:u,type:d})},l=(c,u)=>{for(let d=c;d0&&pl&&(n[u-1]===` +`||n[u-1]==="\r");)u--;u>l&&r.push({line:i,start:l-e[i],length:u-l,type:a}),l=c}return r}function d3(n){let e=u3(n),{classifier:t,errors:r}=xc(n,e),{declarations:i,occurrences:s,folds:o}=t,a=Sc(n,t,(u,d)=>o.push({begin:u,end:d,kind:"comment"})),l=by(n,e,a);s.sort((u,d)=>u.begin-d.begin);let c=ic(i,t.defaults,t.bindings);return sc(s,c,Gt),{tokens:l,spans:a,errors:r,declarations:i,folds:Oy(n,e,o),text:t.content,problems:r.length?[]:mc({declarations:i,occurrences:s,names:c,imports:t.imports},t),warnings:r.length?[]:bc(n,{declarations:i,occurrences:s,names:c},t),tags:t.tags,nodeNames:{elements:[...t.elementNames].sort(),attributes:[...t.attributeNames].sort()},occurrences:s,imports:t.imports,baseUri:t.baseUri,names:c}}var H2=["keyword","string","number","operator","comment","regexp","decorator","variable","function","method","parameter","namespace","type","class","property","enumMember","macro"];function Ht(n,e){return[...n.text,...n.tokens.filter(t=>t.type==="string"||t.type==="comment").map(t=>{let r=e(t.line,t.start);return[r,r+t.length]})].sort((t,r)=>t[0]-r[0])}var xy=/(Q\{[^}]*\}[\p{L}_][\p{L}\p{N}_.-]*|[\p{L}_][\p{L}\p{N}_.-]*(?::[\p{L}_][\p{L}\p{N}_.-]*)?)\s*$/u;function Mr(n,e,t){let r=[],i=0;for(let o=0;o=0;o--){let{open:a,at:l,commas:c}=r[o];if(a!=="(")continue;let u=n.slice(0,l),d=xy.exec(u);if(!d)continue;let h=d.index,p=u.slice(0,h);if(/[$%.]$/.test(p)||/\bfunction\s*$/.test(p))continue;let f=/=>\s*$/.test(p)?1:0;s.push({name:d[1],begin:h,active:c+f,arguments:c+1+f})}return s}var Qc=[...new Set(K5.Parser.TOKEN.filter(n=>/^'[A-Za-z][A-Za-z-]*'$/.test(n)).map(n=>n.slice(1,-1)))].sort(),kc=64e3,yy="";function vc(n){let e=new K5.Parser(n+yy,{reset(){},terminal(){},nonterminal(){},ambiguity(){}});try{e.parse_Module()}catch(t){if(!(t instanceof K5.ParseException))throw t;if(t.getBegin()!==n.length||t.getExpected()>=0)return;let r=new Set(e.getExpectedTokenSet(t)),i=/([A-Za-z][\w.-]*)\s*$/.exec(n)?.[1];return i&&Qc.includes(i)&&r.has("','")?void 0:r}}function wc(n,e,t){let r;for(let s of e)s.beginr.begin)&&(r=s);if(!r||t<=r.end)return r?.begin??0;let i=n[r.end-1]===";"?r.end-1:n.indexOf(";",r.end);return i>=0&&iRkc?void 0:vc(n.slice(g,u)),y=!x||x.has("NonKeywordQName")||x.has("URIQualifiedName"),v=`${a??""}${l??""}${c??""}`,S=(R,j)=>{let B=R.filter(s6=>s6!==v&&s6.toLowerCase().includes(v.toLowerCase()));return B.length?{begin:u,items:B.map(s6=>({label:s6,kind:j,insert:s6,sort:"1"}))}:void 0};if(h)return o||!x||!y?void 0:S(h==="element"?e.nodeNames.elements:e.nodeNames.attributes,h==="element"?"class":"property");let k=R=>{let j=wc(n,m,R),B=R-j>kc?void 0:vc(n.slice(j,R));return!!B&&(B.has("NonKeywordQName")||B.has("''"))return o?void 0:S(e.nodeNames.attributes,"property");let $=/<[\p{L}_][\p{L}\p{N}_.\-]*(?::[\p{L}_][\p{L}\p{N}_.\-]*)?\s+$/u.exec(d);if($&&!o&&k($.index))return S(e.nodeNames.attributes,"property");if(o){if(x&&!x.has("'$'"))return;let R=new Map;for(let B of f)B.declaration&&B.kind==="variable"&&B.scopeBegin<=r&&r<=B.scopeEnd&&R.set(B.name,B);let j=`${a??""}${l??""}`.toLowerCase();for(let B of R.keys())B.toLowerCase().includes(j)&&b.push({label:`$${B}`,kind:"variable",insert:`$${B}`,sort:"0"});return{begin:u,items:b}}let X=m.filter(R=>R.kind==="function"),M=new Map(f.filter(R=>R.declaration&&R.kind==="function").map(R=>[R.begin,R])),Y=R=>{let j=M.get(R.nameBegin);return(R.parameters??[]).slice(0,j?.required??0).map(([B,s6])=>ky.exec(R.detail.slice(B,s6))?.[1]??"arg")},D=(R,j)=>b.push({label:R,kind:"function",signature:x2({...j,name:R}).label,definition:{begin:j.nameBegin,end:j.nameEnd},insert:R,parameters:Y(j),sort:"1"}),Z=(R,j,B)=>b.push({label:R,kind:"function",signature:je({...j,name:R}).label,documentation:Be(j),insert:R,parameters:j.params.slice(0,j.required).map(s6=>s6[0]),sort:B}),G=R=>({kind:"function",name:R,begin:r,end:r,declaration:!1,target:-1,scopeBegin:0,scopeEnd:1/0});if(l){if(!y)return;let R=p.namespace(G(`${a}:x`))??b5[a];if(R===void 0)return;for(let j of X){let B=M.get(j.nameBegin);B&&p.namespace(B)===R&&D(`${a}:${q6(j.name)}`,j)}for(let j of Ne(R))Z(`${a}:${q6(j.name)}`,j,"2");return{begin:u,items:b.filter(j=>j.label.toLowerCase().includes(`${a}:${c??""}`.toLowerCase()))}}let H=(a??"").toLowerCase();if(y)for(let R of X)D(R.name,R);let n6=p.fallsBackToFn(G("x"))?b5.fn:p.namespace(G("x"));for(let[R,j]of y?Object.entries(b5):[])for(let B of Ne(j))j===n6?Z(q6(B.name),B,"2"):R!=="fn"&&Z(B.name,B,"3");for(let R of Qc)(!x||x.has(`'${R}'`))&&b.push({label:R,kind:"keyword",insert:R,sort:"4"});return{begin:u,items:b.filter(R=>R.label.toLowerCase().includes(H))}}var $c="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\\u{10000}-\\u{EFFFF}",$w=new RegExp(`^[${$c}][${$c}.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040-]*$`,"u");function Fr(n,e){for(let{open:t,close:r}of n.tags)if(r&&(t[0]<=e&&e<=t[1]||r[0]<=e&&e<=r[1]))return[t,r];return[]}var Pc=(n,e)=>n.declarations.find(t=>t.nameBegin===e.begin&&t.kind===e.kind),Tc=n=>({begin:n.nameBegin,end:n.nameEnd});function Zr(n,e,t){let{occurrences:r}=n,i=U2(r,e);if(i<0||r[i].kind!=="function")return;let s=r[i],o=G2(r,i),a=(u,d,h)=>({begin:s.begin,end:s.end,signature:u,documentation:d,definition:h});if(o>=0){let u=Pc(n,r[o]);return u&&a(x2(u).label,void 0,Tc(u))}let l=t?.(s);if(l)return a(x2(l.declaration).label,void 0,{module:l.module,line:l.line});let c=l3(s,n.names);return c&&a(je(c).label,Be(c))}function Lr(n,e,t,r={}){let{names:i,occurrences:s}=e,o=r.wrap??!0,a=u3(n),l=Ht(e,(c,u)=>a[c]+u);for(let c of Mr(n,l,t)){let u=s.find(y=>!y.declaration&&y.kind==="function"&&y.begin===c.begin)?.arity??c.arguments,d={kind:"function",name:c.name,begin:c.begin,end:c.begin+c.name.length,declaration:!1,target:-1,arity:u,scopeBegin:0,scopeEnd:1/0},h=y=>u>=y.required&&u<=y.arity,p=a3(d,s.filter(y=>y.declaration&&y.kind==="function"&&i.key(y)===i.key(d))),f=p&&!(i.fallsBackToFn(d)&&Gt(d.name)&&!h(p))?Pc(e,p):void 0,m=p?void 0:r.imported?.(d);if(f){let{label:y,parameters:v}=x2(f,o);return{label:y,parameters:v,active:c.active,definition:Tc(f)}}if(m){let{label:y,parameters:v}=x2(m.declaration,o);return{label:y,parameters:v,active:c.active,definition:{module:m.module,line:m.line}}}let b=l3(d,i);if(!b)continue;let{label:g,parameters:x}=je(b,o);return{label:g,parameters:x,active:b.variadic?Math.min(c.active,x.length-1):c.active,documentation:Be(b)}}}var We=1e6,Ie=C.define({combine:n=>n.length?Math.min(...n):We}),Dr;function jr(n){return Dr?.text!==n&&(Dr={text:n,analysis:d3(n)}),Dr.analysis}var Br=new WeakSet,f3;function Cc(n,e){return n.length<=e?jr(n.toString()):(f3??(f3=d3("")),Br.add(f3),f3)}var $6=o6.define({create:n=>Cc(n.doc,n.facet(Ie)),update(n,e){let t=e.state.facet(Ie);return e.docChanged||Br.has(n)!==e.newDoc.length>t?Cc(e.newDoc,t):n}}),O6=n=>n.field($6),y2=n=>Br.has(O6(n)),Nr=n=>(e,t)=>n.line(e+1).from+t,qc=n=>Ht(O6(n),Nr(n.doc));function ze(n,e,t,r){let i=document.createElement("div");i.className="cm-xquery-signature",i.style.padding="2px 6px";let s=document.createElement("pre");if(s.style.cssText="margin: 0; padding: 0; border: 0; border-radius: 0; background: none; color: inherit; font-size: inherit; white-space: pre-wrap; font-family: monospace",t){let o=document.createElement("strong");o.textContent=n.slice(t[0],t[1]),s.append(n.slice(0,t[0]),o,n.slice(t[1]))}else s.textContent=n;if(i.append(s),e){let o=document.createElement("a");o.href=e,o.textContent="Documentation",o.target="_blank",o.rel="noopener",o.style.cssText="display: block; margin-top: 4px",i.append(o)}if(r){let o=document.createElement("div");if(o.style.marginTop="4px",r.select){let a=document.createElement("a");a.href="#",a.textContent="Definition",a.style.cursor="pointer",a.addEventListener("mousedown",l=>l.preventDefault()),a.addEventListener("click",l=>{l.preventDefault(),r.select()}),o.append(a,` (line ${r.line})`)}else o.textContent=`Definition: line ${r.line}`;i.append(o)}return i}function vy(n){let{insert:e,parameters:t}=n;if(!(!t||[e,...t].some(r=>/[{}]/.test(r))))return`${e}(${t.length?t.map((r,i)=>"${"+(i+1)+":$"+r+"}").join(", "):"${}"})`}function wy(n,e){let t=vy(n),{signature:r,documentation:i,definition:s}=n,o=s&&e.doc.lineAt(s.begin).number;return{label:n.label,type:n.kind,boost:4-Number(n.sort),...t?{apply:dn(t)}:{},...r?{info:()=>ze(r,i,void 0,o?{line:o}:void 0)}:{}}}function Ac(n){let{state:e,pos:t}=n;if(y2(e))return null;let r=Er(e.doc.toString(),O6(e),qc(e),t),i=!!r&&r.items.length>0&&r.items.every(s=>s.kind==="class"||s.kind==="property");return!r||!n.explicit&&r.begin===t&&!i?null:{from:r.begin,options:r.items.map(s=>wy(s,e)),validFor:/^[\p{L}\p{N}_.\-:$]*$/u}}var _c=[$6];var Qy=[{open:"``[",close:"]``"},{open:"(:",close:":)"},{open:"(#",close:"#)"},{open:""},{open:""},{open:""}];function $y(n,e,t,r){let i=e+t;for(let s of[...n].sort((o,a)=>a.open.length-o.open.length)){if(!i.endsWith(s.open))continue;let o=s.close.startsWith(t)?s.close.slice(t.length):"";return{pair:s,consume:o&&r.startsWith(o)?o.length:0}}return null}function Py(n,e){let t=Nr(n.doc);return O6(n).tokens.some(r=>{let i=t(r.line,r.start);return r.type==="string"&&ir.open.length));return b6.high(P.inputHandler.of((r,i,s,o)=>{if(i!==s||!o||/[\r\n]/.test(o))return!1;let{doc:a}=r.state;if(y2(r.state)||Py(r.state,i))return!1;let l=$y(n,a.sliceString(Math.max(0,i-t),i),o,a.sliceString(s,s+t));if(!l)return!1;let c=i+o.length-l.pair.open.length;return r.dispatch({changes:{from:c,to:s+l.consume,insert:l.pair.open+l.pair.close},selection:{anchor:c+l.pair.open.length}}),!0}))}var Xc=[F5.of(" "),A1.of((n,e)=>/^\s*/.exec(n.lineAt(e,-1).text)[0].length)];var Mc=[$6,wt.of((n,e)=>{let t=n.doc.lineAt(e),r=O6(n).folds.find(i=>i.startLine===t.number-1);return r?{from:t.to,to:n.doc.line(Math.min(r.endLine+1,n.doc.lines)).to}:null})];var Ir={keyword:O.keyword,string:O.string,number:O.number,operator:O.operator,comment:O.comment,regexp:O.regexp,decorator:O.annotation,variable:O.variableName,function:O.function(O.variableName),method:O.function(O.propertyName),parameter:O.local(O.variableName),namespace:O.name,type:O.typeName,class:O.tagName,property:O.propertyName,enumMember:O.constant(O.name),macro:O.angleBracket};function Ec(n){let e=new Map;for(let i of H2)e.set(i,_.mark({class:[`cm-xq-${i}`,Ma(n,[Ir[i]])].filter(Boolean).join(" ")}));let{doc:t}=n,r=new T6;for(let i of O6(n).tokens){let s=t.line(i.line+1).from+i.start;r.add(s,s+i.length,e.get(i.type))}return r.finish()}var Ty=n=>n.docChanged||n.transactions.some(e=>e.reconfigured),Fc=[$6,t6.fromClass(class{constructor(n){Q(this,"decorations");this.decorations=Ec(n.state)}update(n){Ty(n)&&(this.decorations=Ec(n.state))}},{decorations:n=>n.decorations})];function Cy(n,e){let{occurrences:t}=O6(n.state),r=U2(t,e),i=r<0?-1:G2(t,r);return i<0?[]:qr(t,i,!0).map(s=>[t[s].begin,t[s].end])}var qy=_.mark({class:"cm-xq-occurrence"}),Ay=t6.fromClass(class{constructor(n){Q(this,"decorations");this.decorations=this.build(n)}update(n){(n.docChanged||n.selectionSet)&&(this.decorations=this.build(n.view))}build(n){let e=n.state.selection.main.head,t=Cy(n,e);return _.set((t.length?t:Fr(O6(n.state),e)).map(([r,i])=>qy.range(r,i)),!0)}},{decorations:n=>n.decorations});function Wr(n,e,t){n.dispatch({selection:{anchor:e,head:t},scrollIntoView:!0}),n.focus()}function Zc(n,e=n.state.selection.main.head){let{occurrences:t}=O6(n.state),r=U2(t,e),i=r<0?-1:G2(t,r);return i<0?!1:(Wr(n,t[i].begin,t[i].end),!0)}var Lc=[$6,Ay,b6.high(v5.of([{key:"F12",run:n=>Zc(n)}])),P.domEventHandlers({mousedown(n,e){let t=e.posAtCoords({x:n.clientX,y:n.clientY});return(n.ctrlKey||n.metaKey)&&t!==null&&Zc(e,t)?(n.preventDefault(),!0):!1}})];function zr(n,e){return e&&"begin"in e?{line:n.state.doc.lineAt(e.begin).number,select:()=>Wr(n,e.begin,e.end)}:void 0}var Vr=C.define({combine:n=>n.includes(!0)});function Yr(n){let{empty:e,head:t}=n.selection.main;return e&&!y2(n)?Lr(n.doc.toString(),O6(n),t,{wrap:!0}):void 0}function _y(n,e){let t=Zr(O6(n),e);return t&&!(n.facet(Vr)&&Yr(n)?.label===t.signature)?t:void 0}var Dc=[$6,J4((n,e)=>{let t=_y(n.state,e);return t?{pos:t.begin,end:t.end,above:!0,create:r=>({dom:ze(t.signature,t.documentation,void 0,zr(r,t.definition))})}:null})];var Kt=D2({commentTokens:{block:{open:"(:",close:":)"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}),Ry=i6.define({id:0,name:"XQuery",top:!0,props:[[d5,Kt]]}),[Xy,Ur,My,Ey]=["String","Comment","CommentDelimiter","Characters"].map((n,e)=>i6.define({id:e+1,name:n}));function Fy(n){let{spans:e,text:t}=jr(n),r=[],i=(o,a,l)=>{l>a&&r.push({type:o,from:a,to:l})};for(let[o,a]of t)i(Ey,o,a);for(let o of e)if(o.type==="string")i(Xy,o.begin,o.end);else if(o.type==="comment"){let a=o.begin,l=0;for(let c=o.begin;c",c+4),d=u<0||u+3>o.end?o.end:u+3;i(Ur,c,d),a=c=d}else n.startsWith("(:",c)||l>0&&n.startsWith(":)",c)?(i(Ur,a,c),l+=n.startsWith("(:",c)?1:-1,i(My,c,a=c+=2)):c++;i(Ur,a,o.end)}r.sort((o,a)=>o.from-a.from);let s=[];for(let o of r)(!s.length||o.from>=s[s.length-1].to)&&s.push(o);return s}var Gr=class extends I6{constructor(t){super();Q(this,"limit",t)}createParse(t){let r=t.length;return{parsedPos:r,stoppedAt:null,stopAt(){},advance:()=>{let s=r>this.limit?[]:Fy(t.read(0,r));return new I(Ry,s.map(o=>new I(o.type,[],[],o.to-o.from)),s.map(o=>o.from),r)}}}},Hr=(n=We)=>new u6(Kt,new Gr(n),[],"xquery");var Zy=i6.define({id:0,name:"XQueryEmbedded",top:!0,props:[[d5,Kt]]}),Ly=H2.map((n,e)=>i6.define({id:e+1,name:n})),Dy=new R5([Zy,...Ly]).extend(Q6(Object.fromEntries(H2.map(n=>[n,Ir[n]])))),jy=new Map(H2.map((n,e)=>[n,e+1])),By=/&(?:(lt|gt|amp|quot|apos)|#(\d+)|#x([0-9A-Fa-f]+));/g,Ny={lt:"<",gt:">",amp:"&",quot:'"',apos:"'"};function Iy(n){if(!n.includes("&"))return{text:n};let e="",t=0,r=[],i=[],s=o=>{for(;t{let f="",m=i.filter(y=>y.from{v>0&&(f+=` +`);let S=Math.max(y.from,Math.min(y.to,p)),k={at:f.length,from:y.from,to:S};return f+=t.read(y.from,S),k}),b=[],g=this.xmlEntities?Iy(f):{text:f},x=0;for(let y of Xr(g.text)){let v=g.begin?{...y,begin:g.begin[y.begin],end:g.end[y.end-1]}:y;for(;x{let f=[];for(let[m,b,g]of l)b{let p=Math.min(o,a??o);return l?((!c||pnew h6(new u6(Kt,new Kr(n),[],"xquery"));function Wy(n){let e=n.doc.length;if(y2(n))return[{from:0,to:Math.min(e,1),severity:"info",source:"size",message:`The document has ${e} characters, more than the ${n.facet(Ie)} that are analyzed: no colours, marks or completion.`}];let{errors:t,problems:r,warnings:i}=O6(n),s=(o,a)=>({from:Math.min(o,e),to:Math.min(Math.max(a,o+1),e)});return[...t.map(o=>({...s(o.begin,o.end),severity:"error",message:o.message,source:"XPST0003"})),...r.map(o=>({...s(o.begin,o.end),severity:"error",message:o.message,source:o.code})),...i.map(o=>({...s(o.begin,o.end),severity:o.severity,message:o.message,source:o.code}))]}var Bc=[$6,z9(n=>Wy(n.state),{delay:0})];function zy(n){let e=Yr(n);if(!e)return null;let{head:t}=n.selection.main;return{pos:t,above:!0,strictSide:!0,arrow:!1,create:r=>({dom:ze(e.label,e.documentation,e.parameters[e.active],zr(r,e.definition))})}}var Nc=[$6,Vr.of(!0),i2.compute([$6,"selection"],zy)];function Ic(n={}){return jc(!!n.xmlEntities)}var Vy=Hr();function Wc(n={}){let e=n.maxAnalysisLength??We,t=e===We?Vy:Hr(e),r=[Ie.of(e),Fc,Mc,Rc(),Xc];return n.defaultStyle!==!1&&r.push(d2(g9,{fallback:!0})),n.lint!==!1&&r.push(Bc),n.completion!==!1&&r.push(_c,t.data.of({autocomplete:Ac})),n.hover!==!1&&r.push(Dc),n.signatureHelp!==!1&&r.push(Nc),n.navigation!==!1&&r.push(Lc),new h6(t,r)}function Yy(n){for(;n&&(n.type.isAnonymous||n.type.isError);)n=n.parent;return n?.type.name??"top-level"}function Uy(n){if(/^\s*$/.test(n.doc.toString()))return[];let e=[],t=n.doc.length;return N(n).iterate({enter(r){if(!r.type.isError)return;let i=Yy(r.node.parent),s=n.doc.sliceString(r.from,r.to).trim(),o=r.from===t&&r.from===r.to?`Unexpected end-of-input while parsing ${i}`:s?`Unexpected \u201C${s}\u201D while parsing ${i}`:`Syntax error while parsing ${i}`;e.push({from:r.from,to:r.to,severity:"error",source:"parser",message:o})}}),e}var zc=z9(n=>Uy(n.state));var g3=class n{static create(e,t,r,i,s){let o=i+(i<<8)+e+(t<<4)|0;return new n(e,t,r,o,s,[],[])}constructor(e,t,r,i,s,o,a){this.type=e,this.value=t,this.from=r,this.hash=i,this.end=s,this.children=o,this.positions=a,this.hashProp=[[F.contextHash,i]]}addChild(e,t){e.prop(F.contextHash)!=this.hash&&(e=new I(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let r=this.children.length-1;return r>=0&&(t=Math.max(t,this.positions[r]+this.children[r].length+this.from)),new I(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(i,s,o)=>new I(i6.none,i,s,o,this.hashProp)})}},T;(function(n){n[n.Document=1]="Document",n[n.CodeBlock=2]="CodeBlock",n[n.FencedCode=3]="FencedCode",n[n.Blockquote=4]="Blockquote",n[n.HorizontalRule=5]="HorizontalRule",n[n.BulletList=6]="BulletList",n[n.OrderedList=7]="OrderedList",n[n.ListItem=8]="ListItem",n[n.ATXHeading1=9]="ATXHeading1",n[n.ATXHeading2=10]="ATXHeading2",n[n.ATXHeading3=11]="ATXHeading3",n[n.ATXHeading4=12]="ATXHeading4",n[n.ATXHeading5=13]="ATXHeading5",n[n.ATXHeading6=14]="ATXHeading6",n[n.SetextHeading1=15]="SetextHeading1",n[n.SetextHeading2=16]="SetextHeading2",n[n.HTMLBlock=17]="HTMLBlock",n[n.LinkReference=18]="LinkReference",n[n.Paragraph=19]="Paragraph",n[n.CommentBlock=20]="CommentBlock",n[n.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",n[n.Escape=22]="Escape",n[n.Entity=23]="Entity",n[n.HardBreak=24]="HardBreak",n[n.Emphasis=25]="Emphasis",n[n.StrongEmphasis=26]="StrongEmphasis",n[n.Link=27]="Link",n[n.Image=28]="Image",n[n.InlineCode=29]="InlineCode",n[n.HTMLTag=30]="HTMLTag",n[n.Comment=31]="Comment",n[n.ProcessingInstruction=32]="ProcessingInstruction",n[n.Autolink=33]="Autolink",n[n.HeaderMark=34]="HeaderMark",n[n.QuoteMark=35]="QuoteMark",n[n.ListMark=36]="ListMark",n[n.LinkMark=37]="LinkMark",n[n.EmphasisMark=38]="EmphasisMark",n[n.CodeMark=39]="CodeMark",n[n.CodeText=40]="CodeText",n[n.CodeInfo=41]="CodeInfo",n[n.LinkTitle=42]="LinkTitle",n[n.LinkLabel=43]="LinkLabel",n[n.URL=44]="URL"})(T||(T={}));var ti=class{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}},ni=class{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return e4(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,r=0){for(let i=t;i=e.stack[t.depth+1].value+t.baseIndent)return!0;if(t.indent>=t.baseIndent+4)return!1;let r=(n.type==T.OrderedList?pi:fi)(t,e,!1);return r>0&&(n.type!=T.BulletList||hi(t,e,!1)<0)&&t.text.charCodeAt(t.pos+r-1)==n.value}var iu={[T.Blockquote](n,e,t){return t.next!=62?!1:(t.markers.push(U(T.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1)),t.moveBase(t.pos+(x5(t.text.charCodeAt(t.pos+1))?2:1)),n.end=e.lineStart+t.text.length,!0)},[T.ListItem](n,e,t){return t.indent-1?!1:(t.moveBaseColumn(t.baseIndent+n.value),!0)},[T.OrderedList]:Vc,[T.BulletList]:Vc,[T.Document](){return!0}};function x5(n){return n==32||n==9||n==10||n==13}function e4(n,e=0){for(;et&&x5(n.charCodeAt(e-1));)e--;return e}function su(n){if(n.next!=96&&n.next!=126)return-1;let e=n.pos+1;for(;e-1&&n.depth==e.stack.length&&e.parser.leafBlockParsers.indexOf(fu.SetextHeading)>-1||r<3?-1:1}function au(n,e){for(let t=n.stack.length-1;t>=0;t--)if(n.stack[t].type==e)return!0;return!1}function fi(n,e,t){return(n.next==45||n.next==43||n.next==42)&&(n.pos==n.text.length-1||x5(n.text.charCodeAt(n.pos+1)))&&(!t||au(e,T.BulletList)||n.skipSpace(n.pos+2)=48&&i<=57;){r++;if(r==n.text.length)return-1;i=n.text.charCodeAt(r)}return r==n.pos||r>n.pos+9||i!=46&&i!=41||rn.pos+1||n.next!=49)?-1:r+1-n.pos}function lu(n){if(n.next!=35)return-1;let e=n.pos+1;for(;e6?-1:t}function cu(n){if(n.next!=45&&n.next!=61||n.indent>=n.baseIndent+4)return-1;let e=n.pos+1;for(;e/,du=/\?>/,ii=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec(r);if(s)return n.append(U(T.Comment,t,t+1+s[0].length));let o=/^\?[^]*?\?>/.exec(r);if(o)return n.append(U(T.ProcessingInstruction,t,t+1+o[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(r);return a?n.append(U(T.HTMLTag,t,t+1+a[0].length)):-1},Emphasis(n,e,t){if(e!=95&&e!=42)return-1;let r=t+1;for(;n.char(r)==e;)r++;let i=n.slice(t-1,t),s=n.slice(r,r+1),o=r4.test(i),a=r4.test(s),l=/\s|^$/.test(i),c=/\s|^$/.test(s),u=!c&&(!a||l||o),d=!l&&(!o||c||a),h=u&&(e==42||!d||o),p=d&&(e==42||!u||a);return n.append(new Z6(e==95?mi:gi,t,r,(h?1:0)|(p?2:0)))},HardBreak(n,e,t){if(e==92&&n.char(t+1)==10)return n.append(U(T.HardBreak,t,t+2));if(e==32){let r=t+1;for(;n.char(r)==32;)r++;if(n.char(r)==10&&r>=t+2)return n.append(U(T.HardBreak,t,r+1))}return-1},Link(n,e,t){return e==91?n.append(new Z6(K2,t,t+1,1)):-1},Image(n,e,t){return e==33&&n.char(t+1)==91?n.append(new Z6(x3,t,t+2,1)):-1},LinkEnd(n,e,t){if(e!=93)return-1;for(let r=n.parts.length-1;r>=0;r--){let i=n.parts[r];if(i instanceof Z6&&(i.type==K2||i.type==x3)){if(!i.side||n.skipSpace(i.to)==t&&!/[(\[]/.test(n.slice(t+1,t+2)))return n.parts[r]=null,-1;let s=n.takeContent(r),o=n.parts[r]=Ky(n,s,i.type==K2?T.Link:T.Image,i.from,t+1);if(i.type==K2)for(let a=0;ae?U(T.URL,e+t,s+t):s==n.length?null:!1}}function Ou(n,e,t){let r=n.charCodeAt(e);if(r!=39&&r!=34&&r!=40)return!1;let i=r==40?41:r;for(let s=e+1,o=!1;s=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,r,i,s){return this.append(new Z6(e,t,r,(i?1:0)|(s?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof Z6&&(t.type==K2||t.type==x3))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let r=e;r=e;l--){let m=this.parts[l];if(m instanceof Z6&&m.side&1&&m.type==i.type&&!(s&&(i.side&1||m.side&2)&&(m.size+i.size)%3==0&&(m.size%3||i.size%3))){a=m;break}}if(!a)continue;let c=i.type.resolve,u=[],d=a.from,h=i.to;if(s){let m=Math.min(2,a.to-a.from,o);d=a.to-m,h=i.from+m,c=m==1?"Emphasis":"StrongEmphasis"}a.type.mark&&u.push(this.elt(a.type.mark,d,a.to));for(let m=l+1;m=0;t--){let r=this.parts[t];if(r instanceof Z6&&r.type==e&&r.side&1)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}getDelimiterAt(e){let t=this.parts[e];return t instanceof Z6?t:null}skipSpace(e){return e4(this.text,e-this.offset)+this.offset}elt(e,t,r,i){return typeof e=="string"?U(this.parser.getNodeType(e),t,r,i):new b3(e,t)}};ee.linkStart=K2;ee.imageStart=x3;ee.emphasisAsterisk=gi;ee.emphasisUnderscore=mi;function ci(n,e){if(!e.length)return n;if(!n.length)return e;let t=n.slice(),r=0;for(let i of e){for(;r(e?e-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` +`;)s--;this.fragmentEnd=s?s-1:0}let r=this.cursor;r||(r=this.cursor=this.fragment.tree.cursor(),r.firstChild());let i=e+this.fragment.offset;for(;r.to<=i;)if(!r.parent())return!1;for(;;){if(r.from>=i)return this.fragment.from<=t;if(!r.childAfter(i))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(F.contextHash)==e}takeNodes(e){let t=this.cursor,r=this.fragment.offset,i=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,a=e.block.children.length,l=o,c=a;for(;;){if(t.to-r>i||t.to-r>e.to){if(t.type.isAnonymous&&t.firstChild())continue;break}let u=xu(t.from-r,e.ranges);if(t.to-r<=e.ranges[e.rangeI].to)e.addNode(t.tree,u);else{let d=new I(e.parser.nodeSet.types[T.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(d,t.tree),e.addNode(d,u)}if(t.type.is("Block")&&(Jy.indexOf(t.type.id)<0?(o=t.to-r,a=e.block.children.length):(o=l,a=c),l=t.to-r,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return o-s}};function xu(n,e){let t=n;for(let r=1;rp3[n]),Object.keys(p3).map(n=>fu[n]),Object.keys(p3),Gy,iu,Object.keys(ei).map(n=>ei[n]),Object.keys(ei),[]);function tS(n,e,t){let r=[];for(let i=n.firstChild,s=e;;i=i.nextSibling){let o=i?i.from:t;if(o>s&&r.push({from:s,to:o}),!i)break;s=i.to}return r}function Su(n){let{codeParser:e,htmlParser:t}=n;return{wrap:Qe((i,s)=>{let o=i.type.id;if(e&&(o==T.CodeBlock||o==T.FencedCode)){let a="";if(o==T.FencedCode){let c=i.node.getChild(T.CodeInfo);c&&(a=s.read(c.from,c.to))}let l=e(a);if(l)return{parser:l,overlay:c=>c.type.id==T.CodeText,bracketed:o==T.FencedCode}}else if(t&&(o==T.HTMLBlock||o==T.HTMLTag||o==T.CommentBlock))return{parser:t,overlay:tS(i.node,i.from,i.to)};return null})}}var nS={resolve:"Strikethrough",mark:"StrikethroughMark"},rS={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":O.strikethrough}},{name:"StrikethroughMark",style:O.processingInstruction}],parseInline:[{name:"Strikethrough",parse(n,e,t){if(e!=126||n.char(t+1)!=126||n.char(t+2)==126)return-1;let r=n.slice(t-1,t),i=n.slice(t+2,t+3),s=/\s|^$/.test(r),o=/\s|^$/.test(i),a=r4.test(r),l=r4.test(i);return n.addDelimiter(nS,t,t+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function t4(n,e,t=0,r,i=0){let s=0,o=!0,a=-1,l=-1,c=!1,u=()=>{r.push(n.elt("TableCell",i+a,i+l,n.parser.parseInline(e.slice(a,l),i+a)))};for(let d=t;d-1)&&s++,o=!1,r&&(a>-1&&u(),r.push(n.elt("TableDelimiter",d+i,d+i+1))),a=l=-1):(c||h!=32&&h!=9)&&(a<0&&(a=d),l=d+1),c=!c&&h==92}return a>-1&&(s++,r&&u()),s}function Hc(n,e){for(let t=e;t\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,y3=class{constructor(){this.rows=null}nextLine(e,t,r){if(this.rows==null){this.rows=!1;let i;if((t.next==45||t.next==58||t.next==124)&&ku.test(i=t.text.slice(t.pos))){let s=[];t4(e,r.content,0,s,r.start)==t4(e,i,0)&&(this.rows=[e.elt("TableHeader",r.start,r.start+r.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let i=[];t4(e,t.text,t.pos,i,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,i))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},iS={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":O.heading}},"TableRow",{name:"TableCell",style:O.content},{name:"TableDelimiter",style:O.processingInstruction}],parseBlock:[{name:"Table",leaf(n,e){return Hc(e.content,0)?new y3:null},endLeaf(n,e,t){if(t.parsers.some(i=>i instanceof y3)||!Hc(e.text,e.basePos))return!1;let r=n.peekLine();return ku.test(r)&&t4(n,e.text,e.basePos)==t4(n,r,e.basePos)},before:"SetextHeading"}]},di=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},sS={defineNodes:[{name:"Task",block:!0,style:O.list},{name:"TaskMarker",style:O.atom}],parseBlock:[{name:"TaskList",leaf(n,e){return/^\[[ xX]\][ \t]/.test(e.content)&&n.parentType().name=="ListItem"?new di:null},after:"SetextHeading"}]},Kc=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,Jc=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,oS=/[\w-]+\.[\w-]+($|[/:])/,eu=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,tu=/\/[a-zA-Z\d@.]+/gy;function nu(n,e,t,r){let i=0;for(let s=e;s-1)return-1;let r=e+t[0].length;for(;;){let i=n[r-1],s;if(/[?!.,:*_~]/.test(i)||i==")"&&nu(n,e,r,")")>nu(n,e,r,"("))r--;else if(i==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(n.slice(e,r))))r=e+s.index;else break}return r}function ru(n,e){eu.lastIndex=e;let t=eu.exec(n);if(!t)return-1;let r=t[0][t[0].length-1];return r=="_"||r=="-"?-1:e+t[0].length-(r=="."?1:0)}var lS={parseInline:[{name:"Autolink",parse(n,e,t){let r=t-n.offset;if(r&&/\w/.test(n.text[r-1]))return-1;Kc.lastIndex=r;let i=Kc.exec(n.text),s=-1;if(!i)return-1;if(i[1]||i[2]){if(s=aS(n.text,r+i[0].length),s>-1&&n.hasOpenLink){let o=/([^\[\]]|\[[^\]]*\])*/.exec(n.text.slice(r,s));s=r+o[0].length}}else i[3]?s=ru(n.text,r):(s=ru(n.text,r+i[0].length),s>-1&&i[0]=="xmpp:"&&(tu.lastIndex=s,i=tu.exec(n.text),i&&(s=i.index+i[0].length)));return s<0?-1:(n.addElement(n.elt("URL",t,s+n.offset)),s+n.offset)}}]},vu=[iS,sS,rS,lS];function wu(n,e,t){return(r,i,s)=>{if(i!=n||r.char(s+1)==n)return-1;let o=[r.elt(t,s,s+1)];for(let a=s+1;a"}}}),Au=new F,_u=yu.configure({props:[W6.add(n=>!n.is("Block")||n.is("Document")||xi(n)!=null||cS(n)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),Au.add(xi),J6.add({Document:()=>null}),d5.add({Document:qu})]});function xi(n){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(n.name);return e?+e[1]:void 0}function cS(n){return n.name=="OrderedList"||n.name=="BulletList"}function uS(n,e){let t=n;for(;;){let r=t.nextSibling,i;if(!r||(i=xi(r.type))!=null&&i<=e)break;t=r}return t.to}var dS=wt.of((n,e,t)=>{for(let r=N(n).resolveInner(t,-1);r&&!(r.fromt)return{from:t,to:s}}return null});function yi(n){return new u6(qu,n,[],"markdown")}var hS=yi(_u),fS=_u.configure([vu,$u,Qu,Pu,{props:[W6.add({Table:(n,e)=>({from:e.doc.lineAt(n.from).to,to:n.to})})]}]),S3=yi(fS);function pS(n,e){return t=>{if(t&&n){let r=null;if(t=/\S*/.exec(t)[0],typeof n=="function"?r=n(t):r=f5.matchLanguageName(n,t,!0),r instanceof f5)return r.support?r.support.language.parser:St.getSkippingParser(r.load());if(r)return r.parser}return e?e.parser:null}}var i4=class{constructor(e,t,r,i,s,o,a){this.node=e,this.from=t,this.to=r,this.spaceBefore=i,this.spaceAfter=s,this.type=o,this.item=a}blank(e,t=!0){let r=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;r.length0;i--)r+=" ";return r+(t?this.spaceAfter:"")}}marker(e,t){let r=this.node.name=="OrderedList"?String(+Xu(this.item,e)[2]+t):"";return this.spaceBefore+r+this.type+this.spaceAfter}};function Ru(n,e){let t=[],r=[];for(let i=n;i;i=i.parent){if(i.name=="FencedCode")return r;(i.name=="ListItem"||i.name=="Blockquote")&&t.push(i)}for(let i=t.length-1;i>=0;i--){let s=t[i],o,a=e.lineAt(s.from),l=s.from-a.from;if(s.name=="Blockquote"&&(o=/^ *>( ?)/.exec(a.text.slice(l))))r.push(new i4(s,l,l+o[0].length,"",o[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(l)))){let c=o[3],u=o[0].length;c.length>=4&&(c=c.slice(0,c.length-4),u-=4),r.push(new i4(s.parent,l,l+u,o[1],c,o[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(l)))){let c=o[4],u=o[0].length;c.length>4&&(c=c.slice(0,c.length-4),u-=4);let d=o[2];o[3]&&(d+=o[3].replace(/[xX]/," ")),r.push(new i4(s.parent,l,l+u,o[1],c,d,s))}}return r}function Xu(n,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(n.from,n.from+10))}function Oi(n,e,t,r=0){for(let i=-1,s=n;;){if(s.name=="ListItem"){let a=Xu(s,e),l=+a[2];if(i>=0){if(l!=i+1)return;t.push({from:s.from+a[1].length,to:s.from+a[0].length,insert:String(i+2+r)})}i=l}let o=s.nextSibling;if(!o)break;s=o}}function Si(n,e){let t=/^[ \t]*/.exec(n)[0].length;if(!t||e.facet(F5)!=" ")return n;let r=_6(n,4,t),i="";for(let s=r;s>0;)s>=4?(i+=" ",s-=4):(i+=" ",s--);return i+n.slice(t)}var mS=(n={})=>({state:e,dispatch:t})=>{let r=N(e),{doc:i}=e,s=null,o=e.changeByRange(a=>{if(!a.empty||!S3.isActiveAt(e,a.from,-1)&&!S3.isActiveAt(e,a.from,1))return s={range:a};let l=a.from,c=i.lineAt(l),u=Ru(r.resolveInner(l,-1),i);for(;u.length&&u[u.length-1].from>l-c.from;)u.pop();if(!u.length)return s={range:a};let d=u[u.length-1];if(d.to-d.spaceAfter.length>l-c.from)return s={range:a};let h=l>=d.to-d.spaceAfter.length&&!/\S/.test(c.text.slice(d.to));if(d.item&&h){if(d.item.from]*$/.test(c.text.slice(0,d.to)))return s={range:a};let g=d.node.firstChild,x=d.node.getChild("ListItem","ListItem");if(g.to>=l||x&&x.to0&&!/[^\s>]/.test(i.lineAt(c.from-1).text)||n.nonTightLists===!1){let y=u.length>1?u[u.length-2]:null,v,S="";y&&y.item?(v=c.from+y.from,S=y.marker(i,1)):v=c.from+(y?y.to:0);let k=[{from:v,to:l,insert:S}];return d.node.name=="OrderedList"&&Oi(d.item,i,k,-2),y&&y.node.name=="OrderedList"&&Oi(y.item,i,k),{range:w.cursor(v+S.length),changes:k}}else{let y=Cu(u,e,c);return{range:w.cursor(l+y.length+1),changes:{from:c.from,insert:y+e.lineBreak}}}}if(d.node.name=="Blockquote"&&h&&c.from){let g=i.lineAt(c.from-1),x=/>\s*$/.exec(g.text);if(x&&x.index==d.from){let y=e.changes([{from:g.from+x.index,to:g.to},{from:c.from+d.from,to:c.to}]);return{range:a.map(y),changes:y}}}let p=[];d.node.name=="OrderedList"&&Oi(d.item,i,p);let f=d.item&&d.item.from]*/.exec(c.text)[0].length>=d.to)for(let g=0,x=u.length-1;g<=x;g++)m+=g==x&&!f?u[g].marker(i,1):u[g].blank(gc.from&&/\s/.test(c.text.charAt(b-c.from-1));)b--;return m=Si(m,e),OS(d.node,e.doc)&&(m=Cu(u,e,c)+e.lineBreak+m),p.push({from:b,to:l,insert:e.lineBreak+m}),{range:w.cursor(b+m.length+1),changes:p}});return s?!1:(t(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0)},gS=mS();function Tu(n){return n.name=="QuoteMark"||n.name=="ListMark"}function OS(n,e){if(n.name!="OrderedList"&&n.name!="BulletList")return!1;let t=n.firstChild,r=n.getChild("ListItem","ListItem");if(!r)return!1;let i=e.lineAt(t.to),s=e.lineAt(r.from),o=/^[\s>]*$/.test(i.text);return i.number+(o?0:1){let t=N(n),r=null,i=n.changeByRange(s=>{let o=s.from,{doc:a}=n;if(s.empty&&S3.isActiveAt(n,s.from)){let l=a.lineAt(o),c=Ru(bS(t,o),a);if(c.length){let u=c[c.length-1],d=u.to-u.spaceAfter.length+(u.spaceAfter?1:0);if(o-l.from>d&&!/\S/.test(l.text.slice(d,o-l.from)))return{range:w.cursor(l.from+d),changes:{from:l.from+d,to:o}};if(o-l.from==d&&(u.item&&l.from<=u.item.from||/^[\s>]*$/.test(l.text.slice(0,u.to)))){let h=l.from+u.from;if(u.item&&u.node.from{var t;let{main:r}=e.state.selection;if(r.empty)return!1;let i=(t=n.clipboardData)===null||t===void 0?void 0:t.getData("text/plain");if(!i||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(i)||(/^www\./.test(i)&&(i="https://"+i),!S3.isActiveAt(e.state,r.from,1)))return!1;let s=N(e.state),o=!1;return s.iterate({from:r.from,to:r.to,enter:a=>{(a.from>r.from||vS.test(a.name))&&(o=!0)},leave:a=>{a.to{let t=n.getChild("OpenTag")?.getChild("TagName");return t?e.read(t.from,t.to):""},TS=(n,e)=>{for(let t=n.node;t;t=t.parent)if(t.name==="Element"&&QS.has(PS(t,e)))return!0;return!1},CS=Qe((n,e)=>{if(n.name!=="Element"||TS(n,e))return null;let{from:t,to:r}=n;return{parser:Fu.language.parser,overlay:i=>$S.has(i.name)&&i.node.parent?.from===t&&i.node.parent?.to===r}}),qS="A-Za-z_:\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}",AS=new RegExp(`<(?![${qS}/!?])`,"gu");function _S(n){let e=(t,r)=>(t+n.read(r,Math.min(r+2,n.length))).replace(AS,"_").slice(0,t.length);return{length:n.length,lineChunks:n.lineChunks,chunk:t=>{let r=n.chunk(t);return e(r,t+r.length)},read:(t,r)=>e(n.read(t,r),r)}}var ki=class extends I6{createParse(e,t,r){return CS(De.parser.startParse(_S(e),t,r),e,t,r)}},RS=new u6(De.data,new ki,[],"xml-markdown"),Zu=()=>new h6(RS,Fu.support);var XS={xquery:n=>Wc({defaultStyle:!1,lint:n}),xml:()=>r3(),"xml-markdown":()=>Zu(),html:()=>Le(),json:()=>t3()},vi=(n,e=!1)=>n&&XS[n]?.(e)||[];function wi(n,e){return e?n==="xquery"?Pn():n==="xml"||n==="xml-markdown"||n==="json"?[Pn(),zc]:[]:[]}function Lu(n,e={}){let t=!!e.readOnly,r=e.language,i=window.matchMedia("(prefers-color-scheme: dark)"),s=()=>i.matches?w8:jn,o=new q5,a=new q5,l=new q5,c=new q5,u=new q5,d=[K.readOnly.of(!0)],h=P.theme({"&":{border:"1px solid var(--border, #aaa)"},"&.cm-focused":{outline:"none"},".cm-scroller":{overflow:"auto"}}),p=(e.extraKeys??[]).map(S=>({key:S.key,run:S.run,preventDefault:!0})),f=P.updateListener.of(S=>{S.docChanged&&(n.value=S.state.doc.toString(),e.onChange?.()),S.selectionSet&&e.onSelectionChange?.()}),m=t?[s1(),X1(),v5.of([...W1,..._1])]:[s1(),X1(),jo(),Jo(),e8(),o.of(N1()),Lo(),Bo(),No(),Pa(),N7(),Y7(),v5.of([...p,...z7,...W1,...s8,...e7,..._1,...fn,...h8,T7])],b=K.create({doc:n.value,extensions:[h,l.of(s()),Do(),Eo(),La(),d2(g9,{fallback:!0}),P.lineWrapping,c.of(vi(e.language,e.parseErrors)),u.of(wi(e.language,e.parseErrors)),a.of(t?d:[]),...m,f]}),g=new P({state:b});n.style.display="none",n.form&&n.form.addEventListener("submit",()=>{n.value=g.state.doc.toString()}),n.parentNode.insertBefore(g.dom,n.nextSibling);let x=()=>g.dispatch({effects:l.reconfigure(s())});i.addEventListener("change",x);let y=S=>g.dispatch({changes:{from:0,to:g.state.doc.length,insert:S}}),v=S=>{let k=g.lineBlockAtHeight(Math.max(0,Math.min(g.contentHeight,S))),$=g.coordsAtPos(k.from);return $?g.posAtCoords({x:$.left,y:g.documentTop+k.top+Math.max(0,Math.min(k.height,S-k.top))})??k.from:k.from};return{view:g,dom:g.dom,getValue:()=>g.state.doc.toString(),setValue(S){y(S==null?"":String(S))},selectionStart:()=>g.state.selection.main.from,scrollTop:()=>g.scrollDOM.scrollTop,visibleHeight:()=>g.scrollDOM.clientHeight,textOffsetAtHeight:v,selectLine(S){let k=g.state.doc.line(Math.min(Math.max(1,S|0),g.state.doc.lines));g.dispatch({selection:w.range(k.from,k.to),effects:P.scrollIntoView(k.from,{y:"center"})}),g.focus()},onScroll(S){return g.scrollDOM.addEventListener("scroll",S),()=>g.scrollDOM.removeEventListener("scroll",S)},historySize:()=>({undo:Ha(g.state),redo:0}),clearHistory(){g.dispatch({effects:o.reconfigure([])}),g.dispatch({effects:o.reconfigure(N1())})},setCursor(S){let k=g.state.doc.line(Math.min(Math.max(1,(S.line|0)+1),g.state.doc.lines));g.dispatch({selection:w.cursor(Math.min(k.from+Math.max(0,S.ch|0),k.to)),scrollIntoView:!0})},setOption(S,k){S==="readOnly"&&g.dispatch({effects:a.reconfigure(k?d:[])})},focus(){g.focus()},hasFocus:()=>g.hasFocus,setLanguage(S){S!==r&&(r=S,g.dispatch({effects:[c.reconfigure(vi(S,e.parseErrors)),u.reconfigure(wi(S,e.parseErrors))]}),Sa(g,g.viewport.to,100))},setSize(S,k){g.dom.style.height=typeof k=="number"?`${k}px`:k||""},destroy(){i.removeEventListener("change",x),g.destroy(),n.style.display=""}}}window.CM6={fromTextArea:Lu,EditorView:P,EditorState:K,EditorSelection:w};})();