proskomma-core 0.9.3 → 0.9.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -0
- package/dist/index.js +1 -1
- package/package.json +12 -9
package/dist/index.js
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
|| ${i} === "boolean" || ${s} === null`).assign(u,a._`[${s}]`)}}r.else(),h(e),r.endIf(),r.if(a._`${u} !== undefined`,(()=>{r.assign(s,u),function({gen:e,parentData:t,parentDataProperty:n},r){e.if(a._`${t} !== undefined`,(()=>e.assign(a._`${t}[${n}]`,r)))}(e,u)}))}(e,t,i):h(e)}))}return c};const d=new Set(["string","number","integer","boolean","null"]);function l(e,t,n,r=u.Correct){const s=r===u.Correct?a.operators.EQ:a.operators.NEQ;let o;switch(e){case"null":return a._`${t} ${s} null`;case"array":o=a._`Array.isArray(${t})`;break;case"object":o=a._`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":o=i(a._`!(${t} % 1) && !isNaN(${t})`);break;case"number":o=i();break;default:return a._`typeof ${t} ${s} ${e}`}return r===u.Correct?o:(0,a.not)(o);function i(e=a.nil){return(0,a.and)(a._`typeof ${t} == "number"`,e,n?a._`isFinite(${t})`:a.nil)}}function p(e,t,n,r){if(1===e.length)return l(e[0],t,n,r);let s;const o=(0,i.toHash)(e);if(o.array&&o.object){const e=a._`typeof ${t} != "object"`;s=o.null?e:a._`!${t} || ${e}`,delete o.null,delete o.array,delete o.object}else s=a.nil;o.number&&delete o.integer;for(const e in o)s=(0,a.and)(s,l(e,t,n,r));return s}t.checkDataType=l,t.checkDataTypes=p;const f={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>"string"==typeof e?a._`{type: ${e}}`:a._`{type: ${t}}`};function h(e){const t=function(e){const{gen:t,data:n,schema:r}=e,s=(0,i.schemaRefOrVal)(e,r,"type");return{gen:t,keyword:"type",data:n,schema:r.type,schemaCode:s,schemaValue:s,parentSchema:r,params:{},it:e}}(e);(0,o.reportError)(t,f)}t.reportTypeError=h},6457:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assignDefaults=void 0;const r=n(1724),s=n(7299);function o(e,t,n){const{gen:o,compositeRule:a,data:i,opts:u}=e;if(void 0===n)return;const c=r._`${i}${(0,r.getProperty)(t)}`;if(a)return void(0,s.checkStrictMode)(e,`default is ignored for: ${c}`);let d=r._`${c} === undefined`;"empty"===u.useDefaults&&(d=r._`${d} || ${c} === null || ${c} === ""`),o.if(d,r._`${c} = ${(0,r.stringify)(n)}`)}t.assignDefaults=function(e,t){const{properties:n,items:r}=e.schema;if("object"===t&&n)for(const t in n)o(e,t,n[t].default);else"array"===t&&Array.isArray(r)&&r.forEach(((t,n)=>o(e,n,t.default)))}},8250:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getData=t.KeywordCxt=t.validateFunctionCode=void 0;const r=n(2318),s=n(9677),o=n(4301),a=n(9677),i=n(6457),u=n(9786),c=n(8246),d=n(1724),l=n(8839),p=n(620),f=n(7299),h=n(600);function m({gen:e,validateName:t,schema:n,schemaEnv:r,opts:s},o){s.code.es5?e.func(t,d._`${l.default.data}, ${l.default.valCxt}`,r.$async,(()=>{e.code(d._`"use strict"; ${S(n,s)}`),function(e,t){e.if(l.default.valCxt,(()=>{e.var(l.default.instancePath,d._`${l.default.valCxt}.${l.default.instancePath}`),e.var(l.default.parentData,d._`${l.default.valCxt}.${l.default.parentData}`),e.var(l.default.parentDataProperty,d._`${l.default.valCxt}.${l.default.parentDataProperty}`),e.var(l.default.rootData,d._`${l.default.valCxt}.${l.default.rootData}`),t.dynamicRef&&e.var(l.default.dynamicAnchors,d._`${l.default.valCxt}.${l.default.dynamicAnchors}`)}),(()=>{e.var(l.default.instancePath,d._`""`),e.var(l.default.parentData,d._`undefined`),e.var(l.default.parentDataProperty,d._`undefined`),e.var(l.default.rootData,l.default.data),t.dynamicRef&&e.var(l.default.dynamicAnchors,d._`{}`)}))}(e,s),e.code(o)})):e.func(t,d._`${l.default.data}, ${function(e){return d._`{${l.default.instancePath}="", ${l.default.parentData}, ${l.default.parentDataProperty}, ${l.default.rootData}=${l.default.data}${e.dynamicRef?d._`, ${l.default.dynamicAnchors}={}`:d.nil}}={}`}(s)}`,r.$async,(()=>e.code(S(n,s)).code(o)))}function S(e,t){const n="object"==typeof e&&e[t.schemaId];return n&&(t.code.source||t.code.process)?d._`/*# sourceURL=${n} */`:d.nil}function y({schema:e,self:t}){if("boolean"==typeof e)return!e;for(const n in e)if(t.RULES.all[n])return!0;return!1}function g(e){return"boolean"!=typeof e.schema}function v(e){(0,f.checkUnknownRules)(e),function(e){const{schema:t,errSchemaPath:n,opts:r,self:s}=e;t.$ref&&r.ignoreKeywordsWithRef&&(0,f.schemaHasRulesButRef)(t,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${n}"`)}(e)}function b(e,t){if(e.opts.jtd)return A(e,[],!1,t);const n=(0,s.getSchemaTypes)(e.schema);A(e,n,!(0,s.coerceAndCheckDataType)(e,n),t)}function E({gen:e,schemaEnv:t,schema:n,errSchemaPath:r,opts:s}){const o=n.$comment;if(!0===s.$comment)e.code(d._`${l.default.self}.logger.log(${o})`);else if("function"==typeof s.$comment){const n=d.str`${r}/$comment`,s=e.scopeValue("root",{ref:t.root});e.code(d._`${l.default.self}.opts.$comment(${o}, ${n}, ${s}.schema)`)}}function A(e,t,n,r){const{gen:s,schema:i,data:u,allErrors:c,opts:p,self:h}=e,{RULES:m}=h;function S(f){(0,o.shouldUseGroup)(i,f)&&(f.type?(s.if((0,a.checkDataType)(f.type,u,p.strictNumbers)),T(e,f),1===t.length&&t[0]===f.type&&n&&(s.else(),(0,a.reportTypeError)(e)),s.endIf()):T(e,f),c||s.if(d._`${l.default.errors} === ${r||0}`))}!i.$ref||!p.ignoreKeywordsWithRef&&(0,f.schemaHasRulesButRef)(i,m)?(p.jtd||function(e,t){!e.schemaEnv.meta&&e.opts.strictTypes&&(function(e,t){t.length&&(e.dataTypes.length?(t.forEach((t=>{w(e.dataTypes,t)||k(e,`type "${t}" not allowed by context "${e.dataTypes.join(",")}"`)})),e.dataTypes=e.dataTypes.filter((e=>w(t,e)))):e.dataTypes=t)}(e,t),e.opts.allowUnionTypes||function(e,t){t.length>1&&(2!==t.length||!t.includes("null"))&&k(e,"use allowUnionTypes to allow union type keyword")}(e,t),function(e,t){const n=e.self.RULES.all;for(const r in n){const s=n[r];if("object"==typeof s&&(0,o.shouldUseRule)(e.schema,s)){const{type:n}=s.definition;n.length&&!n.some((e=>{return r=e,(n=t).includes(r)||"number"===r&&n.includes("integer");var n,r}))&&k(e,`missing type "${n.join(",")}" for keyword "${r}"`)}}}(e,e.dataTypes))}(e,t),s.block((()=>{for(const e of m.rules)S(e);S(m.post)}))):s.block((()=>I(e,"$ref",m.all.$ref.definition)))}function T(e,t){const{gen:n,schema:r,opts:{useDefaults:s}}=e;s&&(0,i.assignDefaults)(e,t.type),n.block((()=>{for(const n of t.rules)(0,o.shouldUseRule)(r,n)&&I(e,n.keyword,n.definition,t.type)}))}function w(e,t){return e.includes(t)||"integer"===t&&e.includes("number")}function k(e,t){t+=` at "${e.schemaEnv.baseId+e.errSchemaPath}" (strictTypes)`,(0,f.checkStrictMode)(e,t,e.opts.strictTypes)}t.validateFunctionCode=function(e){g(e)&&(v(e),y(e))?function(e){const{schema:t,opts:n,gen:r}=e;m(e,(()=>{n.$comment&&t.$comment&&E(e),function(e){const{schema:t,opts:n}=e;void 0!==t.default&&n.useDefaults&&n.strictSchema&&(0,f.checkStrictMode)(e,"default is ignored in the schema root")}(e),r.let(l.default.vErrors,null),r.let(l.default.errors,0),n.unevaluated&&function(e){const{gen:t,validateName:n}=e;e.evaluated=t.const("evaluated",d._`${n}.evaluated`),t.if(d._`${e.evaluated}.dynamicProps`,(()=>t.assign(d._`${e.evaluated}.props`,d._`undefined`))),t.if(d._`${e.evaluated}.dynamicItems`,(()=>t.assign(d._`${e.evaluated}.items`,d._`undefined`)))}(e),b(e),function(e){const{gen:t,schemaEnv:n,validateName:r,ValidationError:s,opts:o}=e;n.$async?t.if(d._`${l.default.errors} === 0`,(()=>t.return(l.default.data)),(()=>t.throw(d._`new ${s}(${l.default.vErrors})`))):(t.assign(d._`${r}.errors`,l.default.vErrors),o.unevaluated&&function({gen:e,evaluated:t,props:n,items:r}){n instanceof d.Name&&e.assign(d._`${t}.props`,n),r instanceof d.Name&&e.assign(d._`${t}.items`,r)}(e),t.return(d._`${l.default.errors} === 0`))}(e)}))}(e):m(e,(()=>(0,r.topBoolOrEmptySchema)(e)))};class P{constructor(e,t,n){if((0,u.validateKeywordUsage)(e,t,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,f.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",_(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,u.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(t.schemaType)}`);("code"in t?t.trackErrors:!1!==t.errors)&&(this.errsCount=e.gen.const("_errs",l.default.errors))}result(e,t,n){this.failResult((0,d.not)(e),t,n)}failResult(e,t,n){this.gen.if(e),n?n():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,d.not)(e),void 0,t)}fail(e){if(void 0===e)return this.error(),void(this.allErrors||this.gen.if(!1));this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);const{schemaCode:t}=this;this.fail(d._`${t} !== undefined && (${(0,d.or)(this.invalid$data(),e)})`)}error(e,t,n){if(t)return this.setParams(t),this._error(e,n),void this.setParams({});this._error(e,n)}_error(e,t){(e?h.reportExtraError:h.reportError)(this,this.def.error,t)}$dataError(){(0,h.reportError)(this,this.def.$dataError||h.keyword$DataError)}reset(){if(void 0===this.errsCount)throw new Error('add "trackErrors" to keyword definition');(0,h.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,n=d.nil){this.gen.block((()=>{this.check$data(e,n),t()}))}check$data(e=d.nil,t=d.nil){if(!this.$data)return;const{gen:n,schemaCode:r,schemaType:s,def:o}=this;n.if((0,d.or)(d._`${r} === undefined`,t)),e!==d.nil&&n.assign(e,!0),(s.length||o.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==d.nil&&n.assign(e,!1)),n.else()}invalid$data(){const{gen:e,schemaCode:t,schemaType:n,def:r,it:s}=this;return(0,d.or)(function(){if(n.length){if(!(t instanceof d.Name))throw new Error("ajv implementation error");const e=Array.isArray(n)?n:[n];return d._`${(0,a.checkDataTypes)(e,t,s.opts.strictNumbers,a.DataType.Wrong)}`}return d.nil}(),function(){if(r.validateSchema){const n=e.scopeValue("validate$data",{ref:r.validateSchema});return d._`!${n}(${t})`}return d.nil}())}subschema(e,t){const n=(0,c.getSubschema)(this.it,e);(0,c.extendSubschemaData)(n,this.it,e),(0,c.extendSubschemaMode)(n,e);const s={...this.it,...n,items:void 0,props:void 0};return function(e,t){g(e)&&(v(e),y(e))?function(e,t){const{schema:n,gen:r,opts:s}=e;s.$comment&&n.$comment&&E(e),function(e){const t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,p.resolveUrl)(e.opts.uriResolver,e.baseId,t))}(e),function(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}(e);const o=r.const("_errs",l.default.errors);b(e,o),r.var(t,d._`${o} === ${l.default.errors}`)}(e,t):(0,r.boolOrEmptySchema)(e,t)}(s,t),s}mergeEvaluated(e,t){const{it:n,gen:r}=this;n.opts.unevaluated&&(!0!==n.props&&void 0!==e.props&&(n.props=f.mergeEvaluated.props(r,e.props,n.props,t)),!0!==n.items&&void 0!==e.items&&(n.items=f.mergeEvaluated.items(r,e.items,n.items,t)))}mergeValidEvaluated(e,t){const{it:n,gen:r}=this;if(n.opts.unevaluated&&(!0!==n.props||!0!==n.items))return r.if(t,(()=>this.mergeEvaluated(e,d.Name))),!0}}function I(e,t,n,r){const s=new P(e,n,t);"code"in n?n.code(s,r):s.$data&&n.validate?(0,u.funcKeywordCode)(s,n):"macro"in n?(0,u.macroKeywordCode)(s,n):(n.compile||n.validate)&&(0,u.funcKeywordCode)(s,n)}t.KeywordCxt=P;const N=/^\/(?:[^~]|~0|~1)*$/,O=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function _(e,{dataLevel:t,dataNames:n,dataPathArr:r}){let s,o;if(""===e)return l.default.rootData;if("/"===e[0]){if(!N.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);s=e,o=l.default.rootData}else{const a=O.exec(e);if(!a)throw new Error(`Invalid JSON-pointer: ${e}`);const i=+a[1];if(s=a[2],"#"===s){if(i>=t)throw new Error(u("property/index",i));return r[t-i]}if(i>t)throw new Error(u("data",i));if(o=n[t-i],!s)return o}let a=o;const i=s.split("/");for(const e of i)e&&(o=d._`${o}${(0,d.getProperty)((0,f.unescapeJsonPointer)(e))}`,a=d._`${a} && ${o}`);return a;function u(e,n){return`Cannot access ${e} ${n} levels up, current level is ${t}`}}t.getData=_},9786:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateKeywordUsage=t.validSchemaType=t.funcKeywordCode=t.macroKeywordCode=void 0;const r=n(1724),s=n(8839),o=n(9614),a=n(600);function i(e){const{gen:t,data:n,it:s}=e;t.if(s.parentData,(()=>t.assign(n,r._`${s.parentData}[${s.parentDataProperty}]`)))}function u(e,t,n){if(void 0===n)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword","function"==typeof n?{ref:n}:{ref:n,code:(0,r.stringify)(n)})}t.macroKeywordCode=function(e,t){const{gen:n,keyword:s,schema:o,parentSchema:a,it:i}=e,c=t.macro.call(i.self,o,a,i),d=u(n,s,c);!1!==i.opts.validateSchema&&i.self.validateSchema(c,!0);const l=n.name("valid");e.subschema({schema:c,schemaPath:r.nil,errSchemaPath:`${i.errSchemaPath}/${s}`,topSchemaRef:d,compositeRule:!0},l),e.pass(l,(()=>e.error(!0)))},t.funcKeywordCode=function(e,t){var n;const{gen:c,keyword:d,schema:l,parentSchema:p,$data:f,it:h}=e;!function({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}(h,t);const m=!f&&t.compile?t.compile.call(h.self,l,p,h):t.validate,S=u(c,d,m),y=c.let("valid");function g(n=(t.async?r._`await `:r.nil)){const a=h.opts.passContext?s.default.this:s.default.self,i=!("compile"in t&&!f||!1===t.schema);c.assign(y,r._`${n}${(0,o.callValidateCode)(e,S,a,i)}`,t.modifying)}function v(e){var n;c.if((0,r.not)(null!==(n=t.valid)&&void 0!==n?n:y),e)}e.block$data(y,(function(){if(!1===t.errors)g(),t.modifying&&i(e),v((()=>e.error()));else{const n=t.async?function(){const e=c.let("ruleErrs",null);return c.try((()=>g(r._`await `)),(t=>c.assign(y,!1).if(r._`${t} instanceof ${h.ValidationError}`,(()=>c.assign(e,r._`${t}.errors`)),(()=>c.throw(t))))),e}():function(){const e=r._`${S}.errors`;return c.assign(e,null),g(r.nil),e}();t.modifying&&i(e),v((()=>function(e,t){const{gen:n}=e;n.if(r._`Array.isArray(${t})`,(()=>{n.assign(s.default.vErrors,r._`${s.default.vErrors} === null ? ${t} : ${s.default.vErrors}.concat(${t})`).assign(s.default.errors,r._`${s.default.vErrors}.length`),(0,a.extendErrors)(e)}),(()=>e.error()))}(e,n)))}})),e.ok(null!==(n=t.valid)&&void 0!==n?n:y)},t.validSchemaType=function(e,t,n=!1){return!t.length||t.some((t=>"array"===t?Array.isArray(e):"object"===t?e&&"object"==typeof e&&!Array.isArray(e):typeof e==t||n&&void 0===e))},t.validateKeywordUsage=function({schema:e,opts:t,self:n,errSchemaPath:r},s,o){if(Array.isArray(s.keyword)?!s.keyword.includes(o):s.keyword!==o)throw new Error("ajv implementation error");const a=s.dependencies;if(null==a?void 0:a.some((t=>!Object.prototype.hasOwnProperty.call(e,t))))throw new Error(`parent schema must have dependencies of ${o}: ${a.join(",")}`);if(s.validateSchema&&!s.validateSchema(e[o])){const e=`keyword "${o}" value is invalid at path "${r}": `+n.errorsText(s.validateSchema.errors);if("log"!==t.validateSchema)throw new Error(e);n.logger.error(e)}}},8246:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extendSubschemaMode=t.extendSubschemaData=t.getSubschema=void 0;const r=n(1724),s=n(7299);t.getSubschema=function(e,{keyword:t,schemaProp:n,schema:o,schemaPath:a,errSchemaPath:i,topSchemaRef:u}){if(void 0!==t&&void 0!==o)throw new Error('both "keyword" and "schema" passed, only one allowed');if(void 0!==t){const o=e.schema[t];return void 0===n?{schema:o,schemaPath:r._`${e.schemaPath}${(0,r.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:o[n],schemaPath:r._`${e.schemaPath}${(0,r.getProperty)(t)}${(0,r.getProperty)(n)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,s.escapeFragment)(n)}`}}if(void 0!==o){if(void 0===a||void 0===i||void 0===u)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:o,schemaPath:a,topSchemaRef:u,errSchemaPath:i}}throw new Error('either "keyword" or "schema" must be passed')},t.extendSubschemaData=function(e,t,{dataProp:n,dataPropType:o,data:a,dataTypes:i,propertyName:u}){if(void 0!==a&&void 0!==n)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:c}=t;if(void 0!==n){const{errorPath:a,dataPathArr:i,opts:u}=t;d(c.let("data",r._`${t.data}${(0,r.getProperty)(n)}`,!0)),e.errorPath=r.str`${a}${(0,s.getErrorPath)(n,o,u.jsPropertySyntax)}`,e.parentDataProperty=r._`${n}`,e.dataPathArr=[...i,e.parentDataProperty]}function d(n){e.data=n,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,n]}void 0!==a&&(d(a instanceof r.Name?a:c.let("data",a,!0)),void 0!==u&&(e.propertyName=u)),i&&(e.dataTypes=i)},t.extendSubschemaMode=function(e,{jtdDiscriminator:t,jtdMetadata:n,compositeRule:r,createErrors:s,allErrors:o}){void 0!==r&&(e.compositeRule=r),void 0!==s&&(e.createErrors=s),void 0!==o&&(e.allErrors=o),e.jtdDiscriminator=t,e.jtdMetadata=n}},7036:(e,t,n)=>{"use strict";var r=n(5108);Object.defineProperty(t,"__esModule",{value:!0}),t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;var s=n(8250);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return s.KeywordCxt}});var o=n(1724);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return o._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return o.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return o.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return o.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return o.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return o.CodeGen}});const a=n(1164),i=n(6954),u=n(6233),c=n(3744),d=n(1724),l=n(620),p=n(9677),f=n(7299),h=n(8078),m=n(6927),S=(e,t)=>new RegExp(e,t);S.code="new RegExp";const y=["removeAdditional","useDefaults","coerceTypes"],g=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),v={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},b={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'};function E(e){var t,n,r,s,o,a,i,u,c,d,l,p,f,h,y,g,v,b,E,A,T,w,k,P,I;const N=e.strict,O=null===(t=e.code)||void 0===t?void 0:t.optimize,_=!0===O||void 0===O?1:O||0,x=null!==(r=null===(n=e.code)||void 0===n?void 0:n.regExp)&&void 0!==r?r:S,C=null!==(s=e.uriResolver)&&void 0!==s?s:m.default;return{strictSchema:null===(a=null!==(o=e.strictSchema)&&void 0!==o?o:N)||void 0===a||a,strictNumbers:null===(u=null!==(i=e.strictNumbers)&&void 0!==i?i:N)||void 0===u||u,strictTypes:null!==(d=null!==(c=e.strictTypes)&&void 0!==c?c:N)&&void 0!==d?d:"log",strictTuples:null!==(p=null!==(l=e.strictTuples)&&void 0!==l?l:N)&&void 0!==p?p:"log",strictRequired:null!==(h=null!==(f=e.strictRequired)&&void 0!==f?f:N)&&void 0!==h&&h,code:e.code?{...e.code,optimize:_,regExp:x}:{optimize:_,regExp:x},loopRequired:null!==(y=e.loopRequired)&&void 0!==y?y:200,loopEnum:null!==(g=e.loopEnum)&&void 0!==g?g:200,meta:null===(v=e.meta)||void 0===v||v,messages:null===(b=e.messages)||void 0===b||b,inlineRefs:null===(E=e.inlineRefs)||void 0===E||E,schemaId:null!==(A=e.schemaId)&&void 0!==A?A:"$id",addUsedSchema:null===(T=e.addUsedSchema)||void 0===T||T,validateSchema:null===(w=e.validateSchema)||void 0===w||w,validateFormats:null===(k=e.validateFormats)||void 0===k||k,unicodeRegExp:null===(P=e.unicodeRegExp)||void 0===P||P,int32range:null===(I=e.int32range)||void 0===I||I,uriResolver:C}}class A{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...E(e)};const{es5:t,lines:n}=this.opts.code;this.scope=new d.ValueScope({scope:{},prefixes:g,es5:t,lines:n}),this.logger=function(e){if(!1===e)return O;if(void 0===e)return r;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}(e.logger);const s=e.validateFormats;e.validateFormats=!1,this.RULES=(0,u.getRules)(),T.call(this,v,e,"NOT SUPPORTED"),T.call(this,b,e,"DEPRECATED","warn"),this._metaOpts=N.call(this),e.formats&&P.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&I.call(this,e.keywords),"object"==typeof e.meta&&this.addMetaSchema(e.meta),k.call(this),e.validateFormats=s}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:e,meta:t,schemaId:n}=this.opts;let r=h;"id"===n&&(r={...h},r.id=r.$id,delete r.$id),t&&e&&this.addMetaSchema(r,r[n],!1)}defaultMeta(){const{meta:e,schemaId:t}=this.opts;return this.opts.defaultMeta="object"==typeof e?e[t]||e:void 0}validate(e,t){let n;if("string"==typeof e){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);const r=n(t);return"$async"in n||(this.errors=n.errors),r}compile(e,t){const n=this._addSchema(e,t);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,t){if("function"!=typeof this.opts.loadSchema)throw new Error("options.loadSchema should be a function");const{loadSchema:n}=this.opts;return r.call(this,e,t);async function r(e,t){await s.call(this,e.$schema);const n=this._addSchema(e,t);return n.validate||o.call(this,n)}async function s(e){e&&!this.getSchema(e)&&await r.call(this,{$ref:e},!0)}async function o(e){try{return this._compileSchemaEnv(e)}catch(t){if(!(t instanceof i.default))throw t;return a.call(this,t),await u.call(this,t.missingSchema),o.call(this,e)}}function a({missingSchema:e,missingRef:t}){if(this.refs[e])throw new Error(`AnySchema ${e} is loaded but ${t} cannot be resolved`)}async function u(e){const n=await c.call(this,e);this.refs[e]||await s.call(this,n.$schema),this.refs[e]||this.addSchema(n,e,t)}async function c(e){const t=this._loading[e];if(t)return t;try{return await(this._loading[e]=n(e))}finally{delete this._loading[e]}}}addSchema(e,t,n,r=this.opts.validateSchema){if(Array.isArray(e)){for(const t of e)this.addSchema(t,void 0,n,r);return this}let s;if("object"==typeof e){const{schemaId:t}=this.opts;if(s=e[t],void 0!==s&&"string"!=typeof s)throw new Error(`schema ${t} must be string`)}return t=(0,l.normalizeId)(t||s),this._checkUnique(t),this.schemas[t]=this._addSchema(e,n,t,r,!0),this}addMetaSchema(e,t,n=this.opts.validateSchema){return this.addSchema(e,t,!0,n),this}validateSchema(e,t){if("boolean"==typeof e)return!0;let n;if(n=e.$schema,void 0!==n&&"string"!=typeof n)throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const r=this.validate(n,e);if(!r&&t){const e="schema is invalid: "+this.errorsText();if("log"!==this.opts.validateSchema)throw new Error(e);this.logger.error(e)}return r}getSchema(e){let t;for(;"string"==typeof(t=w.call(this,e));)e=t;if(void 0===t){const{schemaId:n}=this.opts,r=new c.SchemaEnv({schema:{},schemaId:n});if(t=c.resolveSchema.call(this,r,e),!t)return;this.refs[e]=t}return t.validate||this._compileSchemaEnv(t)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const t=w.call(this,e);return"object"==typeof t&&this._cache.delete(t.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{const t=e;this._cache.delete(t);let n=e[this.opts.schemaId];return n&&(n=(0,l.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(const t of e)this.addKeyword(t);return this}addKeyword(e,t){let n;if("string"==typeof e)n=e,"object"==typeof t&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),t.keyword=n);else{if("object"!=typeof e||void 0!==t)throw new Error("invalid addKeywords parameters");if(n=(t=e).keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}if(x.call(this,n,t),!t)return(0,f.eachItem)(n,(e=>C.call(this,e))),this;$.call(this,t);const r={...t,type:(0,p.getJSONTypes)(t.type),schemaType:(0,p.getJSONTypes)(t.schemaType)};return(0,f.eachItem)(n,0===r.type.length?e=>C.call(this,e,r):e=>r.type.forEach((t=>C.call(this,e,r,t)))),this}getKeyword(e){const t=this.RULES.all[e];return"object"==typeof t?t.definition:!!t}removeKeyword(e){const{RULES:t}=this;delete t.keywords[e],delete t.all[e];for(const n of t.rules){const t=n.rules.findIndex((t=>t.keyword===e));t>=0&&n.rules.splice(t,1)}return this}addFormat(e,t){return"string"==typeof t&&(t=new RegExp(t)),this.formats[e]=t,this}errorsText(e=this.errors,{separator:t=", ",dataVar:n="data"}={}){return e&&0!==e.length?e.map((e=>`${n}${e.instancePath} ${e.message}`)).reduce(((e,n)=>e+t+n)):"No errors"}$dataMetaSchema(e,t){const n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(const r of t){const t=r.split("/").slice(1);let s=e;for(const e of t)s=s[e];for(const e in n){const t=n[e];if("object"!=typeof t)continue;const{$data:r}=t.definition,o=s[e];r&&o&&(s[e]=q(o))}}return e}_removeAllSchemas(e,t){for(const n in e){const r=e[n];t&&!t.test(n)||("string"==typeof r?delete e[n]:r&&!r.meta&&(this._cache.delete(r.schema),delete e[n]))}}_addSchema(e,t,n,r=this.opts.validateSchema,s=this.opts.addUsedSchema){let o;const{schemaId:a}=this.opts;if("object"==typeof e)o=e[a];else{if(this.opts.jtd)throw new Error("schema must be object");if("boolean"!=typeof e)throw new Error("schema must be object or boolean")}let i=this._cache.get(e);if(void 0!==i)return i;n=(0,l.normalizeId)(o||n);const u=l.getSchemaRefs.call(this,e,n);return i=new c.SchemaEnv({schema:e,schemaId:a,meta:t,baseId:n,localRefs:u}),this._cache.set(i.schema,i),s&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=i),r&&this.validateSchema(e,!0),i}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):c.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){const t=this.opts;this.opts=this._metaOpts;try{c.compileSchema.call(this,e)}finally{this.opts=t}}}function T(e,t,n,r="error"){for(const s in e){const o=s;o in t&&this.logger[r](`${n}: option ${s}. ${e[o]}`)}}function w(e){return e=(0,l.normalizeId)(e),this.schemas[e]||this.refs[e]}function k(){const e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(const t in e)this.addSchema(e[t],t)}function P(){for(const e in this.opts.formats){const t=this.opts.formats[e];t&&this.addFormat(e,t)}}function I(e){if(Array.isArray(e))this.addVocabulary(e);else{this.logger.warn("keywords option as map is deprecated, pass array");for(const t in e){const n=e[t];n.keyword||(n.keyword=t),this.addKeyword(n)}}}function N(){const e={...this.opts};for(const t of y)delete e[t];return e}t.default=A,A.ValidationError=a.default,A.MissingRefError=i.default;const O={log(){},warn(){},error(){}},_=/^[a-z_$][a-z0-9_$:-]*$/i;function x(e,t){const{RULES:n}=this;if((0,f.eachItem)(e,(e=>{if(n.keywords[e])throw new Error(`Keyword ${e} is already defined`);if(!_.test(e))throw new Error(`Keyword ${e} has invalid name`)})),t&&t.$data&&!("code"in t)&&!("validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function C(e,t,n){var r;const s=null==t?void 0:t.post;if(n&&s)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:o}=this;let a=s?o.post:o.rules.find((({type:e})=>e===n));if(a||(a={type:n,rules:[]},o.rules.push(a)),o.keywords[e]=!0,!t)return;const i={keyword:e,definition:{...t,type:(0,p.getJSONTypes)(t.type),schemaType:(0,p.getJSONTypes)(t.schemaType)}};t.before?D.call(this,a,i,t.before):a.rules.push(i),o.all[e]=i,null===(r=t.implements)||void 0===r||r.forEach((e=>this.addKeyword(e)))}function D(e,t,n){const r=e.rules.findIndex((e=>e.keyword===n));r>=0?e.rules.splice(r,0,t):(e.rules.push(t),this.logger.warn(`rule ${n} is not defined`))}function $(e){let{metaSchema:t}=e;void 0!==t&&(e.$data&&this.opts.$data&&(t=q(t)),e.validateSchema=this.compile(t,!0))}const R={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function q(e){return{anyOf:[e,R]}}},4600:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(4063);r.code='require("ajv/dist/runtime/equal").default',t.default=r},4420:(e,t)=>{"use strict";function n(e){const t=e.length;let n,r=0,s=0;for(;s<t;)r++,n=e.charCodeAt(s++),n>=55296&&n<=56319&&s<t&&(n=e.charCodeAt(s),56320==(64512&n)&&s++);return r}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n,n.code='require("ajv/dist/runtime/ucs2length").default'},6927:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(540);r.code='require("ajv/dist/runtime/uri").default',t.default=r},1164:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class n extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}}t.default=n},9717:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateAdditionalItems=void 0;const r=n(1724),s=n(7299),o={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:{message:({params:{len:e}})=>r.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>r._`{limit: ${e}}`},code(e){const{parentSchema:t,it:n}=e,{items:r}=t;Array.isArray(r)?a(e,r):(0,s.checkStrictMode)(n,'"additionalItems" is ignored when "items" is not an array of schemas')}};function a(e,t){const{gen:n,schema:o,data:a,keyword:i,it:u}=e;u.items=!0;const c=n.const("len",r._`${a}.length`);if(!1===o)e.setParams({len:t.length}),e.pass(r._`${c} <= ${t.length}`);else if("object"==typeof o&&!(0,s.alwaysValidSchema)(u,o)){const o=n.var("valid",r._`${c} <= ${t.length}`);n.if((0,r.not)(o),(()=>function(o){n.forRange("i",t.length,c,(t=>{e.subschema({keyword:i,dataProp:t,dataPropType:s.Type.Num},o),u.allErrors||n.if((0,r.not)(o),(()=>n.break()))}))}(o))),e.ok(o)}}t.validateAdditionalItems=a,t.default=o},2906:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(9614),s=n(1724),o=n(8839),a=n(7299),i={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:{message:"must NOT have additional properties",params:({params:e})=>s._`{additionalProperty: ${e.additionalProperty}}`},code(e){const{gen:t,schema:n,parentSchema:i,data:u,errsCount:c,it:d}=e;if(!c)throw new Error("ajv implementation error");const{allErrors:l,opts:p}=d;if(d.props=!0,"all"!==p.removeAdditional&&(0,a.alwaysValidSchema)(d,n))return;const f=(0,r.allSchemaProperties)(i.properties),h=(0,r.allSchemaProperties)(i.patternProperties);function m(e){t.code(s._`delete ${u}[${e}]`)}function S(r){if("all"===p.removeAdditional||p.removeAdditional&&!1===n)m(r);else{if(!1===n)return e.setParams({additionalProperty:r}),e.error(),void(l||t.break());if("object"==typeof n&&!(0,a.alwaysValidSchema)(d,n)){const n=t.name("valid");"failing"===p.removeAdditional?(y(r,n,!1),t.if((0,s.not)(n),(()=>{e.reset(),m(r)}))):(y(r,n),l||t.if((0,s.not)(n),(()=>t.break())))}}}function y(t,n,r){const s={keyword:"additionalProperties",dataProp:t,dataPropType:a.Type.Str};!1===r&&Object.assign(s,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(s,n)}t.forIn("key",u,(n=>{f.length||h.length?t.if(function(n){let o;if(f.length>8){const e=(0,a.schemaRefOrVal)(d,i.properties,"properties");o=(0,r.isOwnProperty)(t,e,n)}else o=f.length?(0,s.or)(...f.map((e=>s._`${n} === ${e}`))):s.nil;return h.length&&(o=(0,s.or)(o,...h.map((t=>s._`${(0,r.usePattern)(e,t)}.test(${n})`)))),(0,s.not)(o)}(n),(()=>S(n))):S(n)})),e.ok(s._`${c} === ${o.default.errors}`)}};t.default=i},4605:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(7299),s={keyword:"allOf",schemaType:"array",code(e){const{gen:t,schema:n,it:s}=e;if(!Array.isArray(n))throw new Error("ajv implementation error");const o=t.name("valid");n.forEach(((t,n)=>{if((0,r.alwaysValidSchema)(s,t))return;const a=e.subschema({keyword:"allOf",schemaProp:n},o);e.ok(o),e.mergeEvaluated(a)}))}};t.default=s},5651:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:n(9614).validateUnion,error:{message:"must match a schema in anyOf"}};t.default=r},480:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s=n(7299),o={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:{message:({params:{min:e,max:t}})=>void 0===t?r.str`must contain at least ${e} valid item(s)`:r.str`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>void 0===t?r._`{minContains: ${e}}`:r._`{minContains: ${e}, maxContains: ${t}}`},code(e){const{gen:t,schema:n,parentSchema:o,data:a,it:i}=e;let u,c;const{minContains:d,maxContains:l}=o;i.opts.next?(u=void 0===d?1:d,c=l):u=1;const p=t.const("len",r._`${a}.length`);if(e.setParams({min:u,max:c}),void 0===c&&0===u)return void(0,s.checkStrictMode)(i,'"minContains" == 0 without "maxContains": "contains" keyword ignored');if(void 0!==c&&u>c)return(0,s.checkStrictMode)(i,'"minContains" > "maxContains" is always invalid'),void e.fail();if((0,s.alwaysValidSchema)(i,n)){let t=r._`${p} >= ${u}`;return void 0!==c&&(t=r._`${t} && ${p} <= ${c}`),void e.pass(t)}i.items=!0;const f=t.name("valid");function h(){const e=t.name("_valid"),n=t.let("count",0);m(e,(()=>t.if(e,(()=>function(e){t.code(r._`${e}++`),void 0===c?t.if(r._`${e} >= ${u}`,(()=>t.assign(f,!0).break())):(t.if(r._`${e} > ${c}`,(()=>t.assign(f,!1).break())),1===u?t.assign(f,!0):t.if(r._`${e} >= ${u}`,(()=>t.assign(f,!0))))}(n)))))}function m(n,r){t.forRange("i",0,p,(t=>{e.subschema({keyword:"contains",dataProp:t,dataPropType:s.Type.Num,compositeRule:!0},n),r()}))}void 0===c&&1===u?m(f,(()=>t.if(f,(()=>t.break())))):0===u?(t.let(f,!0),void 0!==c&&t.if(r._`${a}.length > 0`,h)):(t.let(f,!1),h()),e.result(f,(()=>e.reset()))}};t.default=o},1353:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateSchemaDeps=t.validatePropertyDeps=t.error=void 0;const r=n(1724),s=n(7299),o=n(9614);t.error={message:({params:{property:e,depsCount:t,deps:n}})=>{const s=1===t?"property":"properties";return r.str`must have ${s} ${n} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:n,missingProperty:s}})=>r._`{property: ${e},
|
|
6
6
|
missingProperty: ${s},
|
|
7
7
|
depsCount: ${t},
|
|
8
|
-
deps: ${n}}`};const a={keyword:"dependencies",type:"object",schemaType:"object",error:t.error,code(e){const[t,n]=function({schema:e}){const t={},n={};for(const r in e)"__proto__"!==r&&((Array.isArray(e[r])?t:n)[r]=e[r]);return[t,n]}(e);i(e,t),u(e,n)}};function i(e,t=e.schema){const{gen:n,data:s,it:a}=e;if(0===Object.keys(t).length)return;const i=n.let("missing");for(const u in t){const c=t[u];if(0===c.length)continue;const d=(0,o.propertyInData)(n,s,u,a.opts.ownProperties);e.setParams({property:u,depsCount:c.length,deps:c.join(", ")}),a.allErrors?n.if(d,(()=>{for(const t of c)(0,o.checkReportMissingProp)(e,t)})):(n.if(r._`${d} && (${(0,o.checkMissingProp)(e,c,i)})`),(0,o.reportMissingProp)(e,i),n.else())}}function u(e,t=e.schema){const{gen:n,data:r,keyword:a,it:i}=e,u=n.name("valid");for(const c in t)(0,s.alwaysValidSchema)(i,t[c])||(n.if((0,o.propertyInData)(n,r,c,i.opts.ownProperties),(()=>{const t=e.subschema({keyword:a,schemaProp:c},u);e.mergeValidEvaluated(t,u)}),(()=>n.var(u,!0))),e.ok(u))}t.validatePropertyDeps=i,t.validateSchemaDeps=u,t.default=a},4880:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s=n(7299),o={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:{message:({params:e})=>r.str`must match "${e.ifClause}" schema`,params:({params:e})=>r._`{failingKeyword: ${e.ifClause}}`},code(e){const{gen:t,parentSchema:n,it:o}=e;void 0===n.then&&void 0===n.else&&(0,s.checkStrictMode)(o,'"if" without "then" and "else" is ignored');const i=a(o,"then"),u=a(o,"else");if(!i&&!u)return;const c=t.let("valid",!0),d=t.name("_valid");if(function(){const t=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},d);e.mergeEvaluated(t)}(),e.reset(),i&&u){const n=t.let("ifClause");e.setParams({ifClause:n}),t.if(d,l("then",n),l("else",n))}else i?t.if(d,l("then")):t.if((0,r.not)(d),l("else"));function l(n,s){return()=>{const o=e.subschema({keyword:n},d);t.assign(c,d),e.mergeValidEvaluated(o,c),s?t.assign(s,r._`${n}`):e.setParams({ifClause:n})}}e.pass(c,(()=>e.error(!0)))}};function a(e,t){const n=e.schema[t];return void 0!==n&&!(0,s.alwaysValidSchema)(e,n)}t.default=o},2103:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(9717),s=n(8844),o=n(3458),a=n(840),i=n(480),u=n(1353),c=n(8142),d=n(2906),l=n(9580),p=n(8443),f=n(7666),h=n(5651),m=n(3965),S=n(4605),y=n(4880),g=n(2659);t.default=function(e=!1){const t=[f.default,h.default,m.default,S.default,y.default,g.default,c.default,d.default,u.default,l.default,p.default];return e?t.push(s.default,a.default):t.push(r.default,o.default),t.push(i.default),t}},3458:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateTuple=void 0;const r=n(1724),s=n(7299),o=n(9614),a={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){const{schema:t,it:n}=e;if(Array.isArray(t))return i(e,"additionalItems",t);n.items=!0,(0,s.alwaysValidSchema)(n,t)||e.ok((0,o.validateArray)(e))}};function i(e,t,n=e.schema){const{gen:o,parentSchema:a,data:i,keyword:u,it:c}=e;!function(e){const{opts:r,errSchemaPath:o}=c,a=n.length,i=a===e.minItems&&(a===e.maxItems||!1===e[t]);if(r.strictTuples&&!i){const e=`"${u}" is ${a}-tuple, but minItems or maxItems/${t} are not specified or different at path "${o}"`;(0,s.checkStrictMode)(c,e,r.strictTuples)}}(a),c.opts.unevaluated&&n.length&&!0!==c.items&&(c.items=s.mergeEvaluated.items(o,n.length,c.items));const d=o.name("valid"),l=o.const("len",r._`${i}.length`);n.forEach(((t,n)=>{(0,s.alwaysValidSchema)(c,t)||(o.if(r._`${l} > ${n}`,(()=>e.subschema({keyword:u,schemaProp:n,dataProp:n},d))),e.ok(d))}))}t.validateTuple=i,t.default=a},840:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s=n(7299),o=n(9614),a=n(9717),i={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:{message:({params:{len:e}})=>r.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>r._`{limit: ${e}}`},code(e){const{schema:t,parentSchema:n,it:r}=e,{prefixItems:i}=n;r.items=!0,(0,s.alwaysValidSchema)(r,t)||(i?(0,a.validateAdditionalItems)(e,i):e.ok((0,o.validateArray)(e)))}};t.default=i},7666:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(7299),s={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:t,schema:n,it:s}=e;if((0,r.alwaysValidSchema)(s,n))return void e.fail();const o=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),e.failResult(o,(()=>e.reset()),(()=>e.error()))},error:{message:"must NOT be valid"}};t.default=s},3965:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s=n(7299),o={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:{message:"must match exactly one schema in oneOf",params:({params:e})=>r._`{passingSchemas: ${e.passing}}`},code(e){const{gen:t,schema:n,parentSchema:o,it:a}=e;if(!Array.isArray(n))throw new Error("ajv implementation error");if(a.opts.discriminator&&o.discriminator)return;const i=n,u=t.let("valid",!1),c=t.let("passing",null),d=t.name("_valid");e.setParams({passing:c}),t.block((function(){i.forEach(((n,o)=>{let i;(0,s.alwaysValidSchema)(a,n)?t.var(d,!0):i=e.subschema({keyword:"oneOf",schemaProp:o,compositeRule:!0},d),o>0&&t.if(r._`${d} && ${u}`).assign(u,!1).assign(c,r._`[${c}, ${o}]`).else(),t.if(d,(()=>{t.assign(u,!0),t.assign(c,o),i&&e.mergeEvaluated(i,r.Name)}))}))})),e.result(u,(()=>e.reset()),(()=>e.error(!0)))}};t.default=o},8443:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(9614),s=n(1724),o=n(7299),a=n(7299),i={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:n,data:i,parentSchema:u,it:c}=e,{opts:d}=c,l=(0,r.allSchemaProperties)(n),p=l.filter((e=>(0,o.alwaysValidSchema)(c,n[e])));if(0===l.length||p.length===l.length&&(!c.opts.unevaluated||!0===c.props))return;const f=d.strictSchema&&!d.allowMatchingProperties&&u.properties,h=t.name("valid");!0===c.props||c.props instanceof s.Name||(c.props=(0,a.evaluatedPropsToName)(t,c.props));const{props:m}=c;function S(e){for(const t in f)new RegExp(e).test(t)&&(0,o.checkStrictMode)(c,`property ${t} matches pattern ${e} (use allowMatchingProperties)`)}function y(n){t.forIn("key",i,(o=>{t.if(s._`${(0,r.usePattern)(e,n)}.test(${o})`,(()=>{const r=p.includes(n);r||e.subschema({keyword:"patternProperties",schemaProp:n,dataProp:o,dataPropType:a.Type.Str},h),c.opts.unevaluated&&!0!==m?t.assign(s._`${m}[${o}]`,!0):r||c.allErrors||t.if((0,s.not)(h),(()=>t.break()))}))}))}!function(){for(const e of l)f&&S(e),c.allErrors?y(e):(t.var(h,!0),y(e),t.if(h))}()}};t.default=i},8844:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(3458),s={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,r.validateTuple)(e,"items")};t.default=s},9580:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(8250),s=n(9614),o=n(7299),a=n(2906),i={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:n,parentSchema:i,data:u,it:c}=e;"all"===c.opts.removeAdditional&&void 0===i.additionalProperties&&a.default.code(new r.KeywordCxt(c,a.default,"additionalProperties"));const d=(0,s.allSchemaProperties)(n);for(const e of d)c.definedProperties.add(e);c.opts.unevaluated&&d.length&&!0!==c.props&&(c.props=o.mergeEvaluated.props(t,(0,o.toHash)(d),c.props));const l=d.filter((e=>!(0,o.alwaysValidSchema)(c,n[e])));if(0===l.length)return;const p=t.name("valid");for(const n of l)f(n)?h(n):(t.if((0,s.propertyInData)(t,u,n,c.opts.ownProperties)),h(n),c.allErrors||t.else().var(p,!0),t.endIf()),e.it.definedProperties.add(n),e.ok(p);function f(e){return c.opts.useDefaults&&!c.compositeRule&&void 0!==n[e].default}function h(t){e.subschema({keyword:"properties",schemaProp:t,dataProp:t},p)}}};t.default=i},8142:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s=n(7299),o={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:{message:"property name must be valid",params:({params:e})=>r._`{propertyName: ${e.propertyName}}`},code(e){const{gen:t,schema:n,data:o,it:a}=e;if((0,s.alwaysValidSchema)(a,n))return;const i=t.name("valid");t.forIn("key",o,(n=>{e.setParams({propertyName:n}),e.subschema({keyword:"propertyNames",data:n,dataTypes:["string"],propertyName:n,compositeRule:!0},i),t.if((0,r.not)(i),(()=>{e.error(!0),a.allErrors||t.break()}))})),e.ok(i)}};t.default=o},2659:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(7299),s={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:n}){void 0===t.if&&(0,r.checkStrictMode)(n,`"${e}" without "if" is ignored`)}};t.default=s},9614:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateUnion=t.validateArray=t.usePattern=t.callValidateCode=t.schemaProperties=t.allSchemaProperties=t.noPropertyInData=t.propertyInData=t.isOwnProperty=t.hasPropFunc=t.reportMissingProp=t.checkMissingProp=t.checkReportMissingProp=void 0;const r=n(1724),s=n(7299),o=n(8839),a=n(7299);function i(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:r._`Object.prototype.hasOwnProperty`})}function u(e,t,n){return r._`${i(e)}.call(${t}, ${n})`}function c(e,t,n,s){const o=r._`${t}${(0,r.getProperty)(n)} === undefined`;return s?(0,r.or)(o,(0,r.not)(u(e,t,n))):o}function d(e){return e?Object.keys(e).filter((e=>"__proto__"!==e)):[]}t.checkReportMissingProp=function(e,t){const{gen:n,data:s,it:o}=e;n.if(c(n,s,t,o.opts.ownProperties),(()=>{e.setParams({missingProperty:r._`${t}`},!0),e.error()}))},t.checkMissingProp=function({gen:e,data:t,it:{opts:n}},s,o){return(0,r.or)(...s.map((s=>(0,r.and)(c(e,t,s,n.ownProperties),r._`${o} = ${s}`))))},t.reportMissingProp=function(e,t){e.setParams({missingProperty:t},!0),e.error()},t.hasPropFunc=i,t.isOwnProperty=u,t.propertyInData=function(e,t,n,s){const o=r._`${t}${(0,r.getProperty)(n)} !== undefined`;return s?r._`${o} && ${u(e,t,n)}`:o},t.noPropertyInData=c,t.allSchemaProperties=d,t.schemaProperties=function(e,t){return d(t).filter((n=>!(0,s.alwaysValidSchema)(e,t[n])))},t.callValidateCode=function({schemaCode:e,data:t,it:{gen:n,topSchemaRef:s,schemaPath:a,errorPath:i},it:u},c,d,l){const p=l?r._`${e}, ${t}, ${s}${a}`:t,f=[[o.default.instancePath,(0,r.strConcat)(o.default.instancePath,i)],[o.default.parentData,u.parentData],[o.default.parentDataProperty,u.parentDataProperty],[o.default.rootData,o.default.rootData]];u.opts.dynamicRef&&f.push([o.default.dynamicAnchors,o.default.dynamicAnchors]);const h=r._`${p}, ${n.object(...f)}`;return d!==r.nil?r._`${c}.call(${d}, ${h})`:r._`${c}(${h})`};const l=r._`new RegExp`;t.usePattern=function({gen:e,it:{opts:t}},n){const s=t.unicodeRegExp?"u":"",{regExp:o}=t.code,i=o(n,s);return e.scopeValue("pattern",{key:i.toString(),ref:i,code:r._`${"new RegExp"===o.code?l:(0,a.useFunc)(e,o)}(${n}, ${s})`})},t.validateArray=function(e){const{gen:t,data:n,keyword:o,it:a}=e,i=t.name("valid");if(a.allErrors){const e=t.let("valid",!0);return u((()=>t.assign(e,!1))),e}return t.var(i,!0),u((()=>t.break())),i;function u(a){const u=t.const("len",r._`${n}.length`);t.forRange("i",0,u,(n=>{e.subschema({keyword:o,dataProp:n,dataPropType:s.Type.Num},i),t.if((0,r.not)(i),a)}))}},t.validateUnion=function(e){const{gen:t,schema:n,keyword:o,it:a}=e;if(!Array.isArray(n))throw new Error("ajv implementation error");if(n.some((e=>(0,s.alwaysValidSchema)(a,e)))&&!a.opts.unevaluated)return;const i=t.let("valid",!1),u=t.name("_valid");t.block((()=>n.forEach(((n,s)=>{const a=e.subschema({keyword:o,schemaProp:s,compositeRule:!0},u);t.assign(i,r._`${i} || ${u}`),e.mergeValidEvaluated(a,u)||t.if((0,r.not)(i))})))),e.result(i,(()=>e.reset()),(()=>e.error(!0)))}},2531:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};t.default=n},8730:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(2531),s=n(6278),o=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",r.default,s.default];t.default=o},6278:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.callRef=t.getValidate=void 0;const r=n(6954),s=n(9614),o=n(1724),a=n(8839),i=n(3744),u=n(7299),c={keyword:"$ref",schemaType:"string",code(e){const{gen:t,schema:n,it:s}=e,{baseId:a,schemaEnv:u,validateName:c,opts:p,self:f}=s,{root:h}=u;if(("#"===n||"#/"===n)&&a===h.baseId)return function(){if(u===h)return l(e,c,u,u.$async);const n=t.scopeValue("root",{ref:h});return l(e,o._`${n}.validate`,h,h.$async)}();const m=i.resolveRef.call(f,h,a,n);if(void 0===m)throw new r.default(s.opts.uriResolver,a,n);return m instanceof i.SchemaEnv?function(t){const n=d(e,t);l(e,n,t,t.$async)}(m):function(r){const s=t.scopeValue("schema",!0===p.code.source?{ref:r,code:(0,o.stringify)(r)}:{ref:r}),a=t.name("valid"),i=e.subschema({schema:r,dataTypes:[],schemaPath:o.nil,topSchemaRef:s,errSchemaPath:n},a);e.mergeEvaluated(i),e.ok(a)}(m)}};function d(e,t){const{gen:n}=e;return t.validate?n.scopeValue("validate",{ref:t.validate}):o._`${n.scopeValue("wrapper",{ref:t})}.validate`}function l(e,t,n,r){const{gen:i,it:c}=e,{allErrors:d,schemaEnv:l,opts:p}=c,f=p.passContext?a.default.this:o.nil;function h(e){const t=o._`${e}.errors`;i.assign(a.default.vErrors,o._`${a.default.vErrors} === null ? ${t} : ${a.default.vErrors}.concat(${t})`),i.assign(a.default.errors,o._`${a.default.vErrors}.length`)}function m(e){var t;if(!c.opts.unevaluated)return;const r=null===(t=null==n?void 0:n.validate)||void 0===t?void 0:t.evaluated;if(!0!==c.props)if(r&&!r.dynamicProps)void 0!==r.props&&(c.props=u.mergeEvaluated.props(i,r.props,c.props));else{const t=i.var("props",o._`${e}.evaluated.props`);c.props=u.mergeEvaluated.props(i,t,c.props,o.Name)}if(!0!==c.items)if(r&&!r.dynamicItems)void 0!==r.items&&(c.items=u.mergeEvaluated.items(i,r.items,c.items));else{const t=i.var("items",o._`${e}.evaluated.items`);c.items=u.mergeEvaluated.items(i,t,c.items,o.Name)}}r?function(){if(!l.$async)throw new Error("async schema referenced by sync schema");const n=i.let("valid");i.try((()=>{i.code(o._`await ${(0,s.callValidateCode)(e,t,f)}`),m(t),d||i.assign(n,!0)}),(e=>{i.if(o._`!(${e} instanceof ${c.ValidationError})`,(()=>i.throw(e))),h(e),d||i.assign(n,!1)})),e.ok(n)}():e.result((0,s.callValidateCode)(e,t,f),(()=>m(t)),(()=>h(t)))}t.getValidate=d,t.callRef=l,t.default=c},6325:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s=n(7689),o=n(3744),a=n(7299),i={keyword:"discriminator",type:"object",schemaType:"object",error:{message:({params:{discrError:e,tagName:t}})=>e===s.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:n}})=>r._`{error: ${e}, tag: ${n}, tagValue: ${t}}`},code(e){const{gen:t,data:n,schema:i,parentSchema:u,it:c}=e,{oneOf:d}=u;if(!c.opts.discriminator)throw new Error("discriminator: requires discriminator option");const l=i.propertyName;if("string"!=typeof l)throw new Error("discriminator: requires propertyName");if(i.mapping)throw new Error("discriminator: mapping is not supported");if(!d)throw new Error("discriminator: requires oneOf keyword");const p=t.let("valid",!1),f=t.const("tag",r._`${n}${(0,r.getProperty)(l)}`);function h(n){const s=t.name("valid"),o=e.subschema({keyword:"oneOf",schemaProp:n},s);return e.mergeEvaluated(o,r.Name),s}t.if(r._`typeof ${f} == "string"`,(()=>function(){const n=function(){var e;const t={},n=s(u);let r=!0;for(let t=0;t<d.length;t++){let u=d[t];(null==u?void 0:u.$ref)&&!(0,a.schemaHasRulesButRef)(u,c.self.RULES)&&(u=o.resolveRef.call(c.self,c.schemaEnv.root,c.baseId,null==u?void 0:u.$ref),u instanceof o.SchemaEnv&&(u=u.schema));const p=null===(e=null==u?void 0:u.properties)||void 0===e?void 0:e[l];if("object"!=typeof p)throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${l}"`);r=r&&(n||s(u)),i(p,t)}if(!r)throw new Error(`discriminator: "${l}" must be required`);return t;function s({required:e}){return Array.isArray(e)&&e.includes(l)}function i(e,t){if(e.const)p(e.const,t);else{if(!e.enum)throw new Error(`discriminator: "properties/${l}" must have "const" or "enum"`);for(const n of e.enum)p(n,t)}}function p(e,n){if("string"!=typeof e||e in t)throw new Error(`discriminator: "${l}" values must be unique strings`);t[e]=n}}();t.if(!1);for(const e in n)t.elseIf(r._`${f} === ${e}`),t.assign(p,h(n[e]));t.else(),e.error(!1,{discrError:s.DiscrError.Mapping,tag:f,tagName:l}),t.endIf()}()),(()=>e.error(!1,{discrError:s.DiscrError.Tag,tag:f,tagName:l}))),e.ok(p)}};t.default=i},7689:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.DiscrError=void 0,(n=t.DiscrError||(t.DiscrError={})).Tag="tag",n.Mapping="mapping"},5432:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(8730),s=n(1504),o=n(2103),a=n(5313),i=n(486),u=[r.default,s.default,(0,o.default)(),a.default,i.metadataVocabulary,i.contentVocabulary];t.default=u},1318:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>r.str`must match format "${e}"`,params:({schemaCode:e})=>r._`{format: ${e}}`},code(e,t){const{gen:n,data:s,$data:o,schema:a,schemaCode:i,it:u}=e,{opts:c,errSchemaPath:d,schemaEnv:l,self:p}=u;c.validateFormats&&(o?function(){const o=n.scopeValue("formats",{ref:p.formats,code:c.code.formats}),a=n.const("fDef",r._`${o}[${i}]`),u=n.let("fType"),d=n.let("format");n.if(r._`typeof ${a} == "object" && !(${a} instanceof RegExp)`,(()=>n.assign(u,r._`${a}.type || "string"`).assign(d,r._`${a}.validate`)),(()=>n.assign(u,r._`"string"`).assign(d,a))),e.fail$data((0,r.or)(!1===c.strictSchema?r.nil:r._`${i} && !${d}`,function(){const e=l.$async?r._`(${a}.async ? await ${d}(${s}) : ${d}(${s}))`:r._`${d}(${s})`,n=r._`(typeof ${d} == "function" ? ${e} : ${d}.test(${s}))`;return r._`${d} && ${d} !== true && ${u} === ${t} && !${n}`}()))}():function(){const o=p.formats[a];if(!o)return void function(){if(!1!==c.strictSchema)throw new Error(e());function e(){return`unknown format "${a}" ignored in schema at path "${d}"`}p.logger.warn(e())}();if(!0===o)return;const[i,u,f]=function(e){const t=e instanceof RegExp?(0,r.regexpCode)(e):c.code.formats?r._`${c.code.formats}${(0,r.getProperty)(a)}`:void 0,s=n.scopeValue("formats",{key:a,ref:e,code:t});return"object"!=typeof e||e instanceof RegExp?["string",e,s]:[e.type||"string",e.validate,r._`${s}.validate`]}(o);i===t&&e.pass(function(){if("object"==typeof o&&!(o instanceof RegExp)&&o.async){if(!l.$async)throw new Error("async format in sync schema");return r._`await ${f}(${s})`}return"function"==typeof u?r._`${f}(${s})`:r._`${f}.test(${s})`}())}())}};t.default=s},5313:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=[n(1318).default];t.default=r},486:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.contentVocabulary=t.metadataVocabulary=void 0,t.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],t.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]},9672:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s=n(7299),o=n(4600),a={keyword:"const",$data:!0,error:{message:"must be equal to constant",params:({schemaCode:e})=>r._`{allowedValue: ${e}}`},code(e){const{gen:t,data:n,$data:a,schemaCode:i,schema:u}=e;a||u&&"object"==typeof u?e.fail$data(r._`!${(0,s.useFunc)(t,o.default)}(${n}, ${i})`):e.fail(r._`${u} !== ${n}`)}};t.default=a},2547:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s=n(7299),o=n(4600),a={keyword:"enum",schemaType:"array",$data:!0,error:{message:"must be equal to one of the allowed values",params:({schemaCode:e})=>r._`{allowedValues: ${e}}`},code(e){const{gen:t,data:n,$data:a,schema:i,schemaCode:u,it:c}=e;if(!a&&0===i.length)throw new Error("enum must have non-empty array");const d=i.length>=c.opts.loopEnum;let l;const p=()=>null!=l?l:l=(0,s.useFunc)(t,o.default);let f;if(d||a)f=t.let("valid"),e.block$data(f,(function(){t.assign(f,!1),t.forOf("v",u,(e=>t.if(r._`${p()}(${n}, ${e})`,(()=>t.assign(f,!0).break()))))}));else{if(!Array.isArray(i))throw new Error("ajv implementation error");const e=t.const("vSchema",u);f=(0,r.or)(...i.map(((t,s)=>function(e,t){const s=i[t];return"object"==typeof s&&null!==s?r._`${p()}(${n}, ${e}[${t}])`:r._`${n} === ${s}`}(e,s))))}e.pass(f)}};t.default=a},1504:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(3800),s=n(405),o=n(4657),a=n(3451),i=n(5939),u=n(9947),c=n(552),d=n(5070),l=n(9672),p=n(2547),f=[r.default,s.default,o.default,a.default,i.default,u.default,c.default,d.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},l.default,p.default];t.default=f},552:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const n="maxItems"===e?"more":"fewer";return r.str`must NOT have ${n} than ${t} items`},params:({schemaCode:e})=>r._`{limit: ${e}}`},code(e){const{keyword:t,data:n,schemaCode:s}=e,o="maxItems"===t?r.operators.GT:r.operators.LT;e.fail$data(r._`${n}.length ${o} ${s}`)}};t.default=s},4657:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s=n(7299),o=n(4420),a={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const n="maxLength"===e?"more":"fewer";return r.str`must NOT have ${n} than ${t} characters`},params:({schemaCode:e})=>r._`{limit: ${e}}`},code(e){const{keyword:t,data:n,schemaCode:a,it:i}=e,u="maxLength"===t?r.operators.GT:r.operators.LT,c=!1===i.opts.unicode?r._`${n}.length`:r._`${(0,s.useFunc)(e.gen,o.default)}(${n})`;e.fail$data(r._`${c} ${u} ${a}`)}};t.default=a},3800:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s=r.operators,o={maximum:{okStr:"<=",ok:s.LTE,fail:s.GT},minimum:{okStr:">=",ok:s.GTE,fail:s.LT},exclusiveMaximum:{okStr:"<",ok:s.LT,fail:s.GTE},exclusiveMinimum:{okStr:">",ok:s.GT,fail:s.LTE}},a={message:({keyword:e,schemaCode:t})=>r.str`must be ${o[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>r._`{comparison: ${o[e].okStr}, limit: ${t}}`},i={keyword:Object.keys(o),type:"number",schemaType:"number",$data:!0,error:a,code(e){const{keyword:t,data:n,schemaCode:s}=e;e.fail$data(r._`${n} ${o[t].fail} ${s} || isNaN(${n})`)}};t.default=i},5939:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const n="maxProperties"===e?"more":"fewer";return r.str`must NOT have ${n} than ${t} properties`},params:({schemaCode:e})=>r._`{limit: ${e}}`},code(e){const{keyword:t,data:n,schemaCode:s}=e,o="maxProperties"===t?r.operators.GT:r.operators.LT;e.fail$data(r._`Object.keys(${n}).length ${o} ${s}`)}};t.default=s},405:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:{message:({schemaCode:e})=>r.str`must be multiple of ${e}`,params:({schemaCode:e})=>r._`{multipleOf: ${e}}`},code(e){const{gen:t,data:n,schemaCode:s,it:o}=e,a=o.opts.multipleOfPrecision,i=t.let("res"),u=a?r._`Math.abs(Math.round(${i}) - ${i}) > 1e-${a}`:r._`${i} !== parseInt(${i})`;e.fail$data(r._`(${s} === 0 || (${i} = ${n}/${s}, ${u}))`)}};t.default=s},3451:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(9614),s=n(1724),o={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>s.str`must match pattern "${e}"`,params:({schemaCode:e})=>s._`{pattern: ${e}}`},code(e){const{data:t,$data:n,schema:o,schemaCode:a,it:i}=e,u=i.opts.unicodeRegExp?"u":"",c=n?s._`(new RegExp(${a}, ${u}))`:(0,r.usePattern)(e,o);e.fail$data(s._`!${c}.test(${t})`)}};t.default=o},9947:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(9614),s=n(1724),o=n(7299),a={keyword:"required",type:"object",schemaType:"array",$data:!0,error:{message:({params:{missingProperty:e}})=>s.str`must have required property '${e}'`,params:({params:{missingProperty:e}})=>s._`{missingProperty: ${e}}`},code(e){const{gen:t,schema:n,schemaCode:a,data:i,$data:u,it:c}=e,{opts:d}=c;if(!u&&0===n.length)return;const l=n.length>=d.loopRequired;if(c.allErrors?function(){if(l||u)e.block$data(s.nil,p);else for(const t of n)(0,r.checkReportMissingProp)(e,t)}():function(){const o=t.let("missing");if(l||u){const n=t.let("valid",!0);e.block$data(n,(()=>function(n,o){e.setParams({missingProperty:n}),t.forOf(n,a,(()=>{t.assign(o,(0,r.propertyInData)(t,i,n,d.ownProperties)),t.if((0,s.not)(o),(()=>{e.error(),t.break()}))}),s.nil)}(o,n))),e.ok(n)}else t.if((0,r.checkMissingProp)(e,n,o)),(0,r.reportMissingProp)(e,o),t.else()}(),d.strictRequired){const t=e.parentSchema.properties,{definedProperties:r}=e.it;for(const e of n)if(void 0===(null==t?void 0:t[e])&&!r.has(e)){const t=`required property "${e}" is not defined at "${c.schemaEnv.baseId+c.errSchemaPath}" (strictRequired)`;(0,o.checkStrictMode)(c,t,c.opts.strictRequired)}}function p(){t.forOf("prop",a,(n=>{e.setParams({missingProperty:n}),t.if((0,r.noPropertyInData)(t,i,n,d.ownProperties),(()=>e.error()))}))}}};t.default=a},5070:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(9677),s=n(1724),o=n(7299),a=n(4600),i={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:{message:({params:{i:e,j:t}})=>s.str`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>s._`{i: ${e}, j: ${t}}`},code(e){const{gen:t,data:n,$data:i,schema:u,parentSchema:c,schemaCode:d,it:l}=e;if(!i&&!u)return;const p=t.let("valid"),f=c.items?(0,r.getSchemaTypes)(c.items):[];function h(o,a){const i=t.name("item"),u=(0,r.checkDataTypes)(f,i,l.opts.strictNumbers,r.DataType.Wrong),c=t.const("indices",s._`{}`);t.for(s._`;${o}--;`,(()=>{t.let(i,s._`${n}[${o}]`),t.if(u,s._`continue`),f.length>1&&t.if(s._`typeof ${i} == "string"`,s._`${i} += "_"`),t.if(s._`typeof ${c}[${i}] == "number"`,(()=>{t.assign(a,s._`${c}[${i}]`),e.error(),t.assign(p,!1).break()})).code(s._`${c}[${i}] = ${o}`)}))}function m(r,i){const u=(0,o.useFunc)(t,a.default),c=t.name("outer");t.label(c).for(s._`;${r}--;`,(()=>t.for(s._`${i} = ${r}; ${i}--;`,(()=>t.if(s._`${u}(${n}[${r}], ${n}[${i}])`,(()=>{e.error(),t.assign(p,!1).break(c)}))))))}e.block$data(p,(function(){const r=t.let("i",s._`${n}.length`),o=t.let("j");e.setParams({i:r,j:o}),t.assign(p,!0),t.if(s._`${r} > 1`,(()=>(f.length>0&&!f.some((e=>"object"===e||"array"===e))?h:m)(r,o)))}),s._`${d} === false`),e.ok(p)}};t.default=i},987:e=>{"use strict";var t=e.exports=function(e,t,r){"function"==typeof t&&(r=t,t={}),n(t,"function"==typeof(r=t.cb||r)?r:r.pre||function(){},r.post||function(){},e,"",e)};function n(e,r,s,o,a,i,u,c,d,l){if(o&&"object"==typeof o&&!Array.isArray(o)){for(var p in r(o,a,i,u,c,d,l),o){var f=o[p];if(Array.isArray(f)){if(p in t.arrayKeywords)for(var h=0;h<f.length;h++)n(e,r,s,f[h],a+"/"+p+"/"+h,i,a,p,o,h)}else if(p in t.propsKeywords){if(f&&"object"==typeof f)for(var m in f)n(e,r,s,f[m],a+"/"+p+"/"+m.replace(/~/g,"~0").replace(/\//g,"~1"),i,a,p,o,m)}else(p in t.keywords||e.allKeys&&!(p in t.skipKeywords))&&n(e,r,s,f,a+"/"+p,i,a,p,o)}s(o,a,i,u,c,d,l)}}t.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0},t.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},t.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},t.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0}},3815:function(e,t,n){var r,s=n(4300).Buffer;r=function(){return function(){var e=function(e,t,n,r,s,o){for(var a=function(e,t){var n=e.toString(16);return n.length<2&&(n="0"+n),t&&(n=n.toUpperCase()),n},i=t;i<=n;i++)s[o++]=a(e[i],r);return s},t=function(e,t,n,r,s){for(var o=t;o<=n;o+=2)r[s++]=parseInt(e.substr(o,2),16)},n="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-:+=^!/*?&<>()[]{}@%$#".split(""),r=[0,68,0,84,83,82,72,0,75,76,70,65,0,63,62,69,0,1,2,3,4,5,6,7,8,9,64,0,73,66,74,71,81,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,77,0,78,67,0,0,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,79,0,80,0,0],o=function(e,t){var n={ibits:8,obits:8,obigendian:!0};for(var r in t)void 0!==n[r]&&(n[r]=t[r]);for(var s,o,a,i=[],u=0,c=0,d=0,l=e.length;0===c&&(o=e.charCodeAt(u++)),s=o>>n.ibits-(c+8)&255,c=(c+8)%n.ibits,n.obigendian?0===d?a=s<<n.obits-8:a|=s<<n.obits-8-d:0===d?a=s:a|=s<<d,!(0==(d=(d+8)%n.obits)&&(i.push(a),u>=l)););return i},a=function(e,t){var n={ibits:32,ibigendian:!0};for(var r in t)void 0!==n[r]&&(n[r]=t[r]);var s="",o=4294967295;n.ibits<32&&(o=(1<<n.ibits)-1);for(var a=e.length,i=0;i<a;i++)for(var u=e[i]&o,c=0;c<n.ibits;c+=8)n.ibigendian?s+=String.fromCharCode(u>>n.ibits-8-c&255):s+=String.fromCharCode(u>>c&255);return s},i=256,u=function(e,t,n,r,s,o,a,i){return[i,a,o,s,r,n,t,e]},c=function(){return u(0,0,0,0,0,0,0,0)},d=function(e){return e.slice(0)},l=function(e){for(var t=c(),n=0;n<8;n++)t[n]=Math.floor(e%i),e/=i;return t},p=function(e){for(var t=0,n=7;n>=0;n--)t*=i,t+=e[n];return Math.floor(t)},f=function(e,t){for(var n=0,r=0;r<8;r++)n+=e[r]+t[r],e[r]=Math.floor(n%i),n=Math.floor(n/i);return n},h=function(e,t){for(var n=0,r=0;r<8;r++)n+=e[r]*t,e[r]=Math.floor(n%i),n=Math.floor(n/i);return n},m=function(e,t){for(var n=0;n<8;n++)e[n]&=t[n];return e},S=function(e,t){var n=c();if(t%8!=0)throw new Error("ui64_rorn: only bit rotations supported with a multiple of digit bits");for(var r=Math.floor(t/8),s=0;s<r;s++){for(var o=6;o>=0;o--)n[o+1]=n[o];for(n[0]=e[0],o=0;o<7;o++)e[o]=e[o+1];e[o]=0}return p(n)},y=function(e,t){if(t>64)throw new Error("ui64_ror: invalid number of bits to shift");var n,r=new Array(16);for(n=0;n<8;n++)r[n+8]=e[n],r[n]=0;var s=Math.floor(t/8),o=t%8;for(n=s;n<15;n++)r[n-s]=255&(r[n]>>>o|r[n+1]<<8-o);for(r[15-s]=r[15]>>>o&255,n=15-s+1;n<16;n++)r[n]=0;for(n=0;n<8;n++)e[n]=r[n+8];return r.slice(0,8)},g=function(e,t){for(var n=0;n<8;n++)e[n]^=t[n]},v=function(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n},b=function(e,t){return e<<t&4294967295|e>>>32-t&4294967295},E=function(e){return a(function(e,t){function n(e,t,n,r){return e<20?t&n|~t&r:e<40?t^n^r:e<60?t&n|t&r|n&r:t^n^r}function r(e){return e<20?1518500249:e<40?1859775393:e<60?-1894007588:-899497514}e[t>>5]|=128<<24-t%32,e[15+(t+64>>9<<4)]=t;for(var s=Array(80),o=1732584193,a=-271733879,i=-1732584194,u=271733878,c=-1009589776,d=0;d<e.length;d+=16){for(var l=o,p=a,f=i,h=u,m=c,S=0;S<80;S++){s[S]=S<16?e[d+S]:b(s[S-3]^s[S-8]^s[S-14]^s[S-16],1);var y=v(v(b(o,5),n(S,a,i,u)),v(v(c,s[S]),r(S)));c=u,u=i,i=b(a,30),a=o,o=y}o=v(o,l),a=v(a,p),i=v(i,f),u=v(u,h),c=v(c,m)}return[o,a,i,u,c]}(o(e,{ibits:8,obits:32,obigendian:!0}),8*e.length),{ibits:32,ibigendian:!0})},A=function(e){return a(function(e,t){function n(e,t,n,r,s,o){return v(b(v(v(t,e),v(r,o)),s),n)}function r(e,t,r,s,o,a,i){return n(t&r|~t&s,e,t,o,a,i)}function s(e,t,r,s,o,a,i){return n(t&s|r&~s,e,t,o,a,i)}function o(e,t,r,s,o,a,i){return n(t^r^s,e,t,o,a,i)}function a(e,t,r,s,o,a,i){return n(r^(t|~s),e,t,o,a,i)}e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;for(var i=1732584193,u=-271733879,c=-1732584194,d=271733878,l=0;l<e.length;l+=16){var p=i,f=u,h=c,m=d;i=r(i,u,c,d,e[l+0],7,-680876936),d=r(d,i,u,c,e[l+1],12,-389564586),c=r(c,d,i,u,e[l+2],17,606105819),u=r(u,c,d,i,e[l+3],22,-1044525330),i=r(i,u,c,d,e[l+4],7,-176418897),d=r(d,i,u,c,e[l+5],12,1200080426),c=r(c,d,i,u,e[l+6],17,-1473231341),u=r(u,c,d,i,e[l+7],22,-45705983),i=r(i,u,c,d,e[l+8],7,1770035416),d=r(d,i,u,c,e[l+9],12,-1958414417),c=r(c,d,i,u,e[l+10],17,-42063),u=r(u,c,d,i,e[l+11],22,-1990404162),i=r(i,u,c,d,e[l+12],7,1804603682),d=r(d,i,u,c,e[l+13],12,-40341101),c=r(c,d,i,u,e[l+14],17,-1502002290),i=s(i,u=r(u,c,d,i,e[l+15],22,1236535329),c,d,e[l+1],5,-165796510),d=s(d,i,u,c,e[l+6],9,-1069501632),c=s(c,d,i,u,e[l+11],14,643717713),u=s(u,c,d,i,e[l+0],20,-373897302),i=s(i,u,c,d,e[l+5],5,-701558691),d=s(d,i,u,c,e[l+10],9,38016083),c=s(c,d,i,u,e[l+15],14,-660478335),u=s(u,c,d,i,e[l+4],20,-405537848),i=s(i,u,c,d,e[l+9],5,568446438),d=s(d,i,u,c,e[l+14],9,-1019803690),c=s(c,d,i,u,e[l+3],14,-187363961),u=s(u,c,d,i,e[l+8],20,1163531501),i=s(i,u,c,d,e[l+13],5,-1444681467),d=s(d,i,u,c,e[l+2],9,-51403784),c=s(c,d,i,u,e[l+7],14,1735328473),i=o(i,u=s(u,c,d,i,e[l+12],20,-1926607734),c,d,e[l+5],4,-378558),d=o(d,i,u,c,e[l+8],11,-2022574463),c=o(c,d,i,u,e[l+11],16,1839030562),u=o(u,c,d,i,e[l+14],23,-35309556),i=o(i,u,c,d,e[l+1],4,-1530992060),d=o(d,i,u,c,e[l+4],11,1272893353),c=o(c,d,i,u,e[l+7],16,-155497632),u=o(u,c,d,i,e[l+10],23,-1094730640),i=o(i,u,c,d,e[l+13],4,681279174),d=o(d,i,u,c,e[l+0],11,-358537222),c=o(c,d,i,u,e[l+3],16,-722521979),u=o(u,c,d,i,e[l+6],23,76029189),i=o(i,u,c,d,e[l+9],4,-640364487),d=o(d,i,u,c,e[l+12],11,-421815835),c=o(c,d,i,u,e[l+15],16,530742520),i=a(i,u=o(u,c,d,i,e[l+2],23,-995338651),c,d,e[l+0],6,-198630844),d=a(d,i,u,c,e[l+7],10,1126891415),c=a(c,d,i,u,e[l+14],15,-1416354905),u=a(u,c,d,i,e[l+5],21,-57434055),i=a(i,u,c,d,e[l+12],6,1700485571),d=a(d,i,u,c,e[l+3],10,-1894986606),c=a(c,d,i,u,e[l+10],15,-1051523),u=a(u,c,d,i,e[l+1],21,-2054922799),i=a(i,u,c,d,e[l+8],6,1873313359),d=a(d,i,u,c,e[l+15],10,-30611744),c=a(c,d,i,u,e[l+6],15,-1560198380),u=a(u,c,d,i,e[l+13],21,1309151649),i=a(i,u,c,d,e[l+4],6,-145523070),d=a(d,i,u,c,e[l+11],10,-1120210379),c=a(c,d,i,u,e[l+2],15,718787259),u=a(u,c,d,i,e[l+9],21,-343485551),i=v(i,p),u=v(u,f),c=v(c,h),d=v(d,m)}return[i,u,c,d]}(o(e,{ibits:8,obits:32,obigendian:!1}),8*e.length),{ibits:32,ibigendian:!1})},T=function(e){this.mul=u(88,81,244,45,76,149,127,45),this.inc=u(20,5,123,126,247,103,129,79),this.mask=u(0,0,0,0,255,255,255,255),this.state=d(this.inc),this.next(),m(this.state,this.mask),e=l(void 0!==e?e>>>0:4294967295*Math.random()>>>0),function(e,t){for(var n=0;n<8;n++)e[n]|=t[n]}(this.state,e),this.next()};T.prototype.next=function(){var e=d(this.state);(function(e,t){var n,r,s,o=new Array(16);for(n=0;n<16;n++)o[n]=0;for(n=0;n<8;n++){for(s=0,r=0;r<8;r++)s+=e[n]*t[r]+o[n+r],o[n+r]=s%i,s/=i;for(;r<16-n;r++)s+=o[n+r],o[n+r]=s%i,s/=i}for(n=0;n<8;n++)e[n]=o[n];o.slice(8,8)})(this.state,this.mul),f(this.state,this.inc);var t=d(e);y(t,18),g(t,e),y(t,27);var n=d(e);y(n,59),m(t,this.mask);var r=p(n),s=d(t);return function(e,t){if(t>64)throw new Error("ui64_rol: invalid number of bits to shift");var n,r=new Array(16);for(n=0;n<8;n++)r[n+8]=0,r[n]=e[n];var s=Math.floor(t/8),o=t%8;for(n=7-s;n>0;n--)r[n+s]=255&(r[n]<<o|r[n-1]>>>8-o);for(r[0+s]=r[0]<<o&255,n=0+s-1;n>=0;n--)r[n]=0;for(n=0;n<8;n++)e[n]=r[n];r.slice(8,8)}(s,32-r),y(t,r),g(t,s),p(t)};var w=new T,k=function(e,t){for(var n=[],r=0;r<e;r++)n[r]=w.next()%t;return n},P=0,I=0,N=function(){if(1===arguments.length&&"string"==typeof arguments[0])this.parse.apply(this,arguments);else if(arguments.length>=1&&"number"==typeof arguments[0])this.make.apply(this,arguments);else{if(arguments.length>=1)throw new Error("UUID: constructor: invalid arguments");for(var e=0;e<16;e++)this[e]=0}};return(N.prototype="undefined"!=typeof Uint8Array?new Uint8Array(16):s?s.alloc(16):new Array(16)).constructor=N,N.prototype.make=function(e){var t,n=this;if(1===e){var r=(new Date).getTime();r!==P?I=0:I++,P=r;var s,o=l(r);h(o,1e4),f(o,u(1,178,29,210,19,129,64,0)),I>0&&f(o,l(I)),s=S(o,8),n[3]=255&s,s=S(o,8),n[2]=255&s,s=S(o,8),n[1]=255&s,s=S(o,8),n[0]=255&s,s=S(o,8),n[5]=255&s,s=S(o,8),n[4]=255&s,s=S(o,8),n[7]=255&s,s=S(o,8),n[6]=15&s;var a=k(2,255);n[8]=a[0],n[9]=a[1];var i=k(6,255);for(i[0]|=1,i[0]|=2,t=0;t<6;t++)n[10+t]=i[t]}else if(4===e){var c=k(16,255);for(t=0;t<16;t++)this[t]=c[t]}else{if(3!==e&&5!==e)throw new Error("UUID: make: invalid version");var d="",p="object"==typeof arguments[1]&&arguments[1]instanceof N?arguments[1]:(new N).parse(arguments[1]);for(t=0;t<16;t++)d+=String.fromCharCode(p[t]);d+=arguments[2];var m=3===e?A(d):E(d);for(t=0;t<16;t++)n[t]=m.charCodeAt(t)}return n[6]&=15,n[6]|=e<<4,n[8]&=63,n[8]|=128,n},N.prototype.format=function(t){var r,s;return"z85"===t?r=function(e,t){if(t%4!=0)throw new Error("z85_encode: invalid input length (multiple of 4 expected)");for(var r="",s=0,o=0;s<t;)if(o=256*o+e[s++],s%4==0){for(var a=52200625;a>=1;){var i=Math.floor(o/a)%85;r+=n[i],a/=85}o=0}return r}(this,16):"b16"===t?(s=Array(32),e(this,0,15,!0,s,0),r=s.join("")):void 0!==t&&"std"!==t||(s=new Array(36),e(this,0,3,!1,s,0),s[8]="-",e(this,4,5,!1,s,9),s[13]="-",e(this,6,7,!1,s,14),s[18]="-",e(this,8,9,!1,s,19),s[23]="-",e(this,10,15,!1,s,24),r=s.join("")),r},N.prototype.toString=function(e){return this.format(e)},N.prototype.toJSON=function(){return this.format("std")},N.prototype.parse=function(e,n){if("string"!=typeof e)throw new Error("UUID: parse: invalid argument (type string expected)");if("z85"===n)!function(e,t){var n=e.length;if(n%5!=0)throw new Error("z85_decode: invalid input length (multiple of 5 expected)");void 0===t&&(t=new Array(4*n/5));for(var s=0,o=0,a=0;s<n;){var i=e.charCodeAt(s++)-32;if(i<0||i>=r.length)break;if(a=85*a+r[i],s%5==0){for(var u=16777216;u>=1;)t[o++]=Math.trunc(a/u%256),u/=256;a=0}}}(e,this);else if("b16"===n)t(e,0,35,this,0);else if(void 0===n||"std"===n){var s={nil:"00000000-0000-0000-0000-000000000000","ns:DNS":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","ns:URL":"6ba7b811-9dad-11d1-80b4-00c04fd430c8","ns:OID":"6ba7b812-9dad-11d1-80b4-00c04fd430c8","ns:X500":"6ba7b814-9dad-11d1-80b4-00c04fd430c8"};if(void 0!==s[e])e=s[e];else if(!e.match(/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/))throw new Error('UUID: parse: invalid string representation (expected "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")');t(e,0,7,this,0),t(e,9,12,this,4),t(e,14,17,this,6),t(e,19,22,this,8),t(e,24,35,this,10)}return this},N.prototype.export=function(){for(var e=Array(16),t=0;t<16;t++)e[t]=this[t];return e},N.prototype.import=function(e){if(!("object"==typeof e&&e instanceof Array))throw new Error("UUID: import: invalid argument (type Array expected)");if(16!==e.length)throw new Error("UUID: import: invalid argument (Array of length 16 expected)");for(var t=0;t<16;t++){if("number"!=typeof e[t])throw new Error("UUID: import: invalid array element #"+t+" (type Number expected)");if(!isFinite(e[t])||Math.floor(e[t])!==e[t])throw new Error("UUID: import: invalid array element #"+t+" (Number with integer value expected)");if(!(e[t]>=0&&e[t]<=255))throw new Error("UUID: import: invalid array element #"+t+" (Number with integer value in range 0...255 expected)");this[t]=e[t]}return this},N.prototype.compare=function(e){if("object"!=typeof e)throw new Error("UUID: compare: invalid argument (type UUID expected)");if(!(e instanceof N))throw new Error("UUID: compare: invalid argument (type UUID expected)");for(var t=0;t<16;t++){if(this[t]<e[t])return-1;if(this[t]>e[t])return 1}return 0},N.prototype.equal=function(e){return 0===this.compare(e)},N.prototype.fold=function(e){if(void 0===e)throw new Error("UUID: fold: invalid argument (number of fold operations expected)");if(e<1||e>4)throw new Error("UUID: fold: invalid argument (1-4 fold operations expected)");for(var t=16/Math.pow(2,e),n=new Array(t),r=0;r<t;r++){for(var s=0,o=0;r+o<16;o+=t)s^=this[r+o];n[r]=s}return n},N.PCG=T,N}()}.call(t,n,t,e),void 0===r||(e.exports=r)},6099:(e,t,n)=>{var r=n(4300).Buffer;!function(e){e.parser=function(e,t){return new o(e,t)},e.SAXParser=o,e.SAXStream=i,e.createStream=function(e,t){return new i(e,t)},e.MAX_BUFFER_LENGTH=65536;var t,s=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function o(t,n){if(!(this instanceof o))return new o(t,n);var r=this;!function(e){for(var t=0,n=s.length;t<n;t++)e[s[t]]=""}(r),r.q=r.c="",r.bufferCheckPosition=e.MAX_BUFFER_LENGTH,r.opt=n||{},r.opt.lowercase=r.opt.lowercase||r.opt.lowercasetags,r.looseCase=r.opt.lowercase?"toLowerCase":"toUpperCase",r.tags=[],r.closed=r.closedRoot=r.sawRoot=!1,r.tag=r.error=null,r.strict=!!t,r.noscript=!(!t&&!r.opt.noscript),r.state=T.BEGIN,r.strictEntities=r.opt.strictEntities,r.ENTITIES=r.strictEntities?Object.create(e.XML_ENTITIES):Object.create(e.ENTITIES),r.attribList=[],r.opt.xmlns&&(r.ns=Object.create(d)),r.trackPosition=!1!==r.opt.position,r.trackPosition&&(r.position=r.line=r.column=0),k(r,"onready")}e.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"],Object.create||(Object.create=function(e){function t(){}return t.prototype=e,new t}),Object.keys||(Object.keys=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t}),o.prototype={end:function(){_(this)},write:function(t){var n=this;if(this.error)throw this.error;if(n.closed)return O(n,"Cannot write after close. Assign an onready handler.");if(null===t)return _(n);"object"==typeof t&&(t=t.toString());for(var r=0,o="";o=B(t,r++),n.c=o,o;)switch(n.trackPosition&&(n.position++,"\n"===o?(n.line++,n.column=0):n.column++),n.state){case T.BEGIN:if(n.state=T.BEGIN_WHITESPACE,"\ufeff"===o)continue;M(n,o);continue;case T.BEGIN_WHITESPACE:M(n,o);continue;case T.TEXT:if(n.sawRoot&&!n.closedRoot){for(var a=r-1;o&&"<"!==o&&"&"!==o;)(o=B(t,r++))&&n.trackPosition&&(n.position++,"\n"===o?(n.line++,n.column=0):n.column++);n.textNode+=t.substring(a,r-1)}"<"!==o||n.sawRoot&&n.closedRoot&&!n.strict?(m(o)||n.sawRoot&&!n.closedRoot||x(n,"Text data outside of root node."),"&"===o?n.state=T.TEXT_ENTITY:n.textNode+=o):(n.state=T.OPEN_WAKA,n.startTagPosition=n.position);continue;case T.SCRIPT:"<"===o?n.state=T.SCRIPT_ENDING:n.script+=o;continue;case T.SCRIPT_ENDING:"/"===o?n.state=T.CLOSE_TAG:(n.script+="<"+o,n.state=T.SCRIPT);continue;case T.OPEN_WAKA:if("!"===o)n.state=T.SGML_DECL,n.sgmlDecl="";else if(m(o));else if(g(l,o))n.state=T.OPEN_TAG,n.tagName=o;else if("/"===o)n.state=T.CLOSE_TAG,n.tagName="";else if("?"===o)n.state=T.PROC_INST,n.procInstName=n.procInstBody="";else{if(x(n,"Unencoded <"),n.startTagPosition+1<n.position){var i=n.position-n.startTagPosition;o=new Array(i).join(" ")+o}n.textNode+="<"+o,n.state=T.TEXT}continue;case T.SGML_DECL:"[CDATA["===(n.sgmlDecl+o).toUpperCase()?(P(n,"onopencdata"),n.state=T.CDATA,n.sgmlDecl="",n.cdata=""):n.sgmlDecl+o==="--"?(n.state=T.COMMENT,n.comment="",n.sgmlDecl=""):"DOCTYPE"===(n.sgmlDecl+o).toUpperCase()?(n.state=T.DOCTYPE,(n.doctype||n.sawRoot)&&x(n,"Inappropriately located doctype declaration"),n.doctype="",n.sgmlDecl=""):">"===o?(P(n,"onsgmldeclaration",n.sgmlDecl),n.sgmlDecl="",n.state=T.TEXT):S(o)?(n.state=T.SGML_DECL_QUOTED,n.sgmlDecl+=o):n.sgmlDecl+=o;continue;case T.SGML_DECL_QUOTED:o===n.q&&(n.state=T.SGML_DECL,n.q=""),n.sgmlDecl+=o;continue;case T.DOCTYPE:">"===o?(n.state=T.TEXT,P(n,"ondoctype",n.doctype),n.doctype=!0):(n.doctype+=o,"["===o?n.state=T.DOCTYPE_DTD:S(o)&&(n.state=T.DOCTYPE_QUOTED,n.q=o));continue;case T.DOCTYPE_QUOTED:n.doctype+=o,o===n.q&&(n.q="",n.state=T.DOCTYPE);continue;case T.DOCTYPE_DTD:n.doctype+=o,"]"===o?n.state=T.DOCTYPE:S(o)&&(n.state=T.DOCTYPE_DTD_QUOTED,n.q=o);continue;case T.DOCTYPE_DTD_QUOTED:n.doctype+=o,o===n.q&&(n.state=T.DOCTYPE_DTD,n.q="");continue;case T.COMMENT:"-"===o?n.state=T.COMMENT_ENDING:n.comment+=o;continue;case T.COMMENT_ENDING:"-"===o?(n.state=T.COMMENT_ENDED,n.comment=N(n.opt,n.comment),n.comment&&P(n,"oncomment",n.comment),n.comment=""):(n.comment+="-"+o,n.state=T.COMMENT);continue;case T.COMMENT_ENDED:">"!==o?(x(n,"Malformed comment"),n.comment+="--"+o,n.state=T.COMMENT):n.state=T.TEXT;continue;case T.CDATA:"]"===o?n.state=T.CDATA_ENDING:n.cdata+=o;continue;case T.CDATA_ENDING:"]"===o?n.state=T.CDATA_ENDING_2:(n.cdata+="]"+o,n.state=T.CDATA);continue;case T.CDATA_ENDING_2:">"===o?(n.cdata&&P(n,"oncdata",n.cdata),P(n,"onclosecdata"),n.cdata="",n.state=T.TEXT):"]"===o?n.cdata+="]":(n.cdata+="]]"+o,n.state=T.CDATA);continue;case T.PROC_INST:"?"===o?n.state=T.PROC_INST_ENDING:m(o)?n.state=T.PROC_INST_BODY:n.procInstName+=o;continue;case T.PROC_INST_BODY:if(!n.procInstBody&&m(o))continue;"?"===o?n.state=T.PROC_INST_ENDING:n.procInstBody+=o;continue;case T.PROC_INST_ENDING:">"===o?(P(n,"onprocessinginstruction",{name:n.procInstName,body:n.procInstBody}),n.procInstName=n.procInstBody="",n.state=T.TEXT):(n.procInstBody+="?"+o,n.state=T.PROC_INST_BODY);continue;case T.OPEN_TAG:g(p,o)?n.tagName+=o:(C(n),">"===o?R(n):"/"===o?n.state=T.OPEN_TAG_SLASH:(m(o)||x(n,"Invalid character in tag name"),n.state=T.ATTRIB));continue;case T.OPEN_TAG_SLASH:">"===o?(R(n,!0),q(n)):(x(n,"Forward-slash in opening tag not followed by >"),n.state=T.ATTRIB);continue;case T.ATTRIB:if(m(o))continue;">"===o?R(n):"/"===o?n.state=T.OPEN_TAG_SLASH:g(l,o)?(n.attribName=o,n.attribValue="",n.state=T.ATTRIB_NAME):x(n,"Invalid attribute name");continue;case T.ATTRIB_NAME:"="===o?n.state=T.ATTRIB_VALUE:">"===o?(x(n,"Attribute without value"),n.attribValue=n.attribName,$(n),R(n)):m(o)?n.state=T.ATTRIB_NAME_SAW_WHITE:g(p,o)?n.attribName+=o:x(n,"Invalid attribute name");continue;case T.ATTRIB_NAME_SAW_WHITE:if("="===o)n.state=T.ATTRIB_VALUE;else{if(m(o))continue;x(n,"Attribute without value"),n.tag.attributes[n.attribName]="",n.attribValue="",P(n,"onattribute",{name:n.attribName,value:""}),n.attribName="",">"===o?R(n):g(l,o)?(n.attribName=o,n.state=T.ATTRIB_NAME):(x(n,"Invalid attribute name"),n.state=T.ATTRIB)}continue;case T.ATTRIB_VALUE:if(m(o))continue;S(o)?(n.q=o,n.state=T.ATTRIB_VALUE_QUOTED):(x(n,"Unquoted attribute value"),n.state=T.ATTRIB_VALUE_UNQUOTED,n.attribValue=o);continue;case T.ATTRIB_VALUE_QUOTED:if(o!==n.q){"&"===o?n.state=T.ATTRIB_VALUE_ENTITY_Q:n.attribValue+=o;continue}$(n),n.q="",n.state=T.ATTRIB_VALUE_CLOSED;continue;case T.ATTRIB_VALUE_CLOSED:m(o)?n.state=T.ATTRIB:">"===o?R(n):"/"===o?n.state=T.OPEN_TAG_SLASH:g(l,o)?(x(n,"No whitespace between attributes"),n.attribName=o,n.attribValue="",n.state=T.ATTRIB_NAME):x(n,"Invalid attribute name");continue;case T.ATTRIB_VALUE_UNQUOTED:if(!y(o)){"&"===o?n.state=T.ATTRIB_VALUE_ENTITY_U:n.attribValue+=o;continue}$(n),">"===o?R(n):n.state=T.ATTRIB;continue;case T.CLOSE_TAG:if(n.tagName)">"===o?q(n):g(p,o)?n.tagName+=o:n.script?(n.script+="</"+n.tagName,n.tagName="",n.state=T.SCRIPT):(m(o)||x(n,"Invalid tagname in closing tag"),n.state=T.CLOSE_TAG_SAW_WHITE);else{if(m(o))continue;v(l,o)?n.script?(n.script+="</"+o,n.state=T.SCRIPT):x(n,"Invalid tagname in closing tag."):n.tagName=o}continue;case T.CLOSE_TAG_SAW_WHITE:if(m(o))continue;">"===o?q(n):x(n,"Invalid characters in closing tag");continue;case T.TEXT_ENTITY:case T.ATTRIB_VALUE_ENTITY_Q:case T.ATTRIB_VALUE_ENTITY_U:var u,c;switch(n.state){case T.TEXT_ENTITY:u=T.TEXT,c="textNode";break;case T.ATTRIB_VALUE_ENTITY_Q:u=T.ATTRIB_VALUE_QUOTED,c="attribValue";break;case T.ATTRIB_VALUE_ENTITY_U:u=T.ATTRIB_VALUE_UNQUOTED,c="attribValue"}";"===o?(n[c]+=j(n),n.entity="",n.state=u):g(n.entity.length?h:f,o)?n.entity+=o:(x(n,"Invalid character in entity name"),n[c]+="&"+n.entity+o,n.entity="",n.state=u);continue;default:throw new Error(n,"Unknown state: "+n.state)}return n.position>=n.bufferCheckPosition&&function(t){for(var n=Math.max(e.MAX_BUFFER_LENGTH,10),r=0,o=0,a=s.length;o<a;o++){var i=t[s[o]].length;if(i>n)switch(s[o]){case"textNode":I(t);break;case"cdata":P(t,"oncdata",t.cdata),t.cdata="";break;case"script":P(t,"onscript",t.script),t.script="";break;default:O(t,"Max buffer length exceeded: "+s[o])}r=Math.max(r,i)}var u=e.MAX_BUFFER_LENGTH-r;t.bufferCheckPosition=u+t.position}(n),n},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){var e;I(e=this),""!==e.cdata&&(P(e,"oncdata",e.cdata),e.cdata=""),""!==e.script&&(P(e,"onscript",e.script),e.script="")}};try{t=n(2781).Stream}catch(e){t=function(){}}var a=e.EVENTS.filter((function(e){return"error"!==e&&"end"!==e}));function i(e,n){if(!(this instanceof i))return new i(e,n);t.apply(this),this._parser=new o(e,n),this.writable=!0,this.readable=!0;var r=this;this._parser.onend=function(){r.emit("end")},this._parser.onerror=function(e){r.emit("error",e),r._parser.error=null},this._decoder=null,a.forEach((function(e){Object.defineProperty(r,"on"+e,{get:function(){return r._parser["on"+e]},set:function(t){if(!t)return r.removeAllListeners(e),r._parser["on"+e]=t,t;r.on(e,t)},enumerable:!0,configurable:!1})}))}i.prototype=Object.create(t.prototype,{constructor:{value:i}}),i.prototype.write=function(e){if("function"==typeof r&&"function"==typeof r.isBuffer&&r.isBuffer(e)){if(!this._decoder){var t=n(1576).StringDecoder;this._decoder=new t("utf8")}e=this._decoder.write(e)}return this._parser.write(e.toString()),this.emit("data",e),!0},i.prototype.end=function(e){return e&&e.length&&this.write(e),this._parser.end(),!0},i.prototype.on=function(e,n){var r=this;return r._parser["on"+e]||-1===a.indexOf(e)||(r._parser["on"+e]=function(){var t=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);t.splice(0,0,e),r.emit.apply(r,t)}),t.prototype.on.call(r,e,n)};var u="http://www.w3.org/XML/1998/namespace",c="http://www.w3.org/2000/xmlns/",d={xml:u,xmlns:c},l=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,p=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,f=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,h=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function m(e){return" "===e||"\n"===e||"\r"===e||"\t"===e}function S(e){return'"'===e||"'"===e}function y(e){return">"===e||m(e)}function g(e,t){return e.test(t)}function v(e,t){return!g(e,t)}var b,E,A,T=0;for(var w in e.STATE={BEGIN:T++,BEGIN_WHITESPACE:T++,TEXT:T++,TEXT_ENTITY:T++,OPEN_WAKA:T++,SGML_DECL:T++,SGML_DECL_QUOTED:T++,DOCTYPE:T++,DOCTYPE_QUOTED:T++,DOCTYPE_DTD:T++,DOCTYPE_DTD_QUOTED:T++,COMMENT_STARTING:T++,COMMENT:T++,COMMENT_ENDING:T++,COMMENT_ENDED:T++,CDATA:T++,CDATA_ENDING:T++,CDATA_ENDING_2:T++,PROC_INST:T++,PROC_INST_BODY:T++,PROC_INST_ENDING:T++,OPEN_TAG:T++,OPEN_TAG_SLASH:T++,ATTRIB:T++,ATTRIB_NAME:T++,ATTRIB_NAME_SAW_WHITE:T++,ATTRIB_VALUE:T++,ATTRIB_VALUE_QUOTED:T++,ATTRIB_VALUE_CLOSED:T++,ATTRIB_VALUE_UNQUOTED:T++,ATTRIB_VALUE_ENTITY_Q:T++,ATTRIB_VALUE_ENTITY_U:T++,CLOSE_TAG:T++,CLOSE_TAG_SAW_WHITE:T++,SCRIPT:T++,SCRIPT_ENDING:T++},e.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},e.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(e.ENTITIES).forEach((function(t){var n=e.ENTITIES[t],r="number"==typeof n?String.fromCharCode(n):n;e.ENTITIES[t]=r})),e.STATE)e.STATE[e.STATE[w]]=w;function k(e,t,n){e[t]&&e[t](n)}function P(e,t,n){e.textNode&&I(e),k(e,t,n)}function I(e){e.textNode=N(e.opt,e.textNode),e.textNode&&k(e,"ontext",e.textNode),e.textNode=""}function N(e,t){return e.trim&&(t=t.trim()),e.normalize&&(t=t.replace(/\s+/g," ")),t}function O(e,t){return I(e),e.trackPosition&&(t+="\nLine: "+e.line+"\nColumn: "+e.column+"\nChar: "+e.c),t=new Error(t),e.error=t,k(e,"onerror",t),e}function _(e){return e.sawRoot&&!e.closedRoot&&x(e,"Unclosed root tag"),e.state!==T.BEGIN&&e.state!==T.BEGIN_WHITESPACE&&e.state!==T.TEXT&&O(e,"Unexpected end"),I(e),e.c="",e.closed=!0,k(e,"onend"),o.call(e,e.strict,e.opt),e}function x(e,t){if("object"!=typeof e||!(e instanceof o))throw new Error("bad call to strictFail");e.strict&&O(e,t)}function C(e){e.strict||(e.tagName=e.tagName[e.looseCase]());var t=e.tags[e.tags.length-1]||e,n=e.tag={name:e.tagName,attributes:{}};e.opt.xmlns&&(n.ns=t.ns),e.attribList.length=0,P(e,"onopentagstart",n)}function D(e,t){var n=e.indexOf(":")<0?["",e]:e.split(":"),r=n[0],s=n[1];return t&&"xmlns"===e&&(r="xmlns",s=""),{prefix:r,local:s}}function $(e){if(e.strict||(e.attribName=e.attribName[e.looseCase]()),-1!==e.attribList.indexOf(e.attribName)||e.tag.attributes.hasOwnProperty(e.attribName))e.attribName=e.attribValue="";else{if(e.opt.xmlns){var t=D(e.attribName,!0),n=t.prefix,r=t.local;if("xmlns"===n)if("xml"===r&&e.attribValue!==u)x(e,"xml: prefix must be bound to "+u+"\nActual: "+e.attribValue);else if("xmlns"===r&&e.attribValue!==c)x(e,"xmlns: prefix must be bound to "+c+"\nActual: "+e.attribValue);else{var s=e.tag,o=e.tags[e.tags.length-1]||e;s.ns===o.ns&&(s.ns=Object.create(o.ns)),s.ns[r]=e.attribValue}e.attribList.push([e.attribName,e.attribValue])}else e.tag.attributes[e.attribName]=e.attribValue,P(e,"onattribute",{name:e.attribName,value:e.attribValue});e.attribName=e.attribValue=""}}function R(e,t){if(e.opt.xmlns){var n=e.tag,r=D(e.tagName);n.prefix=r.prefix,n.local=r.local,n.uri=n.ns[r.prefix]||"",n.prefix&&!n.uri&&(x(e,"Unbound namespace prefix: "+JSON.stringify(e.tagName)),n.uri=r.prefix);var s=e.tags[e.tags.length-1]||e;n.ns&&s.ns!==n.ns&&Object.keys(n.ns).forEach((function(t){P(e,"onopennamespace",{prefix:t,uri:n.ns[t]})}));for(var o=0,a=e.attribList.length;o<a;o++){var i=e.attribList[o],u=i[0],c=i[1],d=D(u,!0),l=d.prefix,p=d.local,f=""===l?"":n.ns[l]||"",h={name:u,value:c,prefix:l,local:p,uri:f};l&&"xmlns"!==l&&!f&&(x(e,"Unbound namespace prefix: "+JSON.stringify(l)),h.uri=l),e.tag.attributes[u]=h,P(e,"onattribute",h)}e.attribList.length=0}e.tag.isSelfClosing=!!t,e.sawRoot=!0,e.tags.push(e.tag),P(e,"onopentag",e.tag),t||(e.noscript||"script"!==e.tagName.toLowerCase()?e.state=T.TEXT:e.state=T.SCRIPT,e.tag=null,e.tagName=""),e.attribName=e.attribValue="",e.attribList.length=0}function q(e){if(!e.tagName)return x(e,"Weird empty close tag."),e.textNode+="</>",void(e.state=T.TEXT);if(e.script){if("script"!==e.tagName)return e.script+="</"+e.tagName+">",e.tagName="",void(e.state=T.SCRIPT);P(e,"onscript",e.script),e.script=""}var t=e.tags.length,n=e.tagName;e.strict||(n=n[e.looseCase]());for(var r=n;t--&&e.tags[t].name!==r;)x(e,"Unexpected close tag");if(t<0)return x(e,"Unmatched closing tag: "+e.tagName),e.textNode+="</"+e.tagName+">",void(e.state=T.TEXT);e.tagName=n;for(var s=e.tags.length;s-- >t;){var o=e.tag=e.tags.pop();e.tagName=e.tag.name,P(e,"onclosetag",e.tagName);var a={};for(var i in o.ns)a[i]=o.ns[i];var u=e.tags[e.tags.length-1]||e;e.opt.xmlns&&o.ns!==u.ns&&Object.keys(o.ns).forEach((function(t){var n=o.ns[t];P(e,"onclosenamespace",{prefix:t,uri:n})}))}0===t&&(e.closedRoot=!0),e.tagName=e.attribValue=e.attribName="",e.attribList.length=0,e.state=T.TEXT}function j(e){var t,n=e.entity,r=n.toLowerCase(),s="";return e.ENTITIES[n]?e.ENTITIES[n]:e.ENTITIES[r]?e.ENTITIES[r]:("#"===(n=r).charAt(0)&&("x"===n.charAt(1)?(n=n.slice(2),s=(t=parseInt(n,16)).toString(16)):(n=n.slice(1),s=(t=parseInt(n,10)).toString(10))),n=n.replace(/^0+/,""),isNaN(t)||s.toLowerCase()!==n?(x(e,"Invalid character entity"),"&"+e.entity+";"):String.fromCodePoint(t))}function M(e,t){"<"===t?(e.state=T.OPEN_WAKA,e.startTagPosition=e.position):m(t)||(x(e,"Non-whitespace before first tag."),e.textNode=t,e.state=T.TEXT)}function B(e,t){var n="";return t<e.length&&(n=e.charAt(t)),n}T=e.STATE,String.fromCodePoint||(b=String.fromCharCode,E=Math.floor,A=function(){var e,t,n=16384,r=[],s=-1,o=arguments.length;if(!o)return"";for(var a="";++s<o;){var i=Number(arguments[s]);if(!isFinite(i)||i<0||i>1114111||E(i)!==i)throw RangeError("Invalid code point: "+i);i<=65535?r.push(i):(e=55296+((i-=65536)>>10),t=i%1024+56320,r.push(e,t)),(s+1===o||r.length>n)&&(a+=b.apply(null,r),r.length=0)}return a},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:A,configurable:!0,writable:!0}):String.fromCodePoint=A)}(t)},540:function(e,t){!function(e){"use strict";function t(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];if(t.length>1){t[0]=t[0].slice(0,-1);for(var r=t.length-1,s=1;s<r;++s)t[s]=t[s].slice(1,-1);return t[r]=t[r].slice(1),t.join("")}return t[0]}function n(e){return"(?:"+e+")"}function r(e){return void 0===e?"undefined":null===e?"null":Object.prototype.toString.call(e).split(" ").pop().split("]").shift().toLowerCase()}function s(e){return e.toUpperCase()}function o(e){var r="[A-Za-z]",s="[0-9]",o=t(s,"[A-Fa-f]"),a=n(n("%[EFef]"+o+"%"+o+o+"%"+o+o)+"|"+n("%[89A-Fa-f]"+o+"%"+o+o)+"|"+n("%"+o+o)),i="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",u=t("[\\:\\/\\?\\#\\[\\]\\@]",i),c=e?"[\\uE000-\\uF8FF]":"[]",d=t(r,s,"[\\-\\.\\_\\~]",e?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]"),l=n(r+t(r,s,"[\\+\\-\\.]")+"*"),p=n(n(a+"|"+t(d,i,"[\\:]"))+"*"),f=(n(n("25[0-5]")+"|"+n("2[0-4]"+s)+"|"+n("1"+s+s)+"|"+n("[1-9]"+s)+"|"+s),n(n("25[0-5]")+"|"+n("2[0-4]"+s)+"|"+n("1"+s+s)+"|"+n("0?[1-9]"+s)+"|0?0?"+s)),h=n(f+"\\."+f+"\\."+f+"\\."+f),m=n(o+"{1,4}"),S=n(n(m+"\\:"+m)+"|"+h),y=n(n(m+"\\:")+"{6}"+S),g=n("\\:\\:"+n(m+"\\:")+"{5}"+S),v=n(n(m)+"?\\:\\:"+n(m+"\\:")+"{4}"+S),b=n(n(n(m+"\\:")+"{0,1}"+m)+"?\\:\\:"+n(m+"\\:")+"{3}"+S),E=n(n(n(m+"\\:")+"{0,2}"+m)+"?\\:\\:"+n(m+"\\:")+"{2}"+S),A=n(n(n(m+"\\:")+"{0,3}"+m)+"?\\:\\:"+m+"\\:"+S),T=n(n(n(m+"\\:")+"{0,4}"+m)+"?\\:\\:"+S),w=n(n(n(m+"\\:")+"{0,5}"+m)+"?\\:\\:"+m),k=n(n(n(m+"\\:")+"{0,6}"+m)+"?\\:\\:"),P=n([y,g,v,b,E,A,T,w,k].join("|")),I=n(n(d+"|"+a)+"+"),N=(n(P+"\\%25"+I),n(P+n("\\%25|\\%(?!"+o+"{2})")+I)),O=n("[vV]"+o+"+\\."+t(d,i,"[\\:]")+"+"),_=n("\\["+n(N+"|"+P+"|"+O)+"\\]"),x=n(n(a+"|"+t(d,i))+"*"),C=n(_+"|"+h+"(?!"+x+")|"+x),D=n(s+"*"),$=n(n(p+"@")+"?"+C+n("\\:"+D)+"?"),R=n(a+"|"+t(d,i,"[\\:\\@]")),q=n(R+"*"),j=n(R+"+"),M=n(n(a+"|"+t(d,i,"[\\@]"))+"+"),B=n(n("\\/"+q)+"*"),G=n("\\/"+n(j+B)+"?"),L=n(M+B),F=n(j+B),V="(?!"+R+")",U=(n(B+"|"+G+"|"+L+"|"+F+"|"+V),n(n(R+"|"+t("[\\/\\?]",c))+"*")),J=n(n(R+"|[\\/\\?]")+"*"),H=n(n("\\/\\/"+$+B)+"|"+G+"|"+F+"|"+V),K=n(l+"\\:"+H+n("\\?"+U)+"?"+n("\\#"+J)+"?"),W=n(n("\\/\\/"+$+B)+"|"+G+"|"+L+"|"+V),X=n(W+n("\\?"+U)+"?"+n("\\#"+J)+"?");return n(K+"|"+X),n(l+"\\:"+H+n("\\?"+U)+"?"),n(n("\\/\\/("+n("("+p+")@")+"?("+C+")"+n("\\:("+D+")")+"?)")+"?("+B+"|"+G+"|"+F+"|"+V+")"),n("\\?("+U+")"),n("\\#("+J+")"),n(n("\\/\\/("+n("("+p+")@")+"?("+C+")"+n("\\:("+D+")")+"?)")+"?("+B+"|"+G+"|"+L+"|"+V+")"),n("\\?("+U+")"),n("\\#("+J+")"),n(n("\\/\\/("+n("("+p+")@")+"?("+C+")"+n("\\:("+D+")")+"?)")+"?("+B+"|"+G+"|"+F+"|"+V+")"),n("\\?("+U+")"),n("\\#("+J+")"),n("("+p+")@"),n("\\:("+D+")"),{NOT_SCHEME:new RegExp(t("[^]",r,s,"[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(t("[^\\%\\:]",d,i),"g"),NOT_HOST:new RegExp(t("[^\\%\\[\\]\\:]",d,i),"g"),NOT_PATH:new RegExp(t("[^\\%\\/\\:\\@]",d,i),"g"),NOT_PATH_NOSCHEME:new RegExp(t("[^\\%\\/\\@]",d,i),"g"),NOT_QUERY:new RegExp(t("[^\\%]",d,i,"[\\:\\@\\/\\?]",c),"g"),NOT_FRAGMENT:new RegExp(t("[^\\%]",d,i,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(t("[^]",d,i),"g"),UNRESERVED:new RegExp(d,"g"),OTHER_CHARS:new RegExp(t("[^\\%]",d,u),"g"),PCT_ENCODED:new RegExp(a,"g"),IPV4ADDRESS:new RegExp("^("+h+")$"),IPV6ADDRESS:new RegExp("^\\[?("+P+")"+n(n("\\%25|\\%(?!"+o+"{2})")+"("+I+")")+"?\\]?$")}}var a=o(!1),i=o(!0),u=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,s=!1,o=void 0;try{for(var a,i=e[Symbol.iterator]();!(r=(a=i.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){s=!0,o=e}finally{try{!r&&i.return&&i.return()}finally{if(s)throw o}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},c=2147483647,d=36,l=/^xn--/,p=/[^\0-\x7E]/,f=/[\x2E\u3002\uFF0E\uFF61]/g,h={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},m=Math.floor,S=String.fromCharCode;function y(e){throw new RangeError(h[e])}function g(e,t){var n=e.split("@"),r="";return n.length>1&&(r=n[0]+"@",e=n[1]),r+function(e,t){for(var n=[],r=e.length;r--;)n[r]=t(e[r]);return n}((e=e.replace(f,".")).split("."),t).join(".")}function v(e){for(var t=[],n=0,r=e.length;n<r;){var s=e.charCodeAt(n++);if(s>=55296&&s<=56319&&n<r){var o=e.charCodeAt(n++);56320==(64512&o)?t.push(((1023&s)<<10)+(1023&o)+65536):(t.push(s),n--)}else t.push(s)}return t}var b=function(e,t){return e+22+75*(e<26)-((0!=t)<<5)},E=function(e,t,n){var r=0;for(e=n?m(e/700):e>>1,e+=m(e/t);e>455;r+=d)e=m(e/35);return m(r+36*e/(e+38))},A=function(e){var t,n=[],r=e.length,s=0,o=128,a=72,i=e.lastIndexOf("-");i<0&&(i=0);for(var u=0;u<i;++u)e.charCodeAt(u)>=128&&y("not-basic"),n.push(e.charCodeAt(u));for(var l=i>0?i+1:0;l<r;){for(var p=s,f=1,h=d;;h+=d){l>=r&&y("invalid-input");var S=(t=e.charCodeAt(l++))-48<10?t-22:t-65<26?t-65:t-97<26?t-97:d;(S>=d||S>m((c-s)/f))&&y("overflow"),s+=S*f;var g=h<=a?1:h>=a+26?26:h-a;if(S<g)break;var v=d-g;f>m(c/v)&&y("overflow"),f*=v}var b=n.length+1;a=E(s-p,b,0==p),m(s/b)>c-o&&y("overflow"),o+=m(s/b),s%=b,n.splice(s++,0,o)}return String.fromCodePoint.apply(String,n)},T=function(e){var t=[],n=(e=v(e)).length,r=128,s=0,o=72,a=!0,i=!1,u=void 0;try{for(var l,p=e[Symbol.iterator]();!(a=(l=p.next()).done);a=!0){var f=l.value;f<128&&t.push(S(f))}}catch(e){i=!0,u=e}finally{try{!a&&p.return&&p.return()}finally{if(i)throw u}}var h=t.length,g=h;for(h&&t.push("-");g<n;){var A=c,T=!0,w=!1,k=void 0;try{for(var P,I=e[Symbol.iterator]();!(T=(P=I.next()).done);T=!0){var N=P.value;N>=r&&N<A&&(A=N)}}catch(e){w=!0,k=e}finally{try{!T&&I.return&&I.return()}finally{if(w)throw k}}var O=g+1;A-r>m((c-s)/O)&&y("overflow"),s+=(A-r)*O,r=A;var _=!0,x=!1,C=void 0;try{for(var D,$=e[Symbol.iterator]();!(_=(D=$.next()).done);_=!0){var R=D.value;if(R<r&&++s>c&&y("overflow"),R==r){for(var q=s,j=d;;j+=d){var M=j<=o?1:j>=o+26?26:j-o;if(q<M)break;var B=q-M,G=d-M;t.push(S(b(M+B%G,0))),q=m(B/G)}t.push(S(b(q,0))),o=E(s,O,g==h),s=0,++g}}}catch(e){x=!0,C=e}finally{try{!_&&$.return&&$.return()}finally{if(x)throw C}}++s,++r}return t.join("")},w=function(e){return g(e,(function(e){return p.test(e)?"xn--"+T(e):e}))},k=function(e){return g(e,(function(e){return l.test(e)?A(e.slice(4).toLowerCase()):e}))},P={};function I(e){var t=e.charCodeAt(0);return t<16?"%0"+t.toString(16).toUpperCase():t<128?"%"+t.toString(16).toUpperCase():t<2048?"%"+(t>>6|192).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase():"%"+(t>>12|224).toString(16).toUpperCase()+"%"+(t>>6&63|128).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase()}function N(e){for(var t="",n=0,r=e.length;n<r;){var s=parseInt(e.substr(n+1,2),16);if(s<128)t+=String.fromCharCode(s),n+=3;else if(s>=194&&s<224){if(r-n>=6){var o=parseInt(e.substr(n+4,2),16);t+=String.fromCharCode((31&s)<<6|63&o)}else t+=e.substr(n,6);n+=6}else if(s>=224){if(r-n>=9){var a=parseInt(e.substr(n+4,2),16),i=parseInt(e.substr(n+7,2),16);t+=String.fromCharCode((15&s)<<12|(63&a)<<6|63&i)}else t+=e.substr(n,9);n+=9}else t+=e.substr(n,3),n+=3}return t}function O(e,t){function n(e){var n=N(e);return n.match(t.UNRESERVED)?n:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,n).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,n).replace(t.NOT_USERINFO,I).replace(t.PCT_ENCODED,s)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,n).toLowerCase().replace(t.NOT_HOST,I).replace(t.PCT_ENCODED,s)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,n).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,I).replace(t.PCT_ENCODED,s)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,n).replace(t.NOT_QUERY,I).replace(t.PCT_ENCODED,s)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,n).replace(t.NOT_FRAGMENT,I).replace(t.PCT_ENCODED,s)),e}function _(e){return e.replace(/^0*(.*)/,"$1")||"0"}function x(e,t){var n=e.match(t.IPV4ADDRESS)||[],r=u(n,2)[1];return r?r.split(".").map(_).join("."):e}function C(e,t){var n=e.match(t.IPV6ADDRESS)||[],r=u(n,3),s=r[1],o=r[2];if(s){for(var a=s.toLowerCase().split("::").reverse(),i=u(a,2),c=i[0],d=i[1],l=d?d.split(":").map(_):[],p=c.split(":").map(_),f=t.IPV4ADDRESS.test(p[p.length-1]),h=f?7:8,m=p.length-h,S=Array(h),y=0;y<h;++y)S[y]=l[y]||p[m+y]||"";f&&(S[h-1]=x(S[h-1],t));var g=S.reduce((function(e,t,n){if(!t||"0"===t){var r=e[e.length-1];r&&r.index+r.length===n?r.length++:e.push({index:n,length:1})}return e}),[]).sort((function(e,t){return t.length-e.length}))[0],v=void 0;if(g&&g.length>1){var b=S.slice(0,g.index),E=S.slice(g.index+g.length);v=b.join(":")+"::"+E.join(":")}else v=S.join(":");return o&&(v+="%"+o),v}return e}var D=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,$=void 0==="".match(/(){0}/)[1];function R(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={},r=!1!==t.iri?i:a;"suffix"===t.reference&&(e=(t.scheme?t.scheme+":":"")+"//"+e);var s=e.match(D);if(s){$?(n.scheme=s[1],n.userinfo=s[3],n.host=s[4],n.port=parseInt(s[5],10),n.path=s[6]||"",n.query=s[7],n.fragment=s[8],isNaN(n.port)&&(n.port=s[5])):(n.scheme=s[1]||void 0,n.userinfo=-1!==e.indexOf("@")?s[3]:void 0,n.host=-1!==e.indexOf("//")?s[4]:void 0,n.port=parseInt(s[5],10),n.path=s[6]||"",n.query=-1!==e.indexOf("?")?s[7]:void 0,n.fragment=-1!==e.indexOf("#")?s[8]:void 0,isNaN(n.port)&&(n.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?s[4]:void 0)),n.host&&(n.host=C(x(n.host,r),r)),void 0!==n.scheme||void 0!==n.userinfo||void 0!==n.host||void 0!==n.port||n.path||void 0!==n.query?void 0===n.scheme?n.reference="relative":void 0===n.fragment?n.reference="absolute":n.reference="uri":n.reference="same-document",t.reference&&"suffix"!==t.reference&&t.reference!==n.reference&&(n.error=n.error||"URI is not a "+t.reference+" reference.");var o=P[(t.scheme||n.scheme||"").toLowerCase()];if(t.unicodeSupport||o&&o.unicodeSupport)O(n,r);else{if(n.host&&(t.domainHost||o&&o.domainHost))try{n.host=w(n.host.replace(r.PCT_ENCODED,N).toLowerCase())}catch(e){n.error=n.error||"Host's domain name can not be converted to ASCII via punycode: "+e}O(n,a)}o&&o.parse&&o.parse(n,t)}else n.error=n.error||"URI can not be parsed.";return n}function q(e,t){var n=!1!==t.iri?i:a,r=[];return void 0!==e.userinfo&&(r.push(e.userinfo),r.push("@")),void 0!==e.host&&r.push(C(x(String(e.host),n),n).replace(n.IPV6ADDRESS,(function(e,t,n){return"["+t+(n?"%25"+n:"")+"]"}))),"number"!=typeof e.port&&"string"!=typeof e.port||(r.push(":"),r.push(String(e.port))),r.length?r.join(""):void 0}var j=/^\.\.?\//,M=/^\/\.(\/|$)/,B=/^\/\.\.(\/|$)/,G=/^\/?(?:.|\n)*?(?=\/|$)/;function L(e){for(var t=[];e.length;)if(e.match(j))e=e.replace(j,"");else if(e.match(M))e=e.replace(M,"/");else if(e.match(B))e=e.replace(B,"/"),t.pop();else if("."===e||".."===e)e="";else{var n=e.match(G);if(!n)throw new Error("Unexpected dot segment condition");var r=n[0];e=e.slice(r.length),t.push(r)}return t.join("")}function F(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.iri?i:a,r=[],s=P[(t.scheme||e.scheme||"").toLowerCase()];if(s&&s.serialize&&s.serialize(e,t),e.host)if(n.IPV6ADDRESS.test(e.host));else if(t.domainHost||s&&s.domainHost)try{e.host=t.iri?k(e.host):w(e.host.replace(n.PCT_ENCODED,N).toLowerCase())}catch(n){e.error=e.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+n}O(e,n),"suffix"!==t.reference&&e.scheme&&(r.push(e.scheme),r.push(":"));var o=q(e,t);if(void 0!==o&&("suffix"!==t.reference&&r.push("//"),r.push(o),e.path&&"/"!==e.path.charAt(0)&&r.push("/")),void 0!==e.path){var u=e.path;t.absolutePath||s&&s.absolutePath||(u=L(u)),void 0===o&&(u=u.replace(/^\/\//,"/%2F")),r.push(u)}return void 0!==e.query&&(r.push("?"),r.push(e.query)),void 0!==e.fragment&&(r.push("#"),r.push(e.fragment)),r.join("")}function V(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r={};return arguments[3]||(e=R(F(e,n),n),t=R(F(t,n),n)),!(n=n||{}).tolerant&&t.scheme?(r.scheme=t.scheme,r.userinfo=t.userinfo,r.host=t.host,r.port=t.port,r.path=L(t.path||""),r.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(r.userinfo=t.userinfo,r.host=t.host,r.port=t.port,r.path=L(t.path||""),r.query=t.query):(t.path?("/"===t.path.charAt(0)?r.path=L(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?r.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:r.path=t.path:r.path="/"+t.path,r.path=L(r.path)),r.query=t.query):(r.path=e.path,void 0!==t.query?r.query=t.query:r.query=e.query),r.userinfo=e.userinfo,r.host=e.host,r.port=e.port),r.scheme=e.scheme),r.fragment=t.fragment,r}function U(e,t){return e&&e.toString().replace(t&&t.iri?i.PCT_ENCODED:a.PCT_ENCODED,N)}var J={scheme:"http",domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,t){var n="https"===String(e.scheme).toLowerCase();return e.port!==(n?443:80)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},H={scheme:"https",domainHost:J.domainHost,parse:J.parse,serialize:J.serialize};function K(e){return"boolean"==typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}var W={scheme:"ws",domainHost:!0,parse:function(e,t){var n=e;return n.secure=K(n),n.resourceName=(n.path||"/")+(n.query?"?"+n.query:""),n.path=void 0,n.query=void 0,n},serialize:function(e,t){if(e.port!==(K(e)?443:80)&&""!==e.port||(e.port=void 0),"boolean"==typeof e.secure&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){var n=e.resourceName.split("?"),r=u(n,2),s=r[0],o=r[1];e.path=s&&"/"!==s?s:void 0,e.query=o,e.resourceName=void 0}return e.fragment=void 0,e}},X={scheme:"wss",domainHost:W.domainHost,parse:W.parse,serialize:W.serialize},Y={},z="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",Z="[0-9A-Fa-f]",Q=n(n("%[EFef]"+Z+"%"+Z+Z+"%"+Z+Z)+"|"+n("%[89A-Fa-f]"+Z+"%"+Z+Z)+"|"+n("%"+Z+Z)),ee=t("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),te=new RegExp(z,"g"),ne=new RegExp(Q,"g"),re=new RegExp(t("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',ee),"g"),se=new RegExp(t("[^]",z,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),oe=se;function ae(e){var t=N(e);return t.match(te)?t:e}var ie={scheme:"mailto",parse:function(e,t){var n=e,r=n.to=n.path?n.path.split(","):[];if(n.path=void 0,n.query){for(var s=!1,o={},a=n.query.split("&"),i=0,u=a.length;i<u;++i){var c=a[i].split("=");switch(c[0]){case"to":for(var d=c[1].split(","),l=0,p=d.length;l<p;++l)r.push(d[l]);break;case"subject":n.subject=U(c[1],t);break;case"body":n.body=U(c[1],t);break;default:s=!0,o[U(c[0],t)]=U(c[1],t)}}s&&(n.headers=o)}n.query=void 0;for(var f=0,h=r.length;f<h;++f){var m=r[f].split("@");if(m[0]=U(m[0]),t.unicodeSupport)m[1]=U(m[1],t).toLowerCase();else try{m[1]=w(U(m[1],t).toLowerCase())}catch(e){n.error=n.error||"Email address's domain name can not be converted to ASCII via punycode: "+e}r[f]=m.join("@")}return n},serialize:function(e,t){var n,r=e,o=null!=(n=e.to)?n instanceof Array?n:"number"!=typeof n.length||n.split||n.setInterval||n.call?[n]:Array.prototype.slice.call(n):[];if(o){for(var a=0,i=o.length;a<i;++a){var u=String(o[a]),c=u.lastIndexOf("@"),d=u.slice(0,c).replace(ne,ae).replace(ne,s).replace(re,I),l=u.slice(c+1);try{l=t.iri?k(l):w(U(l,t).toLowerCase())}catch(e){r.error=r.error||"Email address's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+e}o[a]=d+"@"+l}r.path=o.join(",")}var p=e.headers=e.headers||{};e.subject&&(p.subject=e.subject),e.body&&(p.body=e.body);var f=[];for(var h in p)p[h]!==Y[h]&&f.push(h.replace(ne,ae).replace(ne,s).replace(se,I)+"="+p[h].replace(ne,ae).replace(ne,s).replace(oe,I));return f.length&&(r.query=f.join("&")),r}},ue=/^([^\:]+)\:(.*)/,ce={scheme:"urn",parse:function(e,t){var n=e.path&&e.path.match(ue),r=e;if(n){var s=t.scheme||r.scheme||"urn",o=n[1].toLowerCase(),a=n[2],i=s+":"+(t.nid||o),u=P[i];r.nid=o,r.nss=a,r.path=void 0,u&&(r=u.parse(r,t))}else r.error=r.error||"URN can not be parsed.";return r},serialize:function(e,t){var n=t.scheme||e.scheme||"urn",r=e.nid,s=n+":"+(t.nid||r),o=P[s];o&&(e=o.serialize(e,t));var a=e,i=e.nss;return a.path=(r||t.nid)+":"+i,a}},de=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,le={scheme:"urn:uuid",parse:function(e,t){var n=e;return n.uuid=n.nss,n.nss=void 0,t.tolerant||n.uuid&&n.uuid.match(de)||(n.error=n.error||"UUID is not valid."),n},serialize:function(e,t){var n=e;return n.nss=(e.uuid||"").toLowerCase(),n}};P[J.scheme]=J,P[H.scheme]=H,P[W.scheme]=W,P[X.scheme]=X,P[ie.scheme]=ie,P[ce.scheme]=ce,P[le.scheme]=le,e.SCHEMES=P,e.pctEncChar=I,e.pctDecChars=N,e.parse=R,e.removeDotSegments=L,e.serialize=F,e.resolveComponents=V,e.resolve=function(e,t,n){var r=function(e,t){var n=e;if(t)for(var r in t)n[r]=t[r];return n}({scheme:"null"},n);return F(V(R(e,r),R(t,r),r,!0),r)},e.normalize=function(e,t){return"string"==typeof e?e=F(R(e,t),t):"object"===r(e)&&(e=R(F(e,t),t)),e},e.equal=function(e,t,n){return"string"==typeof e?e=F(R(e,n),n):"object"===r(e)&&(e=F(e,n)),"string"==typeof t?t=F(R(t,n),n):"object"===r(t)&&(t=F(t,n)),e===t},e.escapeComponent=function(e,t){return e&&e.toString().replace(t&&t.iri?i.ESCAPE:a.ESCAPE,I)},e.unescapeComponent=U,Object.defineProperty(e,"__esModule",{value:!0})}(t)},735:e=>{e.exports={utf8ByteArrayToString:function(e){for(var t=[],n=0,r=0;n<e.length;){var s=e[n++];if(s<128)t[r++]=String.fromCharCode(s);else if(s>191&&s<224){var o=e[n++];t[r++]=String.fromCharCode((31&s)<<6|63&o)}else if(s>239&&s<365){var a=((7&s)<<18|(63&(o=e[n++]))<<12|(63&(i=e[n++]))<<6|63&e[n++])-65536;t[r++]=String.fromCharCode(55296+(a>>10)),t[r++]=String.fromCharCode(56320+(1023&a))}else{o=e[n++];var i=e[n++];t[r++]=String.fromCharCode((15&s)<<12|(63&o)<<6|63&i)}}return t.join("")},stringToUtf8ByteArray:function(e){for(var t=[],n=0,r=0;r<e.length;r++){var s=e.charCodeAt(r);s<128?t[n++]=s:s<2048?(t[n++]=s>>6|192,t[n++]=63&s|128):55296==(64512&s)&&r+1<e.length&&56320==(64512&e.charCodeAt(r+1))?(s=65536+((1023&s)<<10)+(1023&e.charCodeAt(++r)),t[n++]=s>>18|240,t[n++]=s>>12&63|128,t[n++]=s>>6&63|128,t[n++]=63&s|128):(t[n++]=s>>12|224,t[n++]=s>>6&63|128,t[n++]=63&s|128)}return t}}},3528:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>U});const r="xregexp",s={astral:!1,namespacing:!0},o={};let a={},i={};const u=[],c="default",d="class",l={default:/\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/,class:/\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/},p=/\$(?:\{([^\}]+)\}|<([^>]+)>|(\d\d?|[\s\S]?))/g,f=void 0===/()??/.exec("")[1],h=void 0!==/x/.flags;function m(e){let t=!0;try{new RegExp("",e),"y"===e&&".."===".a".replace(new RegExp("a","gy"),".")&&(t=!1)}catch(e){t=!1}return t}const S=m("d"),y=m("s"),g=m("u"),v=m("y"),b={d:S,g:!0,i:!0,m:!0,s:y,u:g,y:v},E=y?/[^dgimsuy]+/g:/[^dgimuy]+/g;function A(e,t,n,s,o){if(e[r]={captureNames:t},o)return e;if(e.__proto__)e.__proto__=q.prototype;else for(const t in q.prototype)e[t]=q.prototype[t];return e[r].source=n,e[r].flags=s?s.split("").sort().join(""):s,e}function T(e){return e.replace(/([\s\S])(?=[\s\S]*\1)/g,"")}function w(e,t){if(!q.isRegExp(e))throw new TypeError("Type RegExp expected");const n=e[r]||{};let s=function(e){return h?e.flags:/\/([a-z]*)$/i.exec(RegExp.prototype.toString.call(e))[1]}(e),o="",a="",i=null,u=null;return(t=t||{}).removeG&&(a+="g"),t.removeY&&(a+="y"),a&&(s=s.replace(new RegExp(`[${a}]+`,"g"),"")),t.addG&&(o+="g"),t.addY&&(o+="y"),o&&(s=T(s+o)),t.isInternalOnly||(void 0!==n.source&&(i=n.source),null!=n.flags&&(u=o?T(n.flags+o):n.flags)),A(new RegExp(t.source||e.source,s),function(e){return!(!e[r]||!e[r].captureNames)}(e)?n.captureNames.slice(0):null,i,u,t.isInternalOnly)}function k(e){return parseInt(e,16)}function P(e,t,n){const r=e.index+e[0].length,s=e.input[e.index-1],o=e.input[r];return/^[()|]$/.test(s)||/^[()|]$/.test(o)||0===e.index||r===e.input.length||/\(\?(?:[:=!]|<[=!])$/.test(e.input.substring(e.index-4,e.index))||function(e,t,n){const r="\\(\\?#[^)]*\\)",s="[?*+]|{\\d+(?:,\\d*)?}";return(n.includes("x")?new RegExp(`^(?:\\s|#[^#\\n]*|${r})*(?:${s})`):new RegExp(`^(?:${r})*(?:${s})`)).test(e.slice(t))}(e.input,r,n)?"":"(?:)"}function I(e){return parseInt(e,10).toString(16)}function N(e,t){return Object.prototype.toString.call(e)===`[object ${t}]`}function O(e){if(null==e)throw new TypeError("Cannot convert null or undefined to object");return e}function _(e){for(;e.length<4;)e=`0${e}`;return e}function x(e){const t={};return N(e,"String")?(q.forEach(e,/[^\s,]+/,(e=>{t[e]=!0})),t):e}function C(e){if(!/^[\w$]$/.test(e))throw new Error("Flag must be a single character A-Za-z0-9_$");b[e]=!0}function D(e,t,n,r,s){let o=u.length;const a=e[n];let i,c,d=null;for(;o--;)if(c=u[o],!(c.leadChar&&c.leadChar!==a||c.scope!==r&&"all"!==c.scope||c.flag&&!t.includes(c.flag))&&(i=q.exec(e,c.regex,n,"sticky"),i)){d={matchLength:i[0].length,output:c.handler.call(s,i,r,t),reparse:c.reparse};break}return d}function $(e){s.astral=e}function R(e){s.namespacing=e}function q(e,t){if(q.isRegExp(e)){if(void 0!==t)throw new TypeError("Cannot supply flags when copying a RegExp");return w(e)}if(e=void 0===e?"":String(e),t=void 0===t?"":String(t),q.isInstalled("astral")&&!t.includes("A")&&(t+="A"),i[e]||(i[e]={}),!i[e][t]){const n={hasNamedCapture:!1,captureNames:[]};let r,s=c,o="",a=0;const u=function(e,t){if(T(t)!==t)throw new SyntaxError(`Invalid duplicate regex flag ${t}`);e=e.replace(/^\(\?([\w$]+)\)/,((e,n)=>{if(/[dgy]/.test(n))throw new SyntaxError(`Cannot use flags dgy in mode modifier ${e}`);return t=T(t+n),""}));for(const e of t)if(!b[e])throw new SyntaxError(`Unknown regex flag ${e}`);return{pattern:e,flags:t}}(e,t);let p=u.pattern;const f=u.flags;for(;a<p.length;){do{r=D(p,f,a,s,n),r&&r.reparse&&(p=p.slice(0,a)+r.output+p.slice(a+r.matchLength))}while(r&&r.reparse);if(r)o+=r.output,a+=r.matchLength||1;else{const[e]=q.exec(p,l[s],a,"sticky");o+=e,a+=e.length,"["===e&&s===c?s=d:"]"===e&&s===d&&(s=c)}}i[e][t]={pattern:o.replace(/(?:\(\?:\))+/g,"(?:)"),flags:f.replace(E,""),captures:n.hasNamedCapture?n.captureNames:null}}const n=i[e][t];return A(new RegExp(n.pattern,n.flags),n.captures,e,t)}q.prototype=new RegExp,q.version="5.1.1",q._clipDuplicates=T,q._hasNativeFlag=m,q._dec=k,q._hex=I,q._pad4=_,q.addToken=(e,t,n)=>{n=n||{};let{optionalFlags:r}=n;if(n.flag&&C(n.flag),r){r=r.split("");for(const e of r)C(e)}u.push({regex:w(e,{addG:!0,addY:v,isInternalOnly:!0}),handler:t,scope:n.scope||c,flag:n.flag,reparse:n.reparse,leadChar:n.leadChar}),q.cache.flush("patterns")},q.cache=(e,t)=>(a[e]||(a[e]={}),a[e][t]||(a[e][t]=q(e,t))),q.cache.flush=e=>{"patterns"===e?i={}:a={}},q.escape=e=>String(O(e)).replace(/[\\\[\]{}()*+?.^$|]/g,"\\$&").replace(/[\s#\-,]/g,(e=>`\\u${_(I(e.charCodeAt(0)))}`)),q.exec=(e,t,n,s)=>{let a,i="g",u=!1,c=!1;u=v&&!!(s||t.sticky&&!1!==s),u?i+="y":s&&(c=!0,i+="FakeY"),t[r]=t[r]||{};const d=t[r][i]||(t[r][i]=w(t,{addG:!0,addY:u,source:c?`${t.source}|()`:void 0,removeY:!1===s,isInternalOnly:!0}));return n=n||0,d.lastIndex=n,a=o.exec.call(d,e),c&&a&&""===a.pop()&&(a=null),t.global&&(t.lastIndex=a?d.lastIndex:0),a},q.forEach=(e,t,n)=>{let r,s=0,o=-1;for(;r=q.exec(e,t,s);)n(r,++o,e,t),s=r.index+(r[0].length||1)},q.globalize=e=>w(e,{addG:!0}),q.install=e=>{e=x(e),!s.astral&&e.astral&&$(!0),!s.namespacing&&e.namespacing&&R(!0)},q.isInstalled=e=>!!s[e],q.isRegExp=e=>"[object RegExp]"===Object.prototype.toString.call(e),q.match=(e,t,n)=>{const s=t.global&&"one"!==n||"all"===n,o=(s?"g":"")+(t.sticky?"y":"")||"noGY";t[r]=t[r]||{};const a=t[r][o]||(t[r][o]=w(t,{addG:!!s,removeG:"one"===n,isInternalOnly:!0})),i=String(O(e)).match(a);return t.global&&(t.lastIndex="one"===n&&i?i.index+i[0].length:0),s?i||[]:i&&i[0]},q.matchChain=(e,t)=>function e(n,r){const s=t[r].regex?t[r]:{regex:t[r]},o=[];function a(e){if(s.backref){const t=`Backreference to undefined group: ${s.backref}`,n=isNaN(s.backref);if(n&&q.isInstalled("namespacing")){if(!e.groups||!(s.backref in e.groups))throw new ReferenceError(t)}else if(!e.hasOwnProperty(s.backref))throw new ReferenceError(t);const r=n&&q.isInstalled("namespacing")?e.groups[s.backref]:e[s.backref];o.push(r||"")}else o.push(e[0])}for(const e of n)q.forEach(e,s.regex,a);return r!==t.length-1&&o.length?e(o,r+1):o}([e],0),q.replace=(e,t,n,s)=>{const a=q.isRegExp(t),i=t.global&&"one"!==s||"all"===s,u=(i?"g":"")+(t.sticky?"y":"")||"noGY";let c=t;a?(t[r]=t[r]||{},c=t[r][u]||(t[r][u]=w(t,{addG:!!i,removeG:"one"===s,isInternalOnly:!0}))):i&&(c=new RegExp(q.escape(String(t)),"g"));const d=o.replace.call(O(e),c,n);return a&&t.global&&(t.lastIndex=0),d},q.replaceEach=(e,t)=>{for(const n of t)e=q.replace(e,n[0],n[1],n[2]);return e},q.split=(e,t,n)=>o.split.call(O(e),t,n),q.test=(e,t,n,r)=>!!q.exec(e,t,n,r),q.uninstall=e=>{e=x(e),s.astral&&e.astral&&$(!1),s.namespacing&&e.namespacing&&R(!1)},q.union=(e,t,n)=>{const s=(n=n||{}).conjunction||"or";let o,a,i=0;function u(e,t,n){const r=a[i-o];if(t){if(++i,r)return`(?<${r}>`}else if(n)return`\\${+n+o}`;return e}if(!N(e,"Array")||!e.length)throw new TypeError("Must provide a nonempty array of patterns to merge");const c=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g,d=[];for(const t of e)q.isRegExp(t)?(o=i,a=t[r]&&t[r].captureNames||[],d.push(q(t.source).source.replace(c,u))):d.push(q.escape(t));const l="none"===s?"":"|";return q(d.join(l),t)},o.exec=function(e){const t=this.lastIndex,n=RegExp.prototype.exec.apply(this,arguments);if(n){if(!f&&n.length>1&&n.includes("")){const t=w(this,{removeG:!0,isInternalOnly:!0});String(e).slice(n.index).replace(t,((...e)=>{const t=e.length;for(let r=1;r<t-2;++r)void 0===e[r]&&(n[r]=void 0)}))}if(this[r]&&this[r].captureNames){let e=n;q.isInstalled("namespacing")&&(n.groups=Object.create(null),e=n.groups);for(let t=1;t<n.length;++t){const s=this[r].captureNames[t-1];s&&(e[s]=n[t])}}else!n.groups&&q.isInstalled("namespacing")&&(n.groups=void 0);this.global&&!n[0].length&&this.lastIndex>n.index&&(this.lastIndex=n.index)}return this.global||(this.lastIndex=t),n},o.test=function(e){return!!o.exec.call(this,e)},o.match=function(e){if(q.isRegExp(e)){if(e.global){const t=String.prototype.match.apply(this,arguments);return e.lastIndex=0,t}}else e=new RegExp(e);return o.exec.call(e,O(this))},o.replace=function(e,t){const n=q.isRegExp(e);let s,o,a;return n?(e[r]&&({captureNames:o}=e[r]),s=e.lastIndex):e+="",a=N(t,"Function")?String(this).replace(e,((...e)=>{if(o){let t;q.isInstalled("namespacing")?(t=Object.create(null),e.push(t)):(e[0]=new String(e[0]),[t]=e);for(let n=0;n<o.length;++n)o[n]&&(t[o[n]]=e[n+1])}return t(...e)})):String(O(this)).replace(e,((...e)=>String(t).replace(p,(function(t,n,r,s){n=n||r;const a=N(e[e.length-1],"Object")?4:3,i=e.length-a;if(n){if(/^\d+$/.test(n)){const t=+n;if(t<=i)return e[t]||""}const r=o?o.indexOf(n):-1;if(r<0)throw new SyntaxError(`Backreference to undefined group ${t}`);return e[r+1]||""}if(""===s||" "===s)throw new SyntaxError(`Invalid token ${t}`);if("&"===s||0==+s)return e[0];if("$"===s)return"$";if("`"===s)return e[e.length-1].slice(0,e[e.length-2]);if("'"===s)return e[e.length-1].slice(e[e.length-2]+e[0].length);if(s=+s,!isNaN(s)){if(s>i)throw new SyntaxError(`Backreference to undefined group ${t}`);return e[s]||""}throw new SyntaxError(`Invalid token ${t}`)})))),n&&(e.global?e.lastIndex=0:e.lastIndex=s),a},o.split=function(e,t){if(!q.isRegExp(e))return String.prototype.split.apply(this,arguments);const n=String(this),r=[],s=e.lastIndex;let o,a=0;return t=(void 0===t?-1:t)>>>0,q.forEach(n,e,(e=>{e.index+e[0].length>a&&(r.push(n.slice(a,e.index)),e.length>1&&e.index<n.length&&Array.prototype.push.apply(r,e.slice(1)),o=e[0].length,a=e.index+o)})),a===n.length?e.test("")&&!o||r.push(""):r.push(n.slice(a)),e.lastIndex=s,r.length>t?r.slice(0,t):r},q.addToken(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4}|{[\dA-Fa-f]+})|x(?![\dA-Fa-f]{2}))/,((e,t)=>{if("B"===e[1]&&t===c)return e[0];throw new SyntaxError(`Invalid escape ${e[0]}`)}),{scope:"all",leadChar:"\\"}),q.addToken(/\\u{([\dA-Fa-f]+)}/,((e,t,n)=>{const r=k(e[1]);if(r>1114111)throw new SyntaxError(`Invalid Unicode code point ${e[0]}`);if(r<=65535)return`\\u${_(I(r))}`;if(g&&n.includes("u"))return e[0];throw new SyntaxError("Cannot use Unicode code point above \\u{FFFF} without flag u")}),{scope:"all",leadChar:"\\"}),q.addToken(/\(\?#[^)]*\)/,P,{leadChar:"("}),q.addToken(/\s+|#[^\n]*\n?/,P,{flag:"x"}),y||q.addToken(/\./,(()=>"[\\s\\S]"),{flag:"s",leadChar:"."}),q.addToken(/\\k<([^>]+)>/,(function(e){const t=isNaN(e[1])?this.captureNames.indexOf(e[1])+1:+e[1],n=e.index+e[0].length;if(!t||t>this.captureNames.length)throw new SyntaxError(`Backreference to undefined group ${e[0]}`);return`\\${t}${n===e.input.length||isNaN(e.input[n])?"":"(?:)"}`}),{leadChar:"\\"}),q.addToken(/\\(\d+)/,(function(e,t){if(!(t===c&&/^[1-9]/.test(e[1])&&+e[1]<=this.captureNames.length)&&"0"!==e[1])throw new SyntaxError(`Cannot use octal escape or backreference to undefined group ${e[0]}`);return e[0]}),{scope:"all",leadChar:"\\"}),q.addToken(/\(\?P?<([\p{ID_Start}$_][\p{ID_Continue}$_\u200C\u200D]*)>/u,(function(e){if(!q.isInstalled("namespacing")&&("length"===e[1]||"__proto__"===e[1]))throw new SyntaxError(`Cannot use reserved word as capture name ${e[0]}`);if(this.captureNames.includes(e[1]))throw new SyntaxError(`Cannot use same name for multiple groups ${e[0]}`);return this.captureNames.push(e[1]),this.hasNamedCapture=!0,"("}),{leadChar:"("}),q.addToken(/\((?!\?)/,(function(e,t,n){return n.includes("n")?"(?:":(this.captureNames.push(null),"(")}),{optionalFlags:"n",leadChar:"("});const j=q;var M=n(4732),B=n.n(M),G=n(2474),L=n.n(G),F=n(772),V=n.n(F);(e=>{const t="xregexp",n=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g,r=e.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/,n],"g",{conjunction:"or"});function s(e){const t=/^(?:\(\?:\))*\^/,n=/\$(?:\(\?:\))*$/;return t.test(e)&&n.test(e)&&n.test(e.replace(/\\[\s\S]/g,""))?e.replace(t,"").replace(n,""):e}function o(n,r){const s=r?"x":"";return e.isRegExp(n)?n[t]&&n[t].captureNames?n:e(n.source,s):e(n,s)}function a(t){return t instanceof RegExp?t:e.escape(t)}function i(e,t,n){return e[`subpattern${n}`]=t,e}function u(e,t,n){return e+(t<n.length-1?`{{subpattern${t}}}`:"")}e.tag=t=>(n,...r)=>{const s=r.map(a).reduce(i,{}),o=n.raw.map(u).join("");return e.build(o,s,t)},e.build=(a,i,u)=>{const c=(u=u||"").includes("x"),d=/^\(\?([\w$]+)\)/.exec(a);d&&(u=e._clipDuplicates(u+d[1]));const l={};for(const e in i)if(i.hasOwnProperty(e)){const n=o(i[e],c);l[e]={pattern:s(n.source),names:n[t].captureNames||[]}}const p=o(a,c);let f,h=0,m=0;const S=[0],y=p[t].captureNames||[],g=p.source.replace(r,((e,t,r,s,o)=>{const a=t||r;let i,u,c;if(a){if(!l.hasOwnProperty(a))throw new ReferenceError(`Undefined property ${e}`);return t?(i=y[m],S[++m]=++h,u=`(?<${i||a}>`):u="(?:",f=h,`${u}${l[a].pattern.replace(n,((e,t,n)=>{if(t){if(i=l[a].names[h-f],++h,i)return`(?<${i}>`}else if(n)return c=+n-1,l[a].names[c]?`\\k<${l[a].names[c]}>`:`\\${+n+f}`;return e}))})`}if(s){if(i=y[m],S[++m]=++h,i)return`(?<${i}>`}else if(o)return c=+o-1,y[c]?`\\k<${y[c]}>`:`\\${S[+o]}`;return e}));return e(g,u)}})(j),(e=>{function t(e,t,n,r){return{name:e,value:t,start:n,end:r}}e.matchRecursive=(n,r,s,o,a)=>{a=a||{};const i=(o=o||"").includes("g"),u=o.includes("y"),c=o.replace(/y/g,"");let d;r=e(r,c),s=e(s,c);let{escapeChar:l}=a;if(l){if(l.length>1)throw new Error("Cannot use more than one escape character");l=e.escape(l),d=new RegExp(`(?:${l}[\\S\\s]|(?:(?!${e.union([r,s],"",{conjunction:"or"}).source})[^${l}])+)+`,o.replace(e._hasNativeFlag("s")?/[^imsu]/g:/[^imu]/g,""))}let p,f,h,m,S=0,y=0,g=0,v=0;const b=a.valueNames,E=[];for(;;){if(l&&(g+=(e.exec(n,d,g,"sticky")||[""])[0].length),h=e.exec(n,r,g),m=e.exec(n,s,g),h&&m&&(h.index<=m.index?m=null:h=null),h||m)y=(h||m).index,g=y+(h||m)[0].length;else if(!S)break;if(u&&!S&&y>v)break;if(h)S||(p=y,f=g),S+=1;else if(m&&S){if(S-=1,!S&&(b?(b[0]&&p>v&&E.push(t(b[0],n.slice(v,p),v,p)),b[1]&&E.push(t(b[1],n.slice(p,f),p,f)),b[2]&&E.push(t(b[2],n.slice(f,y),f,y)),b[3]&&E.push(t(b[3],n.slice(y,g),y,g))):E.push(n.slice(f,y)),v=g,!i))break}else{const t=a.unbalanced||"error";if("skip"!==t&&"skip-lazy"!==t){if("error"===t)throw new Error(`Unbalanced ${m?"right":"left"} delimiter found in string at position ${m?y:p}`);throw new Error(`Unsupported value for unbalanced: ${t}`)}m?m=null:(g="skip"===t?p+(e.exec(n,r,p,"sticky")[0].length||1):p+1,S=0)}y===g&&(g+=1)}return i&&E.length>0&&!u&&b&&b[0]&&n.length>v&&E.push(t(b[0],n.slice(v),v,n.length)),E}})(j),(e=>{const t={},n={},r=e._dec,s=e._hex,o=e._pad4;function a(e){return e.replace(/[- _]+/g,"").toLowerCase()}function i(e){const t=/^\\[xu](.+)/.exec(e);return t?r(t[1]):e.charCodeAt("\\"===e[0]?1:0)}e.addToken(/\\([pP])(?:{(\^?)(?:(\w+)=)?([^}]*)}|([A-Za-z]))/,((r,u,c)=>{const d="Unknown Unicode token ",[l,p,f,h,m,S]=r;let y="P"===p||!!f;const g=c.includes("A");let v=a(S||m),b=t[v];if("P"===p&&f)throw new SyntaxError("Invalid double negation "+l);if(!t.hasOwnProperty(v))throw new SyntaxError(d+l);if(h&&(!n[h]||!n[h][v]))throw new SyntaxError(d+l);if(b.inverseOf){if(v=a(b.inverseOf),!t.hasOwnProperty(v))throw new ReferenceError(`${"Unicode token missing data "+l} -> ${b.inverseOf}`);b=t[v],y=!y}if(!b.bmp&&!g)throw new SyntaxError("Astral mode required for Unicode token "+l);if(g){if("class"===u)throw new SyntaxError("Astral mode does not support Unicode tokens within character classes");return function(e,n){const r=n?"a!":"a=";return t[e][r]||(t[e][r]=function(e,n){const r=t[e];let s="";return r.bmp&&!r.isBmpLast&&(s=`[${r.bmp}]${r.astral?"|":""}`),r.astral&&(s+=r.astral),r.isBmpLast&&r.bmp&&(s+=`${r.astral?"|":""}[${r.bmp}]`),n?`(?:(?!${s})(?:[\ud800-\udbff][\udc00-\udfff]|[\0-]))`:`(?:${s})`}(e,n))}(v,y)}return"class"===u?y?function(n){return t[n]["b!"]||(t[n]["b!"]=function(t){let n="",r=-1;return e.forEach(t,/(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/,(e=>{const t=i(e[1]);t>r+1&&(n+=`\\u${o(s(r+1))}`,t>r+2&&(n+=`-\\u${o(s(t-1))}`)),r=i(e[2]||e[1])})),r<65535&&(n+=`\\u${o(s(r+1))}`,r<65534&&(n+="-\\uFFFF")),n}(t[n].bmp))}(v):b.bmp:(y?"[^":"[")+b.bmp+"]"}),{scope:"all",optionalFlags:"A",leadChar:"\\"}),e.addUnicodeData=(r,s)=>{s&&(n[s]={});for(const e of r){if(!e.name)throw new Error("Unicode token requires name");if(!(e.inverseOf||e.bmp||e.astral))throw new Error("Unicode token has no character data "+e.name);const r=a(e.name);if(t[r]=e,s&&(n[s][r]=!0),e.alias){const r=a(e.alias);t[r]=e,s&&(n[s][r]=!0)}}e.cache.flush("patterns")},e._getUnicodeProperty=e=>{const n=a(e);return t[n]}})(j),(e=>{if(!e.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Categories");e.addUnicodeData(B())})(j),(e=>{if(!e.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Properties");const t=L();t.push({name:"Assigned",inverseOf:"Cn"}),e.addUnicodeData(t)})(j),(e=>{if(!e.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Scripts");e.addUnicodeData(V(),"Script")})(j);const U=j},4732:e=>{e.exports=[{name:"C",alias:"Other",isBmpLast:!0,bmp:"\0-------------------------------------ೳ---------໎------------------------------------------------------------------------------------------",astral:"\ud800[\udc0c\udc27\udc3b\udc3e\udc4e\udc4f\udc5e-\udc7f\udcfb-\udcff\udd03-\udd06\udd34-\udd36\udd8f\udd9d-\udd9f\udda1-\uddcf\uddfe-\ude7f\ude9d-\ude9f\uded1-\udedf\udefc-\udeff\udf24-\udf2c\udf4b-\udf4f\udf7b-\udf7f\udf9e\udfc4-\udfc7\udfd6-\udfff]|\ud801[\udc9e\udc9f\udcaa-\udcaf\udcd4-\udcd7\udcfc-\udcff\udd28-\udd2f\udd64-\udd6e\udd7b\udd8b\udd93\udd96\udda2\uddb2\uddba\uddbd-\uddff\udf37-\udf3f\udf56-\udf5f\udf68-\udf7f\udf86\udfb1\udfbb-\udfff]|\ud802[\udc06\udc07\udc09\udc36\udc39-\udc3b\udc3d\udc3e\udc56\udc9f-\udca6\udcb0-\udcdf\udcf3\udcf6-\udcfa\udd1c-\udd1e\udd3a-\udd3e\udd40-\udd7f\uddb8-\uddbb\uddd0\uddd1\ude04\ude07-\ude0b\ude14\ude18\ude36\ude37\ude3b-\ude3e\ude49-\ude4f\ude59-\ude5f\udea0-\udebf\udee7-\udeea\udef7-\udeff\udf36-\udf38\udf56\udf57\udf73-\udf77\udf92-\udf98\udf9d-\udfa8\udfb0-\udfff]|\ud803[\udc49-\udc7f\udcb3-\udcbf\udcf3-\udcf9\udd28-\udd2f\udd3a-\ude5f\ude7f\udeaa\udeae\udeaf\udeb2-\udeff\udf28-\udf2f\udf5a-\udf6f\udf8a-\udfaf\udfcc-\udfdf\udff7-\udfff]|\ud804[\udc4e-\udc51\udc76-\udc7e\udcbd\udcc3-\udccf\udce9-\udcef\udcfa-\udcff\udd35\udd48-\udd4f\udd77-\udd7f\udde0\uddf5-\uddff\ude12\ude3f-\ude7f\ude87\ude89\ude8e\ude9e\udeaa-\udeaf\udeeb-\udeef\udefa-\udeff\udf04\udf0d\udf0e\udf11\udf12\udf29\udf31\udf34\udf3a\udf45\udf46\udf49\udf4a\udf4e\udf4f\udf51-\udf56\udf58-\udf5c\udf64\udf65\udf6d-\udf6f\udf75-\udfff]|\ud805[\udc5c\udc62-\udc7f\udcc8-\udccf\udcda-\udd7f\uddb6\uddb7\uddde-\uddff\ude45-\ude4f\ude5a-\ude5f\ude6d-\ude7f\udeba-\udebf\udeca-\udeff\udf1b\udf1c\udf2c-\udf2f\udf47-\udfff]|\ud806[\udc3c-\udc9f\udcf3-\udcfe\udd07\udd08\udd0a\udd0b\udd14\udd17\udd36\udd39\udd3a\udd47-\udd4f\udd5a-\udd9f\udda8\udda9\uddd8\uddd9\udde5-\uddff\ude48-\ude4f\udea3-\udeaf\udef9-\udfff]|\ud807[\udc09\udc37\udc46-\udc4f\udc6d-\udc6f\udc90\udc91\udca8\udcb7-\udcff\udd07\udd0a\udd37-\udd39\udd3b\udd3e\udd48-\udd4f\udd5a-\udd5f\udd66\udd69\udd8f\udd92\udd99-\udd9f\uddaa-\udedf\udef9-\udfaf\udfb1-\udfbf\udff2-\udffe]|\ud808[\udf9a-\udfff]|\ud809[\udc6f\udc75-\udc7f\udd44-\udfff]|[\ud80a\ud80e-\ud810\ud812-\ud819\ud824-\ud82a\ud82d\ud82e\ud830-\ud832\ud83f\ud87b-\ud87d\ud87f\ud885-\udb3f\udb41-\udbff][\udc00-\udfff]|\ud80b[\udc00-\udf8f\udff3-\udfff]|\ud80d[\udc2f-\udfff]|\ud811[\ude47-\udfff]|\ud81a[\ude39-\ude3f\ude5f\ude6a-\ude6d\udebf\udeca-\udecf\udeee\udeef\udef6-\udeff\udf46-\udf4f\udf5a\udf62\udf78-\udf7c\udf90-\udfff]|\ud81b[\udc00-\ude3f\ude9b-\udeff\udf4b-\udf4e\udf88-\udf8e\udfa0-\udfdf\udfe5-\udfef\udff2-\udfff]|\ud821[\udff8-\udfff]|\ud823[\udcd6-\udcff\udd09-\udfff]|\ud82b[\udc00-\udfef\udff4\udffc\udfff]|\ud82c[\udd23-\udd4f\udd53-\udd63\udd68-\udd6f\udefc-\udfff]|\ud82f[\udc6b-\udc6f\udc7d-\udc7f\udc89-\udc8f\udc9a\udc9b\udca0-\udfff]|\ud833[\udc00-\udeff\udf2e\udf2f\udf47-\udf4f\udfc4-\udfff]|\ud834[\udcf6-\udcff\udd27\udd28\udd73-\udd7a\uddeb-\uddff\ude46-\udedf\udef4-\udeff\udf57-\udf5f\udf79-\udfff]|\ud835[\udc55\udc9d\udca0\udca1\udca3\udca4\udca7\udca8\udcad\udcba\udcbc\udcc4\udd06\udd0b\udd0c\udd15\udd1d\udd3a\udd3f\udd45\udd47-\udd49\udd51\udea6\udea7\udfcc\udfcd]|\ud836[\ude8c-\ude9a\udea0\udeb0-\udfff]|\ud837[\udc00-\udeff\udf1f-\udfff]|\ud838[\udc07\udc19\udc1a\udc22\udc25\udc2b-\udcff\udd2d-\udd2f\udd3e\udd3f\udd4a-\udd4d\udd50-\ude8f\udeaf-\udebf\udefa-\udefe\udf00-\udfff]|\ud839[\udc00-\udfdf\udfe7\udfec\udfef\udfff]|\ud83a[\udcc5\udcc6\udcd7-\udcff\udd4c-\udd4f\udd5a-\udd5d\udd60-\udfff]|\ud83b[\udc00-\udc70\udcb5-\udd00\udd3e-\uddff\ude04\ude20\ude23\ude25\ude26\ude28\ude33\ude38\ude3a\ude3c-\ude41\ude43-\ude46\ude48\ude4a\ude4c\ude50\ude53\ude55\ude56\ude58\ude5a\ude5c\ude5e\ude60\ude63\ude65\ude66\ude6b\ude73\ude78\ude7d\ude7f\ude8a\ude9c-\udea0\udea4\udeaa\udebc-\udeef\udef2-\udfff]|\ud83c[\udc2c-\udc2f\udc94-\udc9f\udcaf\udcb0\udcc0\udcd0\udcf6-\udcff\uddae-\udde5\ude03-\ude0f\ude3c-\ude3f\ude49-\ude4f\ude52-\ude5f\ude66-\udeff]|\ud83d[\uded8-\udedc\udeed-\udeef\udefd-\udeff\udf74-\udf7f\udfd9-\udfdf\udfec-\udfef\udff1-\udfff]|\ud83e[\udc0c-\udc0f\udc48-\udc4f\udc5a-\udc5f\udc88-\udc8f\udcae\udcaf\udcb2-\udcff\ude54-\ude5f\ude6e\ude6f\ude75-\ude77\ude7d-\ude7f\ude87-\ude8f\udead-\udeaf\udebb-\udebf\udec6-\udecf\udeda-\udedf\udee8-\udeef\udef7-\udeff\udf93\udfcb-\udfef\udffa-\udfff]|\ud869[\udee0-\udeff]|\ud86d[\udf39-\udf3f]|\ud86e[\udc1e\udc1f]|\ud873[\udea2-\udeaf]|\ud87a[\udfe1-\udfff]|\ud87e[\ude1e-\udfff]|\ud884[\udf4b-\udfff]|\udb40[\udc00-\udcff\uddf0-\udfff]"},{name:"Cc",alias:"Control",bmp:"\0--"},{name:"Cf",alias:"Format",bmp:"-----\ufeff-",astral:"\ud804[\udcbd\udccd]|\ud80d[\udc30-\udc38]|\ud82f[\udca0-\udca3]|\ud834[\udd73-\udd7a]|\udb40[\udc01\udc20-\udc7f]"},{name:"Cn",alias:"Unassigned",bmp:"-----------------------------------ೳ---------໎--------------------------------------------------------------------------------------",astral:"\ud800[\udc0c\udc27\udc3b\udc3e\udc4e\udc4f\udc5e-\udc7f\udcfb-\udcff\udd03-\udd06\udd34-\udd36\udd8f\udd9d-\udd9f\udda1-\uddcf\uddfe-\ude7f\ude9d-\ude9f\uded1-\udedf\udefc-\udeff\udf24-\udf2c\udf4b-\udf4f\udf7b-\udf7f\udf9e\udfc4-\udfc7\udfd6-\udfff]|\ud801[\udc9e\udc9f\udcaa-\udcaf\udcd4-\udcd7\udcfc-\udcff\udd28-\udd2f\udd64-\udd6e\udd7b\udd8b\udd93\udd96\udda2\uddb2\uddba\uddbd-\uddff\udf37-\udf3f\udf56-\udf5f\udf68-\udf7f\udf86\udfb1\udfbb-\udfff]|\ud802[\udc06\udc07\udc09\udc36\udc39-\udc3b\udc3d\udc3e\udc56\udc9f-\udca6\udcb0-\udcdf\udcf3\udcf6-\udcfa\udd1c-\udd1e\udd3a-\udd3e\udd40-\udd7f\uddb8-\uddbb\uddd0\uddd1\ude04\ude07-\ude0b\ude14\ude18\ude36\ude37\ude3b-\ude3e\ude49-\ude4f\ude59-\ude5f\udea0-\udebf\udee7-\udeea\udef7-\udeff\udf36-\udf38\udf56\udf57\udf73-\udf77\udf92-\udf98\udf9d-\udfa8\udfb0-\udfff]|\ud803[\udc49-\udc7f\udcb3-\udcbf\udcf3-\udcf9\udd28-\udd2f\udd3a-\ude5f\ude7f\udeaa\udeae\udeaf\udeb2-\udeff\udf28-\udf2f\udf5a-\udf6f\udf8a-\udfaf\udfcc-\udfdf\udff7-\udfff]|\ud804[\udc4e-\udc51\udc76-\udc7e\udcc3-\udccc\udcce\udccf\udce9-\udcef\udcfa-\udcff\udd35\udd48-\udd4f\udd77-\udd7f\udde0\uddf5-\uddff\ude12\ude3f-\ude7f\ude87\ude89\ude8e\ude9e\udeaa-\udeaf\udeeb-\udeef\udefa-\udeff\udf04\udf0d\udf0e\udf11\udf12\udf29\udf31\udf34\udf3a\udf45\udf46\udf49\udf4a\udf4e\udf4f\udf51-\udf56\udf58-\udf5c\udf64\udf65\udf6d-\udf6f\udf75-\udfff]|\ud805[\udc5c\udc62-\udc7f\udcc8-\udccf\udcda-\udd7f\uddb6\uddb7\uddde-\uddff\ude45-\ude4f\ude5a-\ude5f\ude6d-\ude7f\udeba-\udebf\udeca-\udeff\udf1b\udf1c\udf2c-\udf2f\udf47-\udfff]|\ud806[\udc3c-\udc9f\udcf3-\udcfe\udd07\udd08\udd0a\udd0b\udd14\udd17\udd36\udd39\udd3a\udd47-\udd4f\udd5a-\udd9f\udda8\udda9\uddd8\uddd9\udde5-\uddff\ude48-\ude4f\udea3-\udeaf\udef9-\udfff]|\ud807[\udc09\udc37\udc46-\udc4f\udc6d-\udc6f\udc90\udc91\udca8\udcb7-\udcff\udd07\udd0a\udd37-\udd39\udd3b\udd3e\udd48-\udd4f\udd5a-\udd5f\udd66\udd69\udd8f\udd92\udd99-\udd9f\uddaa-\udedf\udef9-\udfaf\udfb1-\udfbf\udff2-\udffe]|\ud808[\udf9a-\udfff]|\ud809[\udc6f\udc75-\udc7f\udd44-\udfff]|[\ud80a\ud80e-\ud810\ud812-\ud819\ud824-\ud82a\ud82d\ud82e\ud830-\ud832\ud83f\ud87b-\ud87d\ud87f\ud885-\udb3f\udb41-\udb7f][\udc00-\udfff]|\ud80b[\udc00-\udf8f\udff3-\udfff]|\ud80d[\udc2f\udc39-\udfff]|\ud811[\ude47-\udfff]|\ud81a[\ude39-\ude3f\ude5f\ude6a-\ude6d\udebf\udeca-\udecf\udeee\udeef\udef6-\udeff\udf46-\udf4f\udf5a\udf62\udf78-\udf7c\udf90-\udfff]|\ud81b[\udc00-\ude3f\ude9b-\udeff\udf4b-\udf4e\udf88-\udf8e\udfa0-\udfdf\udfe5-\udfef\udff2-\udfff]|\ud821[\udff8-\udfff]|\ud823[\udcd6-\udcff\udd09-\udfff]|\ud82b[\udc00-\udfef\udff4\udffc\udfff]|\ud82c[\udd23-\udd4f\udd53-\udd63\udd68-\udd6f\udefc-\udfff]|\ud82f[\udc6b-\udc6f\udc7d-\udc7f\udc89-\udc8f\udc9a\udc9b\udca4-\udfff]|\ud833[\udc00-\udeff\udf2e\udf2f\udf47-\udf4f\udfc4-\udfff]|\ud834[\udcf6-\udcff\udd27\udd28\uddeb-\uddff\ude46-\udedf\udef4-\udeff\udf57-\udf5f\udf79-\udfff]|\ud835[\udc55\udc9d\udca0\udca1\udca3\udca4\udca7\udca8\udcad\udcba\udcbc\udcc4\udd06\udd0b\udd0c\udd15\udd1d\udd3a\udd3f\udd45\udd47-\udd49\udd51\udea6\udea7\udfcc\udfcd]|\ud836[\ude8c-\ude9a\udea0\udeb0-\udfff]|\ud837[\udc00-\udeff\udf1f-\udfff]|\ud838[\udc07\udc19\udc1a\udc22\udc25\udc2b-\udcff\udd2d-\udd2f\udd3e\udd3f\udd4a-\udd4d\udd50-\ude8f\udeaf-\udebf\udefa-\udefe\udf00-\udfff]|\ud839[\udc00-\udfdf\udfe7\udfec\udfef\udfff]|\ud83a[\udcc5\udcc6\udcd7-\udcff\udd4c-\udd4f\udd5a-\udd5d\udd60-\udfff]|\ud83b[\udc00-\udc70\udcb5-\udd00\udd3e-\uddff\ude04\ude20\ude23\ude25\ude26\ude28\ude33\ude38\ude3a\ude3c-\ude41\ude43-\ude46\ude48\ude4a\ude4c\ude50\ude53\ude55\ude56\ude58\ude5a\ude5c\ude5e\ude60\ude63\ude65\ude66\ude6b\ude73\ude78\ude7d\ude7f\ude8a\ude9c-\udea0\udea4\udeaa\udebc-\udeef\udef2-\udfff]|\ud83c[\udc2c-\udc2f\udc94-\udc9f\udcaf\udcb0\udcc0\udcd0\udcf6-\udcff\uddae-\udde5\ude03-\ude0f\ude3c-\ude3f\ude49-\ude4f\ude52-\ude5f\ude66-\udeff]|\ud83d[\uded8-\udedc\udeed-\udeef\udefd-\udeff\udf74-\udf7f\udfd9-\udfdf\udfec-\udfef\udff1-\udfff]|\ud83e[\udc0c-\udc0f\udc48-\udc4f\udc5a-\udc5f\udc88-\udc8f\udcae\udcaf\udcb2-\udcff\ude54-\ude5f\ude6e\ude6f\ude75-\ude77\ude7d-\ude7f\ude87-\ude8f\udead-\udeaf\udebb-\udebf\udec6-\udecf\udeda-\udedf\udee8-\udeef\udef7-\udeff\udf93\udfcb-\udfef\udffa-\udfff]|\ud869[\udee0-\udeff]|\ud86d[\udf39-\udf3f]|\ud86e[\udc1e\udc1f]|\ud873[\udea2-\udeaf]|\ud87a[\udfe1-\udfff]|\ud87e[\ude1e-\udfff]|\ud884[\udf4b-\udfff]|\udb40[\udc00\udc02-\udc1f\udc80-\udcff\uddf0-\udfff]|[\udbbf\udbff][\udffe\udfff]"},{name:"Co",alias:"Private_Use",bmp:"-",astral:"[\udb80-\udbbe\udbc0-\udbfe][\udc00-\udfff]|[\udbbf\udbff][\udc00-\udffd]"},{name:"Cs",alias:"Surrogate",bmp:"\ud800-\udfff"},{name:"L",alias:"Letter",bmp:"A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢄᢇ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛥꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf40\udf42-\udf49\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc\ude00-\udf36\udf40-\udf55\udf60-\udf67\udf80-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd23\ude80-\udea9\udeb0\udeb1\udf00-\udf1c\udf27\udf30-\udf45\udf70-\udf81\udfb0-\udfc4\udfe0-\udff6]|\ud804[\udc03-\udc37\udc71\udc72\udc75\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd47\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f-\udc61\udc80-\udcaf\udcc4\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a\udf40-\udf46]|\ud806[\udc00-\udc2b\udca0-\udcdf\udcff-\udd06\udd09\udd0c-\udd13\udd15\udd16\udd18-\udd2f\udd3f\udd41\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udeb0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67\udd68\udd6a-\udd89\udd98\udee0-\udef2\udfb0]|\ud808[\udc00-\udf99]|\ud809[\udc80-\udd43]|\ud80b[\udf90-\udff0]|[\ud80c\ud81c-\ud820\ud822\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872\ud874-\ud879\ud880-\ud883][\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude70-\udebe\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf50\udf93-\udf9f\udfe0\udfe1\udfe3]|\ud821[\udc00-\udff7]|\ud823[\udc00-\udcd5\udd00-\udd08]|\ud82b[\udff0-\udff3\udff5-\udffb\udffd\udffe]|\ud82c[\udc00-\udd22\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud837[\udf00-\udf1e]|\ud838[\udd00-\udd2c\udd37-\udd3d\udd4e\ude90-\udead\udec0-\udeeb]|\ud839[\udfe0-\udfe6\udfe8-\udfeb\udfed\udfee\udff0-\udffe]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud869[\udc00-\udedf\udf00-\udfff]|\ud86d[\udc00-\udf38\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\ud884[\udc00-\udf4a]"},{name:"LC",alias:"Cased_Letter",bmp:"A-Za-zµÀ-ÖØ-öø-ƺƼ-ƿDŽ-ʓʕ-ʯͰ-ͳͶͷͻ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՠ-ֈႠ-ჅჇჍა-ჺჽ-ჿᎠ-Ᏽᏸ-ᏽᲀ-ᲈᲐ-ᲺᲽ-Ჿᴀ-ᴫᵫ-ᵷᵹ-ᶚḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℴℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-ⱻⱾ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭꙀ-ꙭꚀ-ꚛꜢ-ꝯꝱ-ꞇꞋ-ꞎꞐ-ꟊꟐꟑꟓꟕ-ꟙꟵꟶꟺꬰ-ꭚꭠ-ꭨꭰ-ꮿff-stﬓ-ﬗA-Za-z",astral:"\ud801[\udc00-\udc4f\udcb0-\udcd3\udcd8-\udcfb\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc]|\ud803[\udc80-\udcb2\udcc0-\udcf2]|\ud806[\udca0-\udcdf]|\ud81b[\ude40-\ude7f]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud837[\udf00-\udf09\udf0b-\udf1e]|\ud83a[\udd00-\udd43]"},{name:"Ll",alias:"Lowercase_Letter",bmp:"a-zµß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĸĺļľŀłńņňʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌƍƒƕƙ-ƛƞơƣƥƨƪƫƭưƴƶƹƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜǝǟǡǣǥǧǩǫǭǯǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿɀɂɇɉɋɍɏ-ʓʕ-ʯͱͳͷͻ-ͽΐά-ώϐϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯՠ-ֈა-ჺჽ-ჿᏸ-ᏽᲀ-ᲈᴀ-ᴫᵫ-ᵷᵹ-ᶚḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶᾷιῂ-ῄῆῇῐ-ΐῖῗῠ-ῧῲ-ῴῶῷℊℎℏℓℯℴℹℼℽⅆ-ⅉⅎↄⰰ-ⱟⱡⱥⱦⱨⱪⱬⱱⱳⱴⱶ-ⱻⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳤⳬⳮⳳⴀ-ⴥⴧⴭꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯꝱ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌꞎꞑꞓ-ꞕꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩꞯꞵꞷꞹꞻꞽꞿꟁꟃꟈꟊꟑꟓꟕꟗꟙꟶꟺꬰ-ꭚꭠ-ꭨꭰ-ꮿff-stﬓ-ﬗa-z",astral:"\ud801[\udc28-\udc4f\udcd8-\udcfb\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc]|\ud803[\udcc0-\udcf2]|\ud806[\udcc0-\udcdf]|\ud81b[\ude60-\ude7f]|\ud835[\udc1a-\udc33\udc4e-\udc54\udc56-\udc67\udc82-\udc9b\udcb6-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udccf\udcea-\udd03\udd1e-\udd37\udd52-\udd6b\udd86-\udd9f\uddba-\uddd3\uddee-\ude07\ude22-\ude3b\ude56-\ude6f\ude8a-\udea5\udec2-\udeda\udedc-\udee1\udefc-\udf14\udf16-\udf1b\udf36-\udf4e\udf50-\udf55\udf70-\udf88\udf8a-\udf8f\udfaa-\udfc2\udfc4-\udfc9\udfcb]|\ud837[\udf00-\udf09\udf0b-\udf1e]|\ud83a[\udd22-\udd43]"},{name:"Lm",alias:"Modifier_Letter",bmp:"ʰ-ˁˆ-ˑˠ-ˤˬˮʹͺՙـۥۦߴߵߺࠚࠤࠨࣉॱๆໆჼៗᡃᪧᱸ-ᱽᴬ-ᵪᵸᶛ-ᶿⁱⁿₐ-ₜⱼⱽⵯⸯ々〱-〵〻ゝゞー-ヾꀕꓸ-ꓽꘌꙿꚜꚝꜗ-ꜟꝰꞈꟲ-ꟴꟸꟹꧏꧦꩰꫝꫳꫴꭜ-ꭟꭩー゙゚",astral:"\ud801[\udf80-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud81a[\udf40-\udf43]|\ud81b[\udf93-\udf9f\udfe0\udfe1\udfe3]|\ud82b[\udff0-\udff3\udff5-\udffb\udffd\udffe]|\ud838[\udd37-\udd3d]|𞥋"},{name:"Lo",alias:"Other_Letter",bmp:"ªºƻǀ-ǃʔא-תׯ-ײؠ-ؿف-يٮٯٱ-ۓەۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪࠀ-ࠕࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣈऄ-हऽॐक़-ॡॲ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๅກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎᄀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៜᠠ-ᡂᡄ-ᡸᢀ-ᢄᢇ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱷᳩ-ᳬᳮ-ᳳᳵᳶᳺℵ-ℸⴰ-ⵧⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ〆〼ぁ-ゖゟァ-ヺヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꀔꀖ-ꒌꓐ-ꓷꔀ-ꘋꘐ-ꘟꘪꘫꙮꚠ-ꛥꞏꟷꟻ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧠ-ꧤꧧ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩯꩱ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛꫜꫠ-ꫪꫲꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎יִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼヲ-ッア-ンᅠ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf40\udf42-\udf49\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf]|\ud801[\udc50-\udc9d\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udd00-\udd23\ude80-\udea9\udeb0\udeb1\udf00-\udf1c\udf27\udf30-\udf45\udf70-\udf81\udfb0-\udfc4\udfe0-\udff6]|\ud804[\udc03-\udc37\udc71\udc72\udc75\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd47\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f-\udc61\udc80-\udcaf\udcc4\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a\udf40-\udf46]|\ud806[\udc00-\udc2b\udcff-\udd06\udd09\udd0c-\udd13\udd15\udd16\udd18-\udd2f\udd3f\udd41\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udeb0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67\udd68\udd6a-\udd89\udd98\udee0-\udef2\udfb0]|\ud808[\udc00-\udf99]|\ud809[\udc80-\udd43]|\ud80b[\udf90-\udff0]|[\ud80c\ud81c-\ud820\ud822\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872\ud874-\ud879\ud880-\ud883][\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude70-\udebe\uded0-\udeed\udf00-\udf2f\udf63-\udf77\udf7d-\udf8f]|\ud81b[\udf00-\udf4a\udf50]|\ud821[\udc00-\udff7]|\ud823[\udc00-\udcd5\udd00-\udd08]|\ud82c[\udc00-\udd22\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|𝼊|\ud838[\udd00-\udd2c\udd4e\ude90-\udead\udec0-\udeeb]|\ud839[\udfe0-\udfe6\udfe8-\udfeb\udfed\udfee\udff0-\udffe]|\ud83a[\udc00-\udcc4]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud869[\udc00-\udedf\udf00-\udfff]|\ud86d[\udc00-\udf38\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\ud884[\udc00-\udf4a]"},{name:"Lt",alias:"Titlecase_Letter",bmp:"DžLjNjDzᾈ-ᾏᾘ-ᾟᾨ-ᾯᾼῌῼ"},{name:"Lu",alias:"Uppercase_Letter",bmp:"A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽƁƂƄƆƇƉ-ƋƎ-ƑƓƔƖ-ƘƜƝƟƠƢƤƦƧƩƬƮƯƱ-ƳƵƷƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺȻȽȾɁɃ-ɆɈɊɌɎͰͲͶͿΆΈ-ΊΌΎΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԨԪԬԮԱ-ՖႠ-ჅჇჍᎠ-ᏵᲐ-ᲺᲽ-ᲿḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾℿⅅↃⰀ-ⰯⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꚘꚚꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽꝾꞀꞂꞄꞆꞋꞍꞐꞒꞖꞘꞚꞜꞞꞠꞢꞤꞦꞨꞪ-ꞮꞰ-ꞴꞶꞸꞺꞼꞾꟀꟂꟄ-ꟇꟉꟐꟖꟘꟵA-Z",astral:"\ud801[\udc00-\udc27\udcb0-\udcd3\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95]|\ud803[\udc80-\udcb2]|\ud806[\udca0-\udcbf]|\ud81b[\ude40-\ude5f]|\ud835[\udc00-\udc19\udc34-\udc4d\udc68-\udc81\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb5\udcd0-\udce9\udd04\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd38\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd6c-\udd85\udda0-\uddb9\uddd4-\udded\ude08-\ude21\ude3c-\ude55\ude70-\ude89\udea8-\udec0\udee2-\udefa\udf1c-\udf34\udf56-\udf6e\udf90-\udfa8\udfca]|\ud83a[\udd00-\udd21]"},{name:"M",alias:"Mark",bmp:"̀-ͯ҃-҉֑-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٟۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣঁ-ঃ়া-ৄেৈো-্ৗৢৣ৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑੰੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣஂா-ூெ-ைொ-்ௗఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣඁ-ඃ්ා-ුූෘ-ෟෲෳัิ-ฺ็-๎ັິ-ຼ່-ໍ༹༘༙༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏႚ-ႝ፝-፟ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝᠋-᠍᠏ᢅᢆᢩᤠ-ᤫᤰ-᤻ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼᪰-ᫎᬀ-ᬄ᬴-᭄᭫-᭳ᮀ-ᮂᮡ-ᮭ᯦-᯳ᰤ-᰷᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿⃐-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꙯-꙲ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣠-꣱ꣿꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀ꧥꨩ-ꨶꩃꩌꩍꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭ﬞ︀-️︠-︯",astral:"\ud800[\uddfd\udee0\udf76-\udf7a]|\ud802[\ude01-\ude03\ude05\ude06\ude0c-\ude0f\ude38-\ude3a\ude3f\udee5\udee6]|\ud803[\udd24-\udd27\udeab\udeac\udf46-\udf50\udf82-\udf85]|\ud804[\udc00-\udc02\udc38-\udc46\udc70\udc73\udc74\udc7f-\udc82\udcb0-\udcba\udcc2\udd00-\udd02\udd27-\udd34\udd45\udd46\udd73\udd80-\udd82\uddb3-\uddc0\uddc9-\uddcc\uddce\uddcf\ude2c-\ude37\ude3e\udedf-\udeea\udf00-\udf03\udf3b\udf3c\udf3e-\udf44\udf47\udf48\udf4b-\udf4d\udf57\udf62\udf63\udf66-\udf6c\udf70-\udf74]|\ud805[\udc35-\udc46\udc5e\udcb0-\udcc3\uddaf-\uddb5\uddb8-\uddc0\udddc\udddd\ude30-\ude40\udeab-\udeb7\udf1d-\udf2b]|\ud806[\udc2c-\udc3a\udd30-\udd35\udd37\udd38\udd3b-\udd3e\udd40\udd42\udd43\uddd1-\uddd7\uddda-\udde0\udde4\ude01-\ude0a\ude33-\ude39\ude3b-\ude3e\ude47\ude51-\ude5b\ude8a-\ude99]|\ud807[\udc2f-\udc36\udc38-\udc3f\udc92-\udca7\udca9-\udcb6\udd31-\udd36\udd3a\udd3c\udd3d\udd3f-\udd45\udd47\udd8a-\udd8e\udd90\udd91\udd93-\udd97\udef3-\udef6]|\ud81a[\udef0-\udef4\udf30-\udf36]|\ud81b[\udf4f\udf51-\udf87\udf8f-\udf92\udfe4\udff0\udff1]|\ud82f[\udc9d\udc9e]|\ud833[\udf00-\udf2d\udf30-\udf46]|\ud834[\udd65-\udd69\udd6d-\udd72\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a\udd30-\udd36\udeae\udeec-\udeef]|\ud83a[\udcd0-\udcd6\udd44-\udd4a]|\udb40[\udd00-\uddef]"},{name:"Mc",alias:"Spacing_Mark",bmp:"ःऻा-ीॉ-ौॎॏংঃা-ীেৈোৌৗਃਾ-ੀઃા-ીૉોૌଂଃାୀେୈୋୌୗாிுூெ-ைொ-ௌௗఁ-ఃు-ౄಂಃಾೀ-ೄೇೈೊೋೕೖംഃാ-ീെ-ൈൊ-ൌൗංඃා-ෑෘ-ෟෲෳ༾༿ཿါာေးျြၖၗၢ-ၤၧ-ၭႃႄႇ-ႌႏႚ-ႜ᜕᜴ាើ-ៅះៈᤣ-ᤦᤩ-ᤫᤰᤱᤳ-ᤸᨙᨚᩕᩗᩡᩣᩤᩭ-ᩲᬄᬵᬻᬽ-ᭁᭃ᭄ᮂᮡᮦᮧ᮪ᯧᯪ-ᯬᯮ᯲᯳ᰤ-ᰫᰴᰵ᳡᳷〮〯ꠣꠤꠧꢀꢁꢴ-ꣃꥒ꥓ꦃꦴꦵꦺꦻꦾ-꧀ꨯꨰꨳꨴꩍꩻꩽꫫꫮꫯꫵꯣꯤꯦꯧꯩꯪ꯬",astral:"\ud804[\udc00\udc02\udc82\udcb0-\udcb2\udcb7\udcb8\udd2c\udd45\udd46\udd82\uddb3-\uddb5\uddbf\uddc0\uddce\ude2c-\ude2e\ude32\ude33\ude35\udee0-\udee2\udf02\udf03\udf3e\udf3f\udf41-\udf44\udf47\udf48\udf4b-\udf4d\udf57\udf62\udf63]|\ud805[\udc35-\udc37\udc40\udc41\udc45\udcb0-\udcb2\udcb9\udcbb-\udcbe\udcc1\uddaf-\uddb1\uddb8-\uddbb\uddbe\ude30-\ude32\ude3b\ude3c\ude3e\udeac\udeae\udeaf\udeb6\udf20\udf21\udf26]|\ud806[\udc2c-\udc2e\udc38\udd30-\udd35\udd37\udd38\udd3d\udd40\udd42\uddd1-\uddd3\udddc-\udddf\udde4\ude39\ude57\ude58\ude97]|\ud807[\udc2f\udc3e\udca9\udcb1\udcb4\udd8a-\udd8e\udd93\udd94\udd96\udef5\udef6]|\ud81b[\udf51-\udf87\udff0\udff1]|\ud834[\udd65\udd66\udd6d-\udd72]"},{name:"Me",alias:"Enclosing_Mark",bmp:"҈҉᪾⃝-⃠⃢-⃤꙰-꙲"},{name:"Mn",alias:"Nonspacing_Mark",bmp:"̀-ͯ҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٟۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ंऺ़ु-ै्॑-ॗॢॣঁ়ু-ৄ্ৢৣ৾ਁਂ਼ੁੂੇੈੋ-੍ੑੰੱੵઁં઼ુ-ૅેૈ્ૢૣૺ-૿ଁ଼ିୁ-ୄ୍୕ୖୢୣஂீ்ఀఄ఼ా-ీె-ైొ-్ౕౖౢౣಁ಼ಿೆೌ್ೢೣഀഁ഻഼ു-ൄ്ൢൣඁ්ි-ුූัิ-ฺ็-๎ັິ-ຼ່-ໍཱ༹༘༙༵༷-ཾྀ-྄྆྇ྍ-ྗྙ-ྼ࿆ိ-ူဲ-့္်ွှၘၙၞ-ၠၱ-ၴႂႅႆႍႝ፝-፟ᜒ-᜔ᜲᜳᝒᝓᝲᝳ឴឵ិ-ួំ៉-៓៝᠋-᠍᠏ᢅᢆᢩᤠ-ᤢᤧᤨᤲ᤹-᤻ᨘᨗᨛᩖᩘ-ᩞ᩠ᩢᩥ-ᩬᩳ-᩿᩼᪰-᪽ᪿ-ᫎᬀ-ᬃ᬴ᬶ-ᬺᬼᭂ᭫-᭳ᮀᮁᮢ-ᮥᮨᮩ᮫-ᮭ᯦ᯨᯩᯭᯯ-ᯱᰬ-ᰳᰶ᰷᳐-᳔᳒-᳢᳠-᳨᳭᳴᳸᳹᷀-᷿⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〭꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠥꠦ꠬꣄ꣅ꣠-꣱ꣿꤦ-꤭ꥇ-ꥑꦀ-ꦂ꦳ꦶ-ꦹꦼꦽꧥꨩ-ꨮꨱꨲꨵꨶꩃꩌꩼꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫬꫭ꫶ꯥꯨ꯭ﬞ︀-️︠-︯",astral:"\ud800[\uddfd\udee0\udf76-\udf7a]|\ud802[\ude01-\ude03\ude05\ude06\ude0c-\ude0f\ude38-\ude3a\ude3f\udee5\udee6]|\ud803[\udd24-\udd27\udeab\udeac\udf46-\udf50\udf82-\udf85]|\ud804[\udc01\udc38-\udc46\udc70\udc73\udc74\udc7f-\udc81\udcb3-\udcb6\udcb9\udcba\udcc2\udd00-\udd02\udd27-\udd2b\udd2d-\udd34\udd73\udd80\udd81\uddb6-\uddbe\uddc9-\uddcc\uddcf\ude2f-\ude31\ude34\ude36\ude37\ude3e\udedf\udee3-\udeea\udf00\udf01\udf3b\udf3c\udf40\udf66-\udf6c\udf70-\udf74]|\ud805[\udc38-\udc3f\udc42-\udc44\udc46\udc5e\udcb3-\udcb8\udcba\udcbf\udcc0\udcc2\udcc3\uddb2-\uddb5\uddbc\uddbd\uddbf\uddc0\udddc\udddd\ude33-\ude3a\ude3d\ude3f\ude40\udeab\udead\udeb0-\udeb5\udeb7\udf1d-\udf1f\udf22-\udf25\udf27-\udf2b]|\ud806[\udc2f-\udc37\udc39\udc3a\udd3b\udd3c\udd3e\udd43\uddd4-\uddd7\uddda\udddb\udde0\ude01-\ude0a\ude33-\ude38\ude3b-\ude3e\ude47\ude51-\ude56\ude59-\ude5b\ude8a-\ude96\ude98\ude99]|\ud807[\udc30-\udc36\udc38-\udc3d\udc3f\udc92-\udca7\udcaa-\udcb0\udcb2\udcb3\udcb5\udcb6\udd31-\udd36\udd3a\udd3c\udd3d\udd3f-\udd45\udd47\udd90\udd91\udd95\udd97\udef3\udef4]|\ud81a[\udef0-\udef4\udf30-\udf36]|\ud81b[\udf4f\udf8f-\udf92\udfe4]|\ud82f[\udc9d\udc9e]|\ud833[\udf00-\udf2d\udf30-\udf46]|\ud834[\udd67-\udd69\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a\udd30-\udd36\udeae\udeec-\udeef]|\ud83a[\udcd0-\udcd6\udd44-\udd4a]|\udb40[\udd00-\uddef]"},{name:"N",alias:"Number",bmp:"0-9²³¹¼-¾٠-٩۰-۹߀-߉०-९০-৯৴-৹੦-੯૦-૯୦-୯୲-୷௦-௲౦-౯౸-౾೦-೯൘-൞൦-൸෦-෯๐-๙໐-໙༠-༳၀-၉႐-႙፩-፼ᛮ-ᛰ០-៩៰-៹᠐-᠙᥆-᥏᧐-᧚᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙⁰⁴-⁹₀-₉⅐-ↂↅ-↉①-⒛⓪-⓿❶-➓⳽〇〡-〩〸-〺㆒-㆕㈠-㈩㉈-㉏㉑-㉟㊀-㊉㊱-㊿꘠-꘩ꛦ-ꛯ꠰-꠵꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",astral:"\ud800[\udd07-\udd33\udd40-\udd78\udd8a\udd8b\udee1-\udefb\udf20-\udf23\udf41\udf4a\udfd1-\udfd5]|\ud801[\udca0-\udca9]|\ud802[\udc58-\udc5f\udc79-\udc7f\udca7-\udcaf\udcfb-\udcff\udd16-\udd1b\uddbc\uddbd\uddc0-\uddcf\uddd2-\uddff\ude40-\ude48\ude7d\ude7e\ude9d-\ude9f\udeeb-\udeef\udf58-\udf5f\udf78-\udf7f\udfa9-\udfaf]|\ud803[\udcfa-\udcff\udd30-\udd39\ude60-\ude7e\udf1d-\udf26\udf51-\udf54\udfc5-\udfcb]|\ud804[\udc52-\udc6f\udcf0-\udcf9\udd36-\udd3f\uddd0-\uddd9\udde1-\uddf4\udef0-\udef9]|\ud805[\udc50-\udc59\udcd0-\udcd9\ude50-\ude59\udec0-\udec9\udf30-\udf3b]|\ud806[\udce0-\udcf2\udd50-\udd59]|\ud807[\udc50-\udc6c\udd50-\udd59\udda0-\udda9\udfc0-\udfd4]|\ud809[\udc00-\udc6e]|\ud81a[\ude60-\ude69\udec0-\udec9\udf50-\udf59\udf5b-\udf61]|\ud81b[\ude80-\ude96]|\ud834[\udee0-\udef3\udf60-\udf78]|\ud835[\udfce-\udfff]|\ud838[\udd40-\udd49\udef0-\udef9]|\ud83a[\udcc7-\udccf\udd50-\udd59]|\ud83b[\udc71-\udcab\udcad-\udcaf\udcb1-\udcb4\udd01-\udd2d\udd2f-\udd3d]|\ud83c[\udd00-\udd0c]|\ud83e[\udff0-\udff9]"},{name:"Nd",alias:"Decimal_Number",bmp:"0-9٠-٩۰-۹߀-߉०-९০-৯੦-੯૦-૯୦-୯௦-௯౦-౯೦-೯൦-൯෦-෯๐-๙໐-໙༠-༩၀-၉႐-႙០-៩᠐-᠙᥆-᥏᧐-᧙᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙꘠-꘩꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",astral:"\ud801[\udca0-\udca9]|\ud803[\udd30-\udd39]|\ud804[\udc66-\udc6f\udcf0-\udcf9\udd36-\udd3f\uddd0-\uddd9\udef0-\udef9]|\ud805[\udc50-\udc59\udcd0-\udcd9\ude50-\ude59\udec0-\udec9\udf30-\udf39]|\ud806[\udce0-\udce9\udd50-\udd59]|\ud807[\udc50-\udc59\udd50-\udd59\udda0-\udda9]|\ud81a[\ude60-\ude69\udec0-\udec9\udf50-\udf59]|\ud835[\udfce-\udfff]|\ud838[\udd40-\udd49\udef0-\udef9]|\ud83a[\udd50-\udd59]|\ud83e[\udff0-\udff9]"},{name:"Nl",alias:"Letter_Number",bmp:"ᛮ-ᛰⅠ-ↂↅ-ↈ〇〡-〩〸-〺ꛦ-ꛯ",astral:"\ud800[\udd40-\udd74\udf41\udf4a\udfd1-\udfd5]|\ud809[\udc00-\udc6e]"},{name:"No",alias:"Other_Number",bmp:"²³¹¼-¾৴-৹୲-୷௰-௲౸-౾൘-൞൰-൸༪-༳፩-፼៰-៹᧚⁰⁴-⁹₀-₉⅐-⅟↉①-⒛⓪-⓿❶-➓⳽㆒-㆕㈠-㈩㉈-㉏㉑-㉟㊀-㊉㊱-㊿꠰-꠵",astral:"\ud800[\udd07-\udd33\udd75-\udd78\udd8a\udd8b\udee1-\udefb\udf20-\udf23]|\ud802[\udc58-\udc5f\udc79-\udc7f\udca7-\udcaf\udcfb-\udcff\udd16-\udd1b\uddbc\uddbd\uddc0-\uddcf\uddd2-\uddff\ude40-\ude48\ude7d\ude7e\ude9d-\ude9f\udeeb-\udeef\udf58-\udf5f\udf78-\udf7f\udfa9-\udfaf]|\ud803[\udcfa-\udcff\ude60-\ude7e\udf1d-\udf26\udf51-\udf54\udfc5-\udfcb]|\ud804[\udc52-\udc65\udde1-\uddf4]|\ud805[\udf3a\udf3b]|\ud806[\udcea-\udcf2]|\ud807[\udc5a-\udc6c\udfc0-\udfd4]|\ud81a[\udf5b-\udf61]|\ud81b[\ude80-\ude96]|\ud834[\udee0-\udef3\udf60-\udf78]|\ud83a[\udcc7-\udccf]|\ud83b[\udc71-\udcab\udcad-\udcaf\udcb1-\udcb4\udd01-\udd2d\udd2f-\udd3d]|\ud83c[\udd00-\udd0c]"},{name:"P",alias:"Punctuation",bmp:"!-#%-\\*,-\\/:;\\?@\\[-\\]_\\{\\}¡§«¶·»¿;·՚-՟։֊־׀׃׆׳״؉؊،؍؛؝-؟٪-٭۔܀-܍߷-߹࠰-࠾࡞।॥॰৽੶૰౷಄෴๏๚๛༄-༒༔༺-༽྅࿐-࿔࿙࿚၊-၏჻፠-፨᐀᙮᚛᚜᛫-᛭᜵᜶។-៖៘-៚᠀-᠊᥄᥅᨞᨟᪠-᪦᪨-᪭᭚-᭠᭽᭾᯼-᯿᰻-᰿᱾᱿᳀-᳇᳓‐-‧‰-⁃⁅-⁑⁓-⁞⁽⁾₍₎⌈-⌋〈〉❨-❵⟅⟆⟦-⟯⦃-⦘⧘-⧛⧼⧽⳹-⳼⳾⳿⵰⸀-⸮⸰-⹏⹒-⹝、-〃〈-】〔-〟〰〽゠・꓾꓿꘍-꘏꙳꙾꛲-꛷꡴-꡷꣎꣏꣸-꣺꣼꤮꤯꥟꧁-꧍꧞꧟꩜-꩟꫞꫟꫰꫱꯫﴾﴿︐-︙︰-﹒﹔-﹡﹣﹨﹪﹫!-#%-*,-/:;?@[-]_{}⦅-・",astral:"\ud800[\udd00-\udd02\udf9f\udfd0]|𐕯|\ud802[\udc57\udd1f\udd3f\ude50-\ude58\ude7f\udef0-\udef6\udf39-\udf3f\udf99-\udf9c]|\ud803[\udead\udf55-\udf59\udf86-\udf89]|\ud804[\udc47-\udc4d\udcbb\udcbc\udcbe-\udcc1\udd40-\udd43\udd74\udd75\uddc5-\uddc8\uddcd\udddb\udddd-\udddf\ude38-\ude3d\udea9]|\ud805[\udc4b-\udc4f\udc5a\udc5b\udc5d\udcc6\uddc1-\uddd7\ude41-\ude43\ude60-\ude6c\udeb9\udf3c-\udf3e]|\ud806[\udc3b\udd44-\udd46\udde2\ude3f-\ude46\ude9a-\ude9c\ude9e-\udea2]|\ud807[\udc41-\udc45\udc70\udc71\udef7\udef8\udfff]|\ud809[\udc70-\udc74]|\ud80b[\udff1\udff2]|\ud81a[\ude6e\ude6f\udef5\udf37-\udf3b\udf44]|\ud81b[\ude97-\ude9a\udfe2]|𛲟|\ud836[\ude87-\ude8b]|\ud83a[\udd5e\udd5f]"},{name:"Pc",alias:"Connector_Punctuation",bmp:"_‿⁀⁔︳︴﹍-﹏_"},{name:"Pd",alias:"Dash_Punctuation",bmp:"\\-֊־᐀᠆‐-―⸗⸚⸺⸻⹀⹝〜〰゠︱︲﹘﹣-",astral:"𐺭"},{name:"Pe",alias:"Close_Punctuation",bmp:"\\)\\]\\}༻༽᚜⁆⁾₎⌉⌋〉❩❫❭❯❱❳❵⟆⟧⟩⟫⟭⟯⦄⦆⦈⦊⦌⦎⦐⦒⦔⦖⦘⧙⧛⧽⸣⸥⸧⸩⹖⹘⹚⹜〉》」』】〕〗〙〛〞〟﴾︘︶︸︺︼︾﹀﹂﹄﹈﹚﹜﹞)]}⦆」"},{name:"Pf",alias:"Final_Punctuation",bmp:"»’”›⸃⸅⸊⸍⸝⸡"},{name:"Pi",alias:"Initial_Punctuation",bmp:"«‘‛“‟‹⸂⸄⸉⸌⸜⸠"},{name:"Po",alias:"Other_Punctuation",bmp:"!-#%-'\\*,\\.\\/:;\\?@\\¡§¶·¿;·՚-՟։׀׃׆׳״؉؊،؍؛؝-؟٪-٭۔܀-܍߷-߹࠰-࠾࡞।॥॰৽੶૰౷಄෴๏๚๛༄-༒༔྅࿐-࿔࿙࿚၊-၏჻፠-፨᙮᛫-᛭᜵᜶។-៖៘-៚᠀-᠅᠇-᠊᥄᥅᨞᨟᪠-᪦᪨-᪭᭚-᭠᭽᭾᯼-᯿᰻-᰿᱾᱿᳀-᳇᳓‖‗†-‧‰-‸※-‾⁁-⁃⁇-⁑⁓⁕-⁞⳹-⳼⳾⳿⵰⸀⸁⸆-⸈⸋⸎-⸖⸘⸙⸛⸞⸟⸪-⸮⸰-⸹⸼-⸿⹁⹃-⹏⹒-⹔、-〃〽・꓾꓿꘍-꘏꙳꙾꛲-꛷꡴-꡷꣎꣏꣸-꣺꣼꤮꤯꥟꧁-꧍꧞꧟꩜-꩟꫞꫟꫰꫱꯫︐-︖︙︰﹅﹆﹉-﹌﹐-﹒﹔-﹗﹟-﹡﹨﹪﹫!-#%-'*,./:;?@\。、・",astral:"\ud800[\udd00-\udd02\udf9f\udfd0]|𐕯|\ud802[\udc57\udd1f\udd3f\ude50-\ude58\ude7f\udef0-\udef6\udf39-\udf3f\udf99-\udf9c]|\ud803[\udf55-\udf59\udf86-\udf89]|\ud804[\udc47-\udc4d\udcbb\udcbc\udcbe-\udcc1\udd40-\udd43\udd74\udd75\uddc5-\uddc8\uddcd\udddb\udddd-\udddf\ude38-\ude3d\udea9]|\ud805[\udc4b-\udc4f\udc5a\udc5b\udc5d\udcc6\uddc1-\uddd7\ude41-\ude43\ude60-\ude6c\udeb9\udf3c-\udf3e]|\ud806[\udc3b\udd44-\udd46\udde2\ude3f-\ude46\ude9a-\ude9c\ude9e-\udea2]|\ud807[\udc41-\udc45\udc70\udc71\udef7\udef8\udfff]|\ud809[\udc70-\udc74]|\ud80b[\udff1\udff2]|\ud81a[\ude6e\ude6f\udef5\udf37-\udf3b\udf44]|\ud81b[\ude97-\ude9a\udfe2]|𛲟|\ud836[\ude87-\ude8b]|\ud83a[\udd5e\udd5f]"},{name:"Ps",alias:"Open_Punctuation",bmp:"\\(\\[\\{༺༼᚛‚„⁅⁽₍⌈⌊〈❨❪❬❮❰❲❴⟅⟦⟨⟪⟬⟮⦃⦅⦇⦉⦋⦍⦏⦑⦓⦕⦗⧘⧚⧼⸢⸤⸦⸨⹂⹕⹗⹙⹛〈《「『【〔〖〘〚〝﴿︗︵︷︹︻︽︿﹁﹃﹇﹙﹛﹝([{⦅「"},{name:"S",alias:"Symbol",bmp:"\\$\\+<->\\^`\\|~¢-¦¨©¬®-±´¸×÷˂-˅˒-˟˥-˫˭˯-˿͵΄΅϶҂֍-֏؆-؈؋؎؏۞۩۽۾߶߾߿࢈৲৳৺৻૱୰௳-௺౿൏൹฿༁-༃༓༕-༗༚-༟༴༶༸྾-࿅࿇-࿌࿎࿏࿕-࿘႞႟᎐-᎙᙭៛᥀᧞-᧿᭡-᭪᭴-᭼᾽᾿-῁῍-῏῝-῟῭-`´῾⁄⁒⁺-⁼₊-₌₠-⃀℀℁℃-℆℈℉℔№-℘℞-℣℥℧℩℮℺℻⅀-⅄⅊-⅍⅏↊↋←-⌇⌌-⌨⌫-␦⑀-⑊⒜-ⓩ─-❧➔-⟄⟇-⟥⟰-⦂⦙-⧗⧜-⧻⧾-⭳⭶-⮕⮗-⯿⳥-⳪⹐⹑⺀-⺙⺛-⻳⼀-⿕⿰-⿻〄〒〓〠〶〷〾〿゛゜㆐㆑㆖-㆟㇀-㇣㈀-㈞㈪-㉇㉐㉠-㉿㊊-㊰㋀-㏿䷀-䷿꒐-꓆꜀-꜖꜠꜡꞉꞊꠨-꠫꠶-꠹꩷-꩹꭛꭪꭫﬩﮲-﯂﵀-﵏﷏﷼-﷿﹢﹤-﹦﹩$+<->^`|~¢-₩│-○�",astral:"\ud800[\udd37-\udd3f\udd79-\udd89\udd8c-\udd8e\udd90-\udd9c\udda0\uddd0-\uddfc]|\ud802[\udc77\udc78\udec8]|𑜿|\ud807[\udfd5-\udff1]|\ud81a[\udf3c-\udf3f\udf45]|𛲜|\ud833[\udf50-\udfc3]|\ud834[\udc00-\udcf5\udd00-\udd26\udd29-\udd64\udd6a-\udd6c\udd83\udd84\udd8c-\udda9\uddae-\uddea\ude00-\ude41\ude45\udf00-\udf56]|\ud835[\udec1\udedb\udefb\udf15\udf35\udf4f\udf6f\udf89\udfa9\udfc3]|\ud836[\udc00-\uddff\ude37-\ude3a\ude6d-\ude74\ude76-\ude83\ude85\ude86]|\ud838[\udd4f\udeff]|\ud83b[\udcac\udcb0\udd2e\udef0\udef1]|\ud83c[\udc00-\udc2b\udc30-\udc93\udca0-\udcae\udcb1-\udcbf\udcc1-\udccf\udcd1-\udcf5\udd0d-\uddad\udde6-\ude02\ude10-\ude3b\ude40-\ude48\ude50\ude51\ude60-\ude65\udf00-\udfff]|\ud83d[\udc00-\uded7\udedd-\udeec\udef0-\udefc\udf00-\udf73\udf80-\udfd8\udfe0-\udfeb\udff0]|\ud83e[\udc00-\udc0b\udc10-\udc47\udc50-\udc59\udc60-\udc87\udc90-\udcad\udcb0\udcb1\udd00-\ude53\ude60-\ude6d\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec5\uded0-\uded9\udee0-\udee7\udef0-\udef6\udf00-\udf92\udf94-\udfca]"},{name:"Sc",alias:"Currency_Symbol",bmp:"\\$¢-¥֏؋߾߿৲৳৻૱௹฿៛₠-⃀꠸﷼﹩$¢£¥₩",astral:"\ud807[\udfdd-\udfe0]|𞋿|𞲰"},{name:"Sk",alias:"Modifier_Symbol",bmp:"\\^`¨¯´¸˂-˅˒-˟˥-˫˭˯-˿͵΄΅࢈᾽᾿-῁῍-῏῝-῟῭-`´῾゛゜꜀-꜖꜠꜡꞉꞊꭛꭪꭫﮲-﯂^` ̄",astral:"\ud83c[\udffb-\udfff]"},{name:"Sm",alias:"Math_Symbol",bmp:"\\+<->\\|~¬±×÷϶؆-؈⁄⁒⁺-⁼₊-₌℘⅀-⅄⅋←-↔↚↛↠↣↦↮⇎⇏⇒⇔⇴-⋿⌠⌡⍼⎛-⎳⏜-⏡▷◁◸-◿♯⟀-⟄⟇-⟥⟰-⟿⤀-⦂⦙-⧗⧜-⧻⧾-⫿⬰-⭄⭇-⭌﬩﹢﹤-﹦+<->|~¬←-↓",astral:"\ud835[\udec1\udedb\udefb\udf15\udf35\udf4f\udf6f\udf89\udfa9\udfc3]|\ud83b[\udef0\udef1]"},{name:"So",alias:"Other_Symbol",bmp:"¦©®°҂֍֎؎؏۞۩۽۾߶৺୰௳-௸௺౿൏൹༁-༃༓༕-༗༚-༟༴༶༸྾-࿅࿇-࿌࿎࿏࿕-࿘႞႟᎐-᎙᙭᥀᧞-᧿᭡-᭪᭴-᭼℀℁℃-℆℈℉℔№℗℞-℣℥℧℩℮℺℻⅊⅌⅍⅏↊↋↕-↙↜-↟↡↢↤↥↧-↭↯-⇍⇐⇑⇓⇕-⇳⌀-⌇⌌-⌟⌢-⌨⌫-⍻⍽-⎚⎴-⏛⏢-␦⑀-⑊⒜-ⓩ─-▶▸-◀◂-◷☀-♮♰-❧➔-➿⠀-⣿⬀-⬯⭅⭆⭍-⭳⭶-⮕⮗-⯿⳥-⳪⹐⹑⺀-⺙⺛-⻳⼀-⿕⿰-⿻〄〒〓〠〶〷〾〿㆐㆑㆖-㆟㇀-㇣㈀-㈞㈪-㉇㉐㉠-㉿㊊-㊰㋀-㏿䷀-䷿꒐-꓆꠨-꠫꠶꠷꠹꩷-꩹﵀-﵏﷏﷽-﷿¦│■○�",astral:"\ud800[\udd37-\udd3f\udd79-\udd89\udd8c-\udd8e\udd90-\udd9c\udda0\uddd0-\uddfc]|\ud802[\udc77\udc78\udec8]|𑜿|\ud807[\udfd5-\udfdc\udfe1-\udff1]|\ud81a[\udf3c-\udf3f\udf45]|𛲜|\ud833[\udf50-\udfc3]|\ud834[\udc00-\udcf5\udd00-\udd26\udd29-\udd64\udd6a-\udd6c\udd83\udd84\udd8c-\udda9\uddae-\uddea\ude00-\ude41\ude45\udf00-\udf56]|\ud836[\udc00-\uddff\ude37-\ude3a\ude6d-\ude74\ude76-\ude83\ude85\ude86]|𞅏|\ud83b[\udcac\udd2e]|\ud83c[\udc00-\udc2b\udc30-\udc93\udca0-\udcae\udcb1-\udcbf\udcc1-\udccf\udcd1-\udcf5\udd0d-\uddad\udde6-\ude02\ude10-\ude3b\ude40-\ude48\ude50\ude51\ude60-\ude65\udf00-\udffa]|\ud83d[\udc00-\uded7\udedd-\udeec\udef0-\udefc\udf00-\udf73\udf80-\udfd8\udfe0-\udfeb\udff0]|\ud83e[\udc00-\udc0b\udc10-\udc47\udc50-\udc59\udc60-\udc87\udc90-\udcad\udcb0\udcb1\udd00-\ude53\ude60-\ude6d\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec5\uded0-\uded9\udee0-\udee7\udef0-\udef6\udf00-\udf92\udf94-\udfca]"},{name:"Z",alias:"Separator",bmp:" - \u2028\u2029 "},{name:"Zl",alias:"Line_Separator",bmp:"\u2028"},{name:"Zp",alias:"Paragraph_Separator",bmp:"\u2029"},{name:"Zs",alias:"Space_Separator",bmp:" - "}]},2474:e=>{e.exports=[{name:"ASCII",bmp:"\0-"},{name:"Alphabetic",bmp:"A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͅͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈְ-ׇֽֿׁׂׅׄא-תׯ-ײؐ-ؚؠ-ٗٙ-ٟٮ-ۓە-ۜۡ-ۭۨ-ۯۺ-ۼۿܐ-ܿݍ-ޱߊ-ߪߴߵߺࠀ-ࠗࠚ-ࠬࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉࣔ-ࣣࣟ-ࣰࣩ-ऻऽ-ौॎ-ॐॕ-ॣॱ-ঃঅ-ঌএঐও-নপ-রলশ-হঽ-ৄেৈোৌৎৗড়ঢ়য়-ৣৰৱৼਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਾ-ੂੇੈੋੌੑਖ਼-ੜਫ਼ੰ-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽ-ૅે-ૉોૌૐૠ-ૣૹ-ૼଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽ-ୄେୈୋୌୖୗଡ଼ଢ଼ୟ-ୣୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-ௌௐௗఀ-ఃఅ-ఌఎ-ఐఒ-నప-హఽ-ౄె-ైొ-ౌౕౖౘ-ౚౝౠ-ౣಀ-ಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽ-ೄೆ-ೈೊ-ೌೕೖೝೞೠ-ೣೱೲഀ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൌൎൔ-ൗൟ-ൣൺ-ൿඁ-ඃඅ-ඖක-නඳ-රලව-ෆා-ුූෘ-ෟෲෳก-ฺเ-ๆํກຂຄຆ-ຊຌ-ຣລວ-ູົ-ຽເ-ໄໆໍໜ-ໟༀཀ-ཇཉ-ཬཱ-ཱྀྈ-ྗྙ-ྼက-ံးျ-ဿၐ-ႏႚ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜓᜟ-ᜳᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-ឳា-ៈៗៜᠠ-ᡸᢀ-ᢪᢰ-ᣵᤀ-ᤞᤠ-ᤫᤰ-ᤸᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨛᨠ-ᩞᩡ-ᩴᪧᪿᫀᫌ-ᫎᬀ-ᬳᬵ-ᭃᭅ-ᭌᮀ-ᮩᮬ-ᮯᮺ-ᯥᯧ-ᯱᰀ-ᰶᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿᷧ-ᷴḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⒶ-ⓩⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙴ-ꙻꙿ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠅꠇ-ꠧꡀ-ꡳꢀ-ꣃꣅꣲ-ꣷꣻꣽ-ꣿꤊ-ꤪꤰ-ꥒꥠ-ꥼꦀ-ꦲꦴ-ꦿꧏꧠ-ꧯꧺ-ꧾꨀ-ꨶꩀ-ꩍꩠ-ꩶꩺ-ꪾꫀꫂꫛ-ꫝꫠ-ꫯꫲ-ꫵꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯪ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf7a\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc\ude00-\udf36\udf40-\udf55\udf60-\udf67\udf80-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe\uddbf\ude00-\ude03\ude05\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd27\ude80-\udea9\udeab\udeac\udeb0\udeb1\udf00-\udf1c\udf27\udf30-\udf45\udf70-\udf81\udfb0-\udfc4\udfe0-\udff6]|\ud804[\udc00-\udc45\udc71-\udc75\udc82-\udcb8\udcc2\udcd0-\udce8\udd00-\udd32\udd44-\udd47\udd50-\udd72\udd76\udd80-\uddbf\uddc1-\uddc4\uddce\uddcf\uddda\udddc\ude00-\ude11\ude13-\ude34\ude37\ude3e\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udee8\udf00-\udf03\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3d-\udf44\udf47\udf48\udf4b\udf4c\udf50\udf57\udf5d-\udf63]|\ud805[\udc00-\udc41\udc43-\udc45\udc47-\udc4a\udc5f-\udc61\udc80-\udcc1\udcc4\udcc5\udcc7\udd80-\uddb5\uddb8-\uddbe\uddd8-\udddd\ude00-\ude3e\ude40\ude44\ude80-\udeb5\udeb8\udf00-\udf1a\udf1d-\udf2a\udf40-\udf46]|\ud806[\udc00-\udc38\udca0-\udcdf\udcff-\udd06\udd09\udd0c-\udd13\udd15\udd16\udd18-\udd35\udd37\udd38\udd3b\udd3c\udd3f-\udd42\udda0-\udda7\uddaa-\uddd7\uddda-\udddf\udde1\udde3\udde4\ude00-\ude32\ude35-\ude3e\ude50-\ude97\ude9d\udeb0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc3e\udc40\udc72-\udc8f\udc92-\udca7\udca9-\udcb6\udd00-\udd06\udd08\udd09\udd0b-\udd36\udd3a\udd3c\udd3d\udd3f-\udd41\udd43\udd46\udd47\udd60-\udd65\udd67\udd68\udd6a-\udd8e\udd90\udd91\udd93-\udd96\udd98\udee0-\udef6\udfb0]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80b[\udf90-\udff0]|[\ud80c\ud81c-\ud820\ud822\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872\ud874-\ud879\ud880-\ud883][\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude70-\udebe\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf4f-\udf87\udf8f-\udf9f\udfe0\udfe1\udfe3\udff0\udff1]|\ud821[\udc00-\udff7]|\ud823[\udc00-\udcd5\udd00-\udd08]|\ud82b[\udff0-\udff3\udff5-\udffb\udffd\udffe]|\ud82c[\udc00-\udd22\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9e]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud837[\udf00-\udf1e]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a\udd00-\udd2c\udd37-\udd3d\udd4e\ude90-\udead\udec0-\udeeb]|\ud839[\udfe0-\udfe6\udfe8-\udfeb\udfed\udfee\udff0-\udffe]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd47\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud83c[\udd30-\udd49\udd50-\udd69\udd70-\udd89]|\ud869[\udc00-\udedf\udf00-\udfff]|\ud86d[\udc00-\udf38\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\ud884[\udc00-\udf4a]"},{name:"Any",isBmpLast:!0,bmp:"\0-",astral:"[\ud800-\udbff][\udc00-\udfff]"},{name:"Default_Ignorable_Code_Point",bmp:"͏ᅟᅠ឴឵᠋-᠏---ㅤ︀-️\ufeffᅠ-",astral:"\ud82f[\udca0-\udca3]|\ud834[\udd73-\udd7a]|[\udb40-\udb43][\udc00-\udfff]"},{name:"Lowercase",bmp:"a-zªµºß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĸĺļľŀłńņňʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌƍƒƕƙ-ƛƞơƣƥƨƪƫƭưƴƶƹƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜǝǟǡǣǥǧǩǫǭǯǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿɀɂɇɉɋɍɏ-ʓʕ-ʸˀˁˠ-ˤͅͱͳͷͺ-ͽΐά-ώϐϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯՠ-ֈა-ჺჽ-ჿᏸ-ᏽᲀ-ᲈᴀ-ᶿḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶᾷιῂ-ῄῆῇῐ-ΐῖῗῠ-ῧῲ-ῴῶῷⁱⁿₐ-ₜℊℎℏℓℯℴℹℼℽⅆ-ⅉⅎⅰ-ⅿↄⓐ-ⓩⰰ-ⱟⱡⱥⱦⱨⱪⱬⱱⱳⱴⱶ-ⱽⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳤⳬⳮⳳⴀ-ⴥⴧⴭꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛ-ꚝꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌꞎꞑꞓ-ꞕꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩꞯꞵꞷꞹꞻꞽꞿꟁꟃꟈꟊꟑꟓꟕꟗꟙꟶꟸ-ꟺꬰ-ꭚꭜ-ꭨꭰ-ꮿff-stﬓ-ﬗa-z",astral:"\ud801[\udc28-\udc4f\udcd8-\udcfb\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc\udf80\udf83-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud803[\udcc0-\udcf2]|\ud806[\udcc0-\udcdf]|\ud81b[\ude60-\ude7f]|\ud835[\udc1a-\udc33\udc4e-\udc54\udc56-\udc67\udc82-\udc9b\udcb6-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udccf\udcea-\udd03\udd1e-\udd37\udd52-\udd6b\udd86-\udd9f\uddba-\uddd3\uddee-\ude07\ude22-\ude3b\ude56-\ude6f\ude8a-\udea5\udec2-\udeda\udedc-\udee1\udefc-\udf14\udf16-\udf1b\udf36-\udf4e\udf50-\udf55\udf70-\udf88\udf8a-\udf8f\udfaa-\udfc2\udfc4-\udfc9\udfcb]|\ud837[\udf00-\udf09\udf0b-\udf1e]|\ud83a[\udd22-\udd43]"},{name:"Noncharacter_Code_Point",bmp:"-",astral:"[\ud83f\ud87f\ud8bf\ud8ff\ud93f\ud97f\ud9bf\ud9ff\uda3f\uda7f\udabf\udaff\udb3f\udb7f\udbbf\udbff][\udffe\udfff]"},{name:"Uppercase",bmp:"A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽƁƂƄƆƇƉ-ƋƎ-ƑƓƔƖ-ƘƜƝƟƠƢƤƦƧƩƬƮƯƱ-ƳƵƷƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺȻȽȾɁɃ-ɆɈɊɌɎͰͲͶͿΆΈ-ΊΌΎΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԨԪԬԮԱ-ՖႠ-ჅჇჍᎠ-ᏵᲐ-ᲺᲽ-ᲿḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾℿⅅⅠ-ⅯↃⒶ-ⓏⰀ-ⰯⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꚘꚚꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽꝾꞀꞂꞄꞆꞋꞍꞐꞒꞖꞘꞚꞜꞞꞠꞢꞤꞦꞨꞪ-ꞮꞰ-ꞴꞶꞸꞺꞼꞾꟀꟂꟄ-ꟇꟉꟐꟖꟘꟵA-Z",astral:"\ud801[\udc00-\udc27\udcb0-\udcd3\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95]|\ud803[\udc80-\udcb2]|\ud806[\udca0-\udcbf]|\ud81b[\ude40-\ude5f]|\ud835[\udc00-\udc19\udc34-\udc4d\udc68-\udc81\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb5\udcd0-\udce9\udd04\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd38\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd6c-\udd85\udda0-\uddb9\uddd4-\udded\ude08-\ude21\ude3c-\ude55\ude70-\ude89\udea8-\udec0\udee2-\udefa\udf1c-\udf34\udf56-\udf6e\udf90-\udfa8\udfca]|\ud83a[\udd00-\udd21]|\ud83c[\udd30-\udd49\udd50-\udd69\udd70-\udd89]"},{name:"White_Space",bmp:"\t-\r
- \u2028\u2029 "}]},772:e=>{e.exports=[{name:"Adlam",astral:"\ud83a[\udd00-\udd4b\udd50-\udd59\udd5e\udd5f]"},{name:"Ahom",astral:"\ud805[\udf00-\udf1a\udf1d-\udf2b\udf30-\udf46]"},{name:"Anatolian_Hieroglyphs",astral:"\ud811[\udc00-\ude46]"},{name:"Arabic",bmp:"-؆-؋؍-ؚ-؞ؠ-ؿف-يٖ-ٯٱ-ۜ۞-ۿݐ-ݿࡰ-ࢎ࢘-ࣣ࣡-ࣿﭐ-﯂ﯓ-ﴽ﵀-ﶏﶒ-ﷇ﷏ﷰ-﷿ﹰ-ﹴﹶ-ﻼ",astral:"\ud803[\ude60-\ude7e]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb\udef0\udef1]"},{name:"Armenian",bmp:"Ա-Ֆՙ-֊֍-֏ﬓ-ﬗ"},{name:"Avestan",astral:"\ud802[\udf00-\udf35\udf39-\udf3f]"},{name:"Balinese",bmp:"ᬀ-ᭌ᭐-᭾"},{name:"Bamum",bmp:"ꚠ-꛷",astral:"\ud81a[\udc00-\ude38]"},{name:"Bassa_Vah",astral:"\ud81a[\uded0-\udeed\udef0-\udef5]"},{name:"Batak",bmp:"ᯀ-᯳᯼-᯿"},{name:"Bengali",bmp:"ঀ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-৾"},{name:"Bhaiksuki",astral:"\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc45\udc50-\udc6c]"},{name:"Bopomofo",bmp:"˪˫ㄅ-ㄯㆠ-ㆿ"},{name:"Brahmi",astral:"\ud804[\udc00-\udc4d\udc52-\udc75\udc7f]"},{name:"Braille",bmp:"⠀-⣿"},{name:"Buginese",bmp:"ᨀ-ᨛ᨞᨟"},{name:"Buhid",bmp:"ᝀ-ᝓ"},{name:"Canadian_Aboriginal",bmp:"᐀-ᙿᢰ-ᣵ",astral:"\ud806[\udeb0-\udebf]"},{name:"Carian",astral:"\ud800[\udea0-\uded0]"},{name:"Caucasian_Albanian",astral:"\ud801[\udd30-\udd63\udd6f]"},{name:"Chakma",astral:"\ud804[\udd00-\udd34\udd36-\udd47]"},{name:"Cham",bmp:"ꨀ-ꨶꩀ-ꩍ꩐-꩙꩜-꩟"},{name:"Cherokee",bmp:"Ꭰ-Ᏽᏸ-ᏽꭰ-ꮿ"},{name:"Chorasmian",astral:"\ud803[\udfb0-\udfcb]"},{name:"Common",bmp:"\0-@\\[-`\\{-©«-¹»-¿×÷ʹ-˟˥-˩ˬ-˿ʹ;΅·،؛؟ـ।॥฿࿕-࿘჻᛫-᛭᜵᜶᠂᠃᠅᳓᳡ᳩ-ᳬᳮ-ᳳᳵ-᳷ᳺ ---⁰⁴-⁾₀-₎₠-⃀℀-℥℧-℩ℬ-ℱℳ-⅍⅏-⅟↉-↋←-␦⑀-⑊①-⟿⤀-⭳⭶-⮕⮗-⯿⸀-⹝⿰-⿻ -〄〆〈-〠〰-〷〼-〿゛゜゠・ー㆐-㆟㇀-㇣㈠-㉟㉿-㋏㋿㍘-㏿䷀-䷿꜀-꜡ꞈ-꞊꠰-꠹꤮ꧏ꭛꭪꭫﴾﴿︐-︙︰-﹒﹔-﹦﹨-﹫\ufeff!-@[-`{-・ー゙゚¢-₩│-○-�",astral:"\ud800[\udd00-\udd02\udd07-\udd33\udd37-\udd3f\udd90-\udd9c\uddd0-\uddfc\udee1-\udefb]|\ud82f[\udca0-\udca3]|\ud833[\udf50-\udfc3]|\ud834[\udc00-\udcf5\udd00-\udd26\udd29-\udd66\udd6a-\udd7a\udd83\udd84\udd8c-\udda9\uddae-\uddea\udee0-\udef3\udf00-\udf56\udf60-\udf78]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udfcb\udfce-\udfff]|\ud83b[\udc71-\udcb4\udd01-\udd3d]|\ud83c[\udc00-\udc2b\udc30-\udc93\udca0-\udcae\udcb1-\udcbf\udcc1-\udccf\udcd1-\udcf5\udd00-\uddad\udde6-\uddff\ude01\ude02\ude10-\ude3b\ude40-\ude48\ude50\ude51\ude60-\ude65\udf00-\udfff]|\ud83d[\udc00-\uded7\udedd-\udeec\udef0-\udefc\udf00-\udf73\udf80-\udfd8\udfe0-\udfeb\udff0]|\ud83e[\udc00-\udc0b\udc10-\udc47\udc50-\udc59\udc60-\udc87\udc90-\udcad\udcb0\udcb1\udd00-\ude53\ude60-\ude6d\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec5\uded0-\uded9\udee0-\udee7\udef0-\udef6\udf00-\udf92\udf94-\udfca\udff0-\udff9]|\udb40[\udc01\udc20-\udc7f]"},{name:"Coptic",bmp:"Ϣ-ϯⲀ-ⳳ⳹-⳿"},{name:"Cuneiform",astral:"\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc70-\udc74\udc80-\udd43]"},{name:"Cypriot",astral:"\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f]"},{name:"Cypro_Minoan",astral:"\ud80b[\udf90-\udff2]"},{name:"Cyrillic",bmp:"Ѐ-҄҇-ԯᲀ-ᲈᴫᵸⷠ-ⷿꙀ-ꚟ︮︯"},{name:"Deseret",astral:"\ud801[\udc00-\udc4f]"},{name:"Devanagari",bmp:"ऀ-ॐॕ-ॣ०-ॿ꣠-ꣿ"},{name:"Dives_Akuru",astral:"\ud806[\udd00-\udd06\udd09\udd0c-\udd13\udd15\udd16\udd18-\udd35\udd37\udd38\udd3b-\udd46\udd50-\udd59]"},{name:"Dogra",astral:"\ud806[\udc00-\udc3b]"},{name:"Duployan",astral:"\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9c-\udc9f]"},{name:"Egyptian_Hieroglyphs",astral:"\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e\udc30-\udc38]"},{name:"Elbasan",astral:"\ud801[\udd00-\udd27]"},{name:"Elymaic",astral:"\ud803[\udfe0-\udff6]"},{name:"Ethiopic",bmp:"ሀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፼ᎀ-᎙ⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮ",astral:"\ud839[\udfe0-\udfe6\udfe8-\udfeb\udfed\udfee\udff0-\udffe]"},{name:"Georgian",bmp:"Ⴀ-ჅჇჍა-ჺჼ-ჿᲐ-ᲺᲽ-Ჿⴀ-ⴥⴧⴭ"},{name:"Glagolitic",bmp:"Ⰰ-ⱟ",astral:"\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a]"},{name:"Gothic",astral:"\ud800[\udf30-\udf4a]"},{name:"Grantha",astral:"\ud804[\udf00-\udf03\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3c-\udf44\udf47\udf48\udf4b-\udf4d\udf50\udf57\udf5d-\udf63\udf66-\udf6c\udf70-\udf74]"},{name:"Greek",bmp:"Ͱ-ͳ͵-ͷͺ-ͽͿ΄ΆΈ-ΊΌΎ-ΡΣ-ϡϰ-Ͽᴦ-ᴪᵝ-ᵡᵦ-ᵪᶿἀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ῄῆ-ΐῖ-Ί῝-`ῲ-ῴῶ-῾Ωꭥ",astral:"\ud800[\udd40-\udd8e\udda0]|\ud834[\ude00-\ude45]"},{name:"Gujarati",bmp:"ઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૱ૹ-૿"},{name:"Gunjala_Gondi",astral:"\ud807[\udd60-\udd65\udd67\udd68\udd6a-\udd8e\udd90\udd91\udd93-\udd98\udda0-\udda9]"},{name:"Gurmukhi",bmp:"ਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-੶"},{name:"Han",bmp:"⺀-⺙⺛-⻳⼀-⿕々〇〡-〩〸-〻㐀-䶿一-鿿豈-舘並-龎",astral:"\ud81b[\udfe2\udfe3\udff0\udff1]|[\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872\ud874-\ud879\ud880-\ud883][\udc00-\udfff]|\ud869[\udc00-\udedf\udf00-\udfff]|\ud86d[\udc00-\udf38\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\ud884[\udc00-\udf4a]"},{name:"Hangul",bmp:"ᄀ-ᇿ〮〯ㄱ-ㆎ㈀-㈞㉠-㉾ꥠ-ꥼ가-힣ힰ-ퟆퟋ-ퟻᅠ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ"},{name:"Hanifi_Rohingya",astral:"\ud803[\udd00-\udd27\udd30-\udd39]"},{name:"Hanunoo",bmp:"ᜠ-᜴"},{name:"Hatran",astral:"\ud802[\udce0-\udcf2\udcf4\udcf5\udcfb-\udcff]"},{name:"Hebrew",bmp:"֑-ׇא-תׯ-״יִ-זּטּ-לּמּנּסּףּפּצּ-ﭏ"},{name:"Hiragana",bmp:"ぁ-ゖゝ-ゟ",astral:"\ud82c[\udc01-\udd1f\udd50-\udd52]|🈀"},{name:"Imperial_Aramaic",astral:"\ud802[\udc40-\udc55\udc57-\udc5f]"},{name:"Inherited",bmp:"̀-ًͯ҅҆-ٰٕ॑-॔᪰-ᫎ᳐-᳔᳒-᳢᳠-᳨᳭᳴᳸᳹᷀-᷿⃐-〪⃰-゙゚〭︀-️︠-︭",astral:"\ud800[\uddfd\udee0]|𑌻|\ud833[\udf00-\udf2d\udf30-\udf46]|\ud834[\udd67-\udd69\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad]|\udb40[\udd00-\uddef]"},{name:"Inscriptional_Pahlavi",astral:"\ud802[\udf60-\udf72\udf78-\udf7f]"},{name:"Inscriptional_Parthian",astral:"\ud802[\udf40-\udf55\udf58-\udf5f]"},{name:"Javanese",bmp:"ꦀ-꧍꧐-꧙꧞꧟"},{name:"Kaithi",astral:"\ud804[\udc80-\udcc2\udccd]"},{name:"Kannada",bmp:"ಀ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೝೞೠ-ೣ೦-೯ೱೲ"},{name:"Katakana",bmp:"ァ-ヺヽ-ヿㇰ-ㇿ㋐-㋾㌀-㍗ヲ-ッア-ン",astral:"\ud82b[\udff0-\udff3\udff5-\udffb\udffd\udffe]|\ud82c[\udc00\udd20-\udd22\udd64-\udd67]"},{name:"Kayah_Li",bmp:"꤀-꤭꤯"},{name:"Kharoshthi",astral:"\ud802[\ude00-\ude03\ude05\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude35\ude38-\ude3a\ude3f-\ude48\ude50-\ude58]"},{name:"Khitan_Small_Script",astral:"𖿤|\ud822[\udf00-\udfff]|\ud823[\udc00-\udcd5]"},{name:"Khmer",bmp:"ក-៝០-៩៰-៹᧠-᧿"},{name:"Khojki",astral:"\ud804[\ude00-\ude11\ude13-\ude3e]"},{name:"Khudawadi",astral:"\ud804[\udeb0-\udeea\udef0-\udef9]"},{name:"Lao",bmp:"ກຂຄຆ-ຊຌ-ຣລວ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟ"},{name:"Latin",bmp:"A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꟿꬰ-ꭚꭜ-ꭤꭦ-ꭩff-stA-Za-z",astral:"\ud801[\udf80-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud837[\udf00-\udf1e]"},{name:"Lepcha",bmp:"ᰀ-᰷᰻-᱉ᱍ-ᱏ"},{name:"Limbu",bmp:"ᤀ-ᤞᤠ-ᤫᤰ-᤻᥀᥄-᥏"},{name:"Linear_A",astral:"\ud801[\ude00-\udf36\udf40-\udf55\udf60-\udf67]"},{name:"Linear_B",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa]"},{name:"Lisu",bmp:"ꓐ-꓿",astral:"𑾰"},{name:"Lycian",astral:"\ud800[\ude80-\ude9c]"},{name:"Lydian",astral:"\ud802[\udd20-\udd39\udd3f]"},{name:"Mahajani",astral:"\ud804[\udd50-\udd76]"},{name:"Makasar",astral:"\ud807[\udee0-\udef8]"},{name:"Malayalam",bmp:"ഀ-ഌഎ-ഐഒ-ൄെ-ൈൊ-൏ൔ-ൣ൦-ൿ"},{name:"Mandaic",bmp:"ࡀ-࡛࡞"},{name:"Manichaean",astral:"\ud802[\udec0-\udee6\udeeb-\udef6]"},{name:"Marchen",astral:"\ud807[\udc70-\udc8f\udc92-\udca7\udca9-\udcb6]"},{name:"Masaram_Gondi",astral:"\ud807[\udd00-\udd06\udd08\udd09\udd0b-\udd36\udd3a\udd3c\udd3d\udd3f-\udd47\udd50-\udd59]"},{name:"Medefaidrin",astral:"\ud81b[\ude40-\ude9a]"},{name:"Meetei_Mayek",bmp:"ꫠ-꫶ꯀ-꯭꯰-꯹"},{name:"Mende_Kikakui",astral:"\ud83a[\udc00-\udcc4\udcc7-\udcd6]"},{name:"Meroitic_Cursive",astral:"\ud802[\udda0-\uddb7\uddbc-\uddcf\uddd2-\uddff]"},{name:"Meroitic_Hieroglyphs",astral:"\ud802[\udd80-\udd9f]"},{name:"Miao",astral:"\ud81b[\udf00-\udf4a\udf4f-\udf87\udf8f-\udf9f]"},{name:"Modi",astral:"\ud805[\ude00-\ude44\ude50-\ude59]"},{name:"Mongolian",bmp:"᠀᠁᠄᠆-᠙ᠠ-ᡸᢀ-ᢪ",astral:"\ud805[\ude60-\ude6c]"},{name:"Mro",astral:"\ud81a[\ude40-\ude5e\ude60-\ude69\ude6e\ude6f]"},{name:"Multani",astral:"\ud804[\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea9]"},{name:"Myanmar",bmp:"က-႟ꧠ-ꧾꩠ-ꩿ"},{name:"Nabataean",astral:"\ud802[\udc80-\udc9e\udca7-\udcaf]"},{name:"Nandinagari",astral:"\ud806[\udda0-\udda7\uddaa-\uddd7\uddda-\udde4]"},{name:"New_Tai_Lue",bmp:"ᦀ-ᦫᦰ-ᧉ᧐-᧚᧞᧟"},{name:"Newa",astral:"\ud805[\udc00-\udc5b\udc5d-\udc61]"},{name:"Nko",bmp:"߀-ߺ߽-߿"},{name:"Nushu",astral:"𖿡|\ud82c[\udd70-\udefb]"},{name:"Nyiakeng_Puachue_Hmong",astral:"\ud838[\udd00-\udd2c\udd30-\udd3d\udd40-\udd49\udd4e\udd4f]"},{name:"Ogham",bmp:" -᚜"},{name:"Ol_Chiki",bmp:"᱐-᱿"},{name:"Old_Hungarian",astral:"\ud803[\udc80-\udcb2\udcc0-\udcf2\udcfa-\udcff]"},{name:"Old_Italic",astral:"\ud800[\udf00-\udf23\udf2d-\udf2f]"},{name:"Old_North_Arabian",astral:"\ud802[\ude80-\ude9f]"},{name:"Old_Permic",astral:"\ud800[\udf50-\udf7a]"},{name:"Old_Persian",astral:"\ud800[\udfa0-\udfc3\udfc8-\udfd5]"},{name:"Old_Sogdian",astral:"\ud803[\udf00-\udf27]"},{name:"Old_South_Arabian",astral:"\ud802[\ude60-\ude7f]"},{name:"Old_Turkic",astral:"\ud803[\udc00-\udc48]"},{name:"Old_Uyghur",astral:"\ud803[\udf70-\udf89]"},{name:"Oriya",bmp:"ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍୕-ୗଡ଼ଢ଼ୟ-ୣ୦-୷"},{name:"Osage",astral:"\ud801[\udcb0-\udcd3\udcd8-\udcfb]"},{name:"Osmanya",astral:"\ud801[\udc80-\udc9d\udca0-\udca9]"},{name:"Pahawh_Hmong",astral:"\ud81a[\udf00-\udf45\udf50-\udf59\udf5b-\udf61\udf63-\udf77\udf7d-\udf8f]"},{name:"Palmyrene",astral:"\ud802[\udc60-\udc7f]"},{name:"Pau_Cin_Hau",astral:"\ud806[\udec0-\udef8]"},{name:"Phags_Pa",bmp:"ꡀ-꡷"},{name:"Phoenician",astral:"\ud802[\udd00-\udd1b\udd1f]"},{name:"Psalter_Pahlavi",astral:"\ud802[\udf80-\udf91\udf99-\udf9c\udfa9-\udfaf]"},{name:"Rejang",bmp:"ꤰ-꥓꥟"},{name:"Runic",bmp:"ᚠ-ᛪᛮ-ᛸ"},{name:"Samaritan",bmp:"ࠀ-࠭࠰-࠾"},{name:"Saurashtra",bmp:"ꢀ-ꣅ꣎-꣙"},{name:"Sharada",astral:"\ud804[\udd80-\udddf]"},{name:"Shavian",astral:"\ud801[\udc50-\udc7f]"},{name:"Siddham",astral:"\ud805[\udd80-\uddb5\uddb8-\udddd]"},{name:"SignWriting",astral:"\ud836[\udc00-\ude8b\ude9b-\ude9f\udea1-\udeaf]"},{name:"Sinhala",bmp:"ඁ-ඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟ෦-෯ෲ-෴",astral:"\ud804[\udde1-\uddf4]"},{name:"Sogdian",astral:"\ud803[\udf30-\udf59]"},{name:"Sora_Sompeng",astral:"\ud804[\udcd0-\udce8\udcf0-\udcf9]"},{name:"Soyombo",astral:"\ud806[\ude50-\udea2]"},{name:"Sundanese",bmp:"ᮀ-ᮿ᳀-᳇"},{name:"Syloti_Nagri",bmp:"ꠀ-꠬"},{name:"Syriac",bmp:"܀-܍-݊ݍ-ݏࡠ-ࡪ"},{name:"Tagalog",bmp:"ᜀ-᜕ᜟ"},{name:"Tagbanwa",bmp:"ᝠ-ᝬᝮ-ᝰᝲᝳ"},{name:"Tai_Le",bmp:"ᥐ-ᥭᥰ-ᥴ"},{name:"Tai_Tham",bmp:"ᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪠-᪭"},{name:"Tai_Viet",bmp:"ꪀ-ꫂꫛ-꫟"},{name:"Takri",astral:"\ud805[\ude80-\udeb9\udec0-\udec9]"},{name:"Tamil",bmp:"ஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௺",astral:"\ud807[\udfc0-\udff1\udfff]"},{name:"Tangsa",astral:"\ud81a[\ude70-\udebe\udec0-\udec9]"},{name:"Tangut",astral:"𖿠|[\ud81c-\ud820][\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udeff]|\ud823[\udd00-\udd08]"},{name:"Telugu",bmp:"ఀ-ఌఎ-ఐఒ-నప-హ఼-ౄె-ైొ-్ౕౖౘ-ౚౝౠ-ౣ౦-౯౷-౿"},{name:"Thaana",bmp:"ހ-ޱ"},{name:"Thai",bmp:"ก-ฺเ-๛"},{name:"Tibetan",bmp:"ༀ-ཇཉ-ཬཱ-ྗྙ-ྼ྾-࿌࿎-࿔࿙࿚"},{name:"Tifinagh",bmp:"ⴰ-ⵧⵯ⵰⵿"},{name:"Tirhuta",astral:"\ud805[\udc80-\udcc7\udcd0-\udcd9]"},{name:"Toto",astral:"\ud838[\ude90-\udeae]"},{name:"Ugaritic",astral:"\ud800[\udf80-\udf9d\udf9f]"},{name:"Vai",bmp:"ꔀ-ꘫ"},{name:"Vithkuqi",astral:"\ud801[\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc]"},{name:"Wancho",astral:"\ud838[\udec0-\udef9\udeff]"},{name:"Warang_Citi",astral:"\ud806[\udca0-\udcf2\udcff]"},{name:"Yezidi",astral:"\ud803[\ude80-\udea9\udeab-\udead\udeb0\udeb1]"},{name:"Yi",bmp:"ꀀ-ꒌ꒐-꓆"},{name:"Zanabazar_Square",astral:"\ud806[\ude00-\ude47]"}]},9491:e=>{"use strict";e.exports=require("assert")},4300:e=>{"use strict";e.exports=require("buffer")},6113:e=>{"use strict";e.exports=require("crypto")},7147:e=>{"use strict";e.exports=require("fs")},2781:e=>{"use strict";e.exports=require("stream")},1576:e=>{"use strict";e.exports=require("string_decoder")},3837:e=>{"use strict";e.exports=require("util")},7260:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/perf_block_constraint.json","type":"object","properties":{"type":{"type":"string","enum":["paragraph","graft"]},"content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./perf_contentElement_constraint.json"}]}},"meta_content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./perf_contentElement_constraint.json"}]}}},"if":{"properties":{"type":{"enum":["graft"]}}},"then":{"properties":{"subtype":{"enum":["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},"else":{"properties":{"subtype":{"type":"string","pattern":"^usfm:"}}}}')},6025:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/perf_contentElement_constraint.json","type":"object","allOf":[{"properties":{"content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./perf_contentElement_constraint.json"}]}},"meta_content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./perf_contentElement_constraint.json"}]}}}},{"if":{"properties":{"type":{"enum":["graft"]}}},"then":{"properties":{"subtype":{"enum":["footnote","xref","note_caller"]}},"allOf":[{"not":{"required":["content"]}},{"not":{"required":["meta_content"]}}],"if":{"required":["new"],"properties":{"new":{"enum":[true]}}},"then":{"not":{"anyOf":[{"required":["target"]},{"required":["preview_text"]}]}},"else":{"required":["target"]}}},{"if":{"properties":{"type":{"enum":["mark"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"enum":["chapter","verses"]},{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}},"if":{"properties":{"subtype":{"enum":["chapter","verses"]}}},"then":{"type":"object","required":["atts"],"properties":{"atts":{"type":"object","required":["number"],"maxProperties":1}}}}},{"if":{"properties":{"type":{"enum":["wrapper"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"enum":["meta_content"]},{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}},"if":{"properties":{"subtype":{"enum":["meta_content"]}}},"then":{"not":{"required":["atts"]}}}},{"if":{"properties":{"type":{"enum":["start_milestone"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}}}},{"if":{"properties":{"type":{"enum":["end_milestone"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}},"not":{"required":["atts"]}}}]}')},2099:e=>{"use strict";e.exports=JSON.parse('{"$comment":"version 0.2.0","$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/perf_document_constraint.json","type":"object","properties":{"sequences":{"type":"object","propertyNames":{"pattern":"^\\\\S+$"},"additionalProperties":{"$ref":"./perf_sequence_constraint.json"}}}}')},3914:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/perf_sequence_constraint.json","type":"object","properties":{"type":{"type":"string","enum":["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},"blocks":{"type":"array","items":{"$ref":"./perf_block_constraint.json"}}}}')},1455:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/sofria_block_constraint.json","type":"object","properties":{"type":{"type":"string","enum":["paragraph","graft"]},"content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./sofria_contentElement_constraint.json"}]}},"meta_content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./sofria_contentElement_constraint.json"}]}}},"if":{"properties":{"type":{"enum":["graft"]}}},"then":{"properties":{"subtype":{"enum":["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},"else":{"properties":{"subtype":{"type":"string","pattern":"^usfm:"}}}}')},950:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/sofria_contentElement_constraint.json","type":"object","allOf":[{"properties":{"content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./sofria_contentElement_constraint.json"}]}},"meta_content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./sofria_contentElement_constraint.json"}]}}}},{"if":{"properties":{"type":{"enum":["graft"]}}},"then":{"properties":{"subtype":{"enum":["footnote","xref","note_caller"]}},"allOf":[{"not":{"required":["content"]}},{"not":{"required":["meta_content"]}}],"if":{"required":["new"],"properties":{"new":{"enum":[true]}}},"then":{"not":{"anyOf":[{"required":["block"]},{"required":["preview_text"]}]}},"else":{"required":["block"]}}},{"if":{"properties":{"type":{"enum":["mark"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"enum":["chapter_label","verses_label"]},{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}},"if":{"properties":{"subtype":{"enum":["chapter","verses"]}}},"then":{"type":"object","required":["atts"],"properties":{"atts":{"type":"object","required":["number"],"maxProperties":1}}}}},{"if":{"properties":{"type":{"enum":["wrapper"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"enum":["meta_content","chapter","verses"]},{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}},"if":{"properties":{"subtype":{"enum":["meta_content"]}}},"then":{"not":{"required":["atts"]}}}},{"if":{"properties":{"type":{"enum":["start_milestone"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}}}},{"if":{"properties":{"type":{"enum":["end_milestone"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}},"not":{"required":["atts"]}}}]}')},85:e=>{"use strict";e.exports=JSON.parse('{"$comment":"version 0.2.0","$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/sofria_document_constraint.json","type":"object","properties":{"sequences":{"type":"object","propertyNames":{"pattern":"^\\\\S+$"},"additionalProperties":{"$ref":"./sofria_sequence_constraint.json"}}}}')},7635:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/sofria_sequence_constraint.json","type":"object","properties":{"type":{"type":"string","enum":["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},"blocks":{"type":"array","items":{"$ref":"./sofria_block_constraint.json"}}}}')},4887:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/perf_block_constraint.json","type":"object","properties":{"type":{"type":"string","enum":["paragraph","graft","row","node","lookup"]},"content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./perf_contentElement_constraint.json"}]}},"meta_content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./perf_contentElement_constraint.json"}]}}},"if":{"properties":{"type":{"enum":["graft"]}}},"then":{"properties":{"subtype":{"enum":["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},"else":{"if":{"properties":{"type":{"enum":["row"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"enum":["row:heading","row:body"]}]}}},"else":{"if":{"properties":{"type":{"enum":["node"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"enum":["node"]},{"pattern":"^x-\\\\S{1,256}$"}]},"atts":{"type":"object","properties":{"id":{"type":"string"},"parent":{"type":"string"},"children":{"type":"array","items":{"type":"string"}}},"required":["id"],"additionalProperties":false}}},"else":{"if":{"properties":{"type":{"enum":["lookup"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"enum":["lookup"]},{"pattern":"^x-\\\\S{1,256}$"}]},"atts":{"type":"object","properties":{"primary":{"type":"string"},"secondary":{"type":"array","items":{"type":"string"}}},"required":["primary"],"additionalProperties":false}}},"else":{"properties":{"subtype":{"type":"string","oneOf":[{"pattern":"^usfm:"},{"pattern":"^x-\\\\S{1,256}$"}]}}}}}}}')},9068:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/perf_contentElement_constraint.json","type":"object","allOf":[{"properties":{"content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./perf_contentElement_constraint.json"}]}},"meta_content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./perf_contentElement_constraint.json"}]}}}},{"if":{"properties":{"type":{"enum":["graft"]}}},"then":{"properties":{"subtype":{"enum":["footnote","xref","note_caller"]}},"allOf":[{"not":{"required":["content"]}},{"not":{"required":["meta_content"]}}],"if":{"required":["new"],"properties":{"new":{"enum":[true]}}},"then":{"not":{"anyOf":[{"required":["target"]},{"required":["preview_text"]}]}},"else":{"required":["target"]}}},{"if":{"properties":{"type":{"enum":["mark"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"enum":["chapter","verses","alt_chapter","alt_verse","pub_chapter","pub_verse"]},{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}},"if":{"properties":{"subtype":{"enum":["chapter","verses"]}}},"then":{"type":"object","required":["atts"],"properties":{"atts":{"type":"object","required":["number"],"maxProperties":1}}}}},{"if":{"properties":{"type":{"enum":["wrapper"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"enum":["meta_content"]},{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}},"if":{"properties":{"subtype":{"enum":["meta_content"]}}},"then":{"not":{"required":["atts"]}}}},{"if":{"properties":{"type":{"enum":["start_milestone"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}}}},{"if":{"properties":{"type":{"enum":["end_milestone"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}},"not":{"required":["atts"]}}}]}')},2114:e=>{"use strict";e.exports=JSON.parse('{"$comment":"version 0.3.0","$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/perf_document_constraint.json","type":"object","properties":{"hooks":{"type":"array"},"sequences":{"type":"object","propertyNames":{"pattern":"^\\\\S+$"},"additionalProperties":{"$ref":"./perf_sequence_constraint.json"}}}}')},7057:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/perf_sequence_constraint.json","type":"object","properties":{"type":{"type":"string","enum":["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},"blocks":{"type":"array","items":{"$ref":"./perf_block_constraint.json"}}}}')},5354:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/sofria_block_constraint.json","type":"object","properties":{"type":{"type":"string","enum":["paragraph","graft"]},"content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./sofria_contentElement_constraint.json"}]}},"meta_content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./sofria_contentElement_constraint.json"}]}}},"if":{"properties":{"type":{"enum":["graft"]}}},"then":{"properties":{"subtype":{"enum":["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},"else":{"properties":{"subtype":{"type":"string","pattern":"^usfm:"}}}}')},8310:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/sofria_contentElement_constraint.json","type":"object","allOf":[{"properties":{"content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./sofria_contentElement_constraint.json"}]}},"meta_content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./sofria_contentElement_constraint.json"}]}}}},{"if":{"properties":{"type":{"enum":["graft"]}}},"then":{"properties":{"subtype":{"enum":["footnote","xref","note_caller"]}},"allOf":[{"not":{"required":["content"]}},{"not":{"required":["meta_content"]}}],"if":{"required":["new"],"properties":{"new":{"enum":[true]}}},"then":{"not":{"anyOf":[{"required":["blocks"]},{"required":["preview_text"]}]}},"else":{"required":["sequence"]}}},{"if":{"properties":{"type":{"enum":["mark"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"enum":["chapter_label","verses_label","alt_chapter","alt_verse","pub_chapter","pub_verse"]},{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}},"if":{"properties":{"subtype":{"enum":["chapter","verses"]}}},"then":{"type":"object","required":["atts"],"properties":{"atts":{"type":"object","required":["number"],"maxProperties":1}}}}},{"if":{"properties":{"type":{"enum":["wrapper"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"enum":["meta_content","chapter","verses"]},{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}},"if":{"properties":{"subtype":{"enum":["meta_content"]}}},"then":{"not":{"required":["atts"]}}}},{"if":{"properties":{"type":{"enum":["start_milestone"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}}}},{"if":{"properties":{"type":{"enum":["end_milestone"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}},"not":{"required":["atts"]}}}]}')},8975:e=>{"use strict";e.exports=JSON.parse('{"$comment":"version 0.3.0","$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/sofria_document_constraint.json","type":"object","properties":{"sequence":{"$ref":"./sofria_sequence_constraint.json"}}}')},2278:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/sofria_sequence_constraint.json","type":"object","properties":{"type":{"type":"string","enum":["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},"blocks":{"type":"array","items":{"$ref":"./sofria_block_constraint.json"}}}}')},6517:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_2_1/block_structure.json","title":"Block (Structure)","description":"A block, which represents either a paragraph of text or a graft","type":"object","properties":{"type":{"type":"string","description":"The type of block","enum":["paragraph","graft"]},"subtype":{"description":"A type-specific subtype","type":"string"},"target":{"description":"The id of the sequence containing graft content","type":"string"},"sequence":{"description":"The sequence containing graft content","$ref":"./sequence_structure.json"},"preview_text":{"description":"An optional field to provide some kind of printable label for a graft","type":"string"},"new":{"description":"If present and true, is interpreted as a request for the server to create a new graft","type":"boolean"},"atts":{"type":"object","description":"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings","additionalProperties":{"oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"},{"type":"boolean"}]}},"content":{"type":"array","description":"The content of the block","items":{"oneOf":[{"type":"string"},{"$ref":"./contentElement_structure.json"}]}}},"required":["type"],"additionalProperties":false,"if":{"properties":{"type":{"enum":["paragraph"]}}},"then":{"required":["content"],"allOf":[{"not":{"required":["new"]}},{"not":{"required":["preview_text"]}},{"not":{"required":["target"]}}]},"else":{"if":{"required":["new"],"properties":{"new":{"enum":[true]}}},"then":{"allOf":[{"oneOf":[{"required":["subtype"]},{"required":["sequence"]}]},{"not":{"required":["target"]}},{"not":{"required":["preview_text"]}},{"not":{"required":["content"]}}]},"else":{"oneOf":[{"required":["target"]},{"required":["sequence"]}]}}}')},9670:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_2_1/contentElement_structure.json","title":"Content Element (Structure)","description":"A content element, ie some form of (possibly nested) markup","type":"object","properties":{"type":{"type":"string","description":"The type of element","enum":["mark","wrapper","start_milestone","end_milestone","graft"]},"subtype":{"description":"The subtype of the element, which is context-dependent","type":"string"},"atts":{"type":"object","description":"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings","additionalProperties":{"oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"},{"type":"boolean"}]}},"target":{"type":"string","description":"The id of the sequence containing graft content"},"sequence":{"description":"The sequence containing graft content","$ref":"./sequence_structure.json"},"preview_text":{"description":"An optional field to provide some kind of printable label for a graft","type":"string"},"new":{"type":"boolean","description":"If present and true, is interpreted as a request for the server to create a new graft"},"content":{"type":"array","description":"Nested content within the content element","items":{"oneOf":[{"type":"string"},{"$ref":"./contentElement_structure.json"}]}},"meta_content":{"type":"array","description":"Non-Scripture content related to the content element, such as checking data or related resources","items":{"oneOf":[{"type":"string"},{"$ref":"./contentElement_structure.json"}]}}},"required":["type"],"additionalProperties":false}')},2242:e=>{"use strict";e.exports=JSON.parse('{"$comment":"version 0.1.0","$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_2_1/document_structure.json","title":"Document (Structure)","description":"A document, typically corresponding to a single USFM or USX book","type":"object","properties":{"schema":{"type":"object","properties":{"structure":{"description":"The basic \'shape\' of the content","type":"string","enum":["flat","nested"]},"structure_version":{"description":"the semantic version of the structure schema","type":"string"},"constraints":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","enum":["perf","sofria"]},"version":{"description":"the semantic version of the constraint schema","type":"string"}},"additionalProperties":false,"required":["name","version"]}}},"required":["structure","structure_version","constraints"],"additionalProperties":false},"metadata":{"description":"Metadata describing the document and the translation it belongs to","type":"object","properties":{"translation":{"type":"object","description":"Metadata concerning the translation to which the document belongs","properties":{"tags":{"description":"Tags attached to the translation","type":"array","items":{"type":"string"}},"properties":{"type":"object","description":"Key/value properties attached to the translation","additionalProperties":{"type":"string"}},"selectors":{"type":"object","description":"Proskomma selectors for the translation that, together, provide a primary key in the translation store","additionalProperties":{"type":"string"}}},"additionalProperties":{"type":"string"},"required":["id"]},"document":{"type":"object","description":"Metadata concerning the document itself","properties":{"tags":{"type":"array","description":"Tags attached to the document","items":{"type":"string"}},"properties":{"type":"object","description":"Key/value properties attached to the document","additionalProperties":{"type":"string"}},"chapters":{"type":"string","pattern":"^[1-9][0-9]*(-[1-9][0-9]*)?$"}},"additionalProperties":{"type":"string"}}},"additionalProperties":false},"sequences":{"type":"object","propertyNames":{"pattern":"^\\\\S+$"},"additionalProperties":{"$ref":"./sequence_structure.json"}},"sequence":{"$ref":"./sequence_structure.json"},"main_sequence_id":{"type":"string"}},"required":["schema","metadata"],"additionalProperties":false,"if":{"properties":{"schema":{"type":"object","properties":{"structure":{"enum":["flat"]}}}}},"then":{"required":["sequences","main_sequence_id"],"not":{"required":["sequence"]}},"else":{"required":["sequence"],"allOf":[{"not":{"required":["sequences"]}},{"not":{"required":["main_sequence_id"]}}]}}')},4370:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_2_1/sequence_structure.json","title":"Sequence (Structure)","description":"A sequence contains a \'flow\' of one or more blocks","type":"object","properties":{"type":{"description":"The type of sequence","type":"string"},"preview_text":{"description":"An optional field to provide some kind of printable label","type":"string"},"blocks":{"type":"array","description":"The blocks that, together, represent the \'flow\' of the sequence","items":{"$ref":"./block_structure.json"}}},"required":["type"],"additionalProperties":false}')},4994:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/block_structure.json","title":"Block (Structure)","description":"A block, which represents either a paragraph of text or a graft","type":"object","properties":{"type":{"type":"string","description":"The type of block","enum":["paragraph","row","node","lookup","graft"]},"subtype":{"description":"A type-specific subtype","type":"string"},"target":{"description":"The id of the sequence containing graft content","type":"string"},"sequence":{"description":"The sequence containing graft content","$ref":"./sequence_structure.json"},"preview_text":{"description":"An optional field to provide some kind of printable label for a graft","type":"string"},"new":{"description":"If present and true, is interpreted as a request for the server to create a new graft","type":"boolean"},"atts":{"type":"object","description":"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings","additionalProperties":{"oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"},{"type":"boolean"}]}},"content":{"type":"array","description":"The content of the block","items":{"oneOf":[{"type":"string"},{"$ref":"./contentElement_structure.json"}]}},"hooks":{"type":"array","$ref":"./hook_structure.json"}},"required":["type"],"additionalProperties":false,"if":{"properties":{"type":{"enum":["paragraph","row","node","lookup"]}}},"then":{"required":["content"],"allOf":[{"not":{"required":["new"]}},{"not":{"required":["preview_text"]}},{"not":{"required":["target"]}}]},"else":{"if":{"required":["new"],"properties":{"new":{"enum":[true]}}},"then":{"allOf":[{"oneOf":[{"required":["subtype"]},{"required":["sequence"]}]},{"not":{"required":["target"]}},{"not":{"required":["preview_text"]}},{"not":{"required":["content"]}}]},"else":{"oneOf":[{"required":["target"]},{"required":["sequence"]}]}}}')},9868:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/contentElement_structure.json","title":"Content Element (Structure)","description":"A content element, ie some form of (possibly nested) markup","type":"object","properties":{"type":{"type":"string","description":"The type of element","enum":["mark","wrapper","start_milestone","end_milestone","graft"]},"subtype":{"description":"The subtype of the element, which is context-dependent","type":"string"},"atts":{"type":"object","description":"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings","additionalProperties":{"oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"},{"type":"boolean"}]}},"target":{"type":"string","description":"The id of the sequence containing graft content"},"sequence":{"description":"The sequence containing graft content","$ref":"./sequence_structure.json"},"preview_text":{"description":"An optional field to provide some kind of printable label for a graft","type":"string"},"new":{"type":"boolean","description":"If present and true, is interpreted as a request for the server to create a new graft"},"content":{"type":"array","description":"Nested content within the content element","items":{"oneOf":[{"type":"string"},{"$ref":"./contentElement_structure.json"}]}},"meta_content":{"type":"array","description":"Non-Scripture content related to the content element, such as checking data or related resources","items":{"oneOf":[{"type":"string"},{"$ref":"./contentElement_structure.json"}]}},"hooks":{"type":"array","$ref":"./hook_structure.json"}},"required":["type"],"additionalProperties":false}')},5338:e=>{"use strict";e.exports=JSON.parse('{"$comment":"version 0.1.0","$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/document_structure.json","title":"Document (Structure)","description":"A document, typically corresponding to a single USFM or USX book","type":"object","properties":{"schema":{"type":"object","properties":{"structure":{"description":"The basic \'shape\' of the content","type":"string","enum":["flat","nested"]},"structure_version":{"description":"the semantic version of the structure schema","type":"string"},"constraints":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","enum":["perf","sofria"]},"version":{"description":"the semantic version of the constraint schema","type":"string"}},"additionalProperties":false,"required":["name","version"]}}},"required":["structure","structure_version","constraints"],"additionalProperties":false},"metadata":{"description":"Metadata describing the document and the translation it belongs to","type":"object","properties":{"translation":{"type":"object","description":"Metadata concerning the translation to which the document belongs","properties":{"tags":{"description":"Tags attached to the translation","type":"array","items":{"type":"string"}},"properties":{"type":"object","description":"Key/value properties attached to the translation","additionalProperties":{"type":"string"}},"selectors":{"type":"object","description":"Proskomma selectors for the translation that, together, provide a primary key in the translation store","additionalProperties":{"type":"string"}}},"additionalProperties":{"type":"string"},"required":["id"]},"document":{"type":"object","description":"Metadata concerning the document itself","properties":{"tags":{"type":"array","description":"Tags attached to the document","items":{"type":"string"}},"properties":{"type":"object","description":"Key/value properties attached to the document","additionalProperties":{"type":"string"}},"chapters":{"type":"string","pattern":"^[1-9][0-9]*(-[1-9][0-9]*)?$"}},"additionalProperties":{"type":"string"}}},"additionalProperties":false},"hooks":{"type":"array","$ref":"./hook_structure.json"},"sequences":{"type":"object","propertyNames":{"pattern":"^\\\\S+$"},"additionalProperties":{"$ref":"./sequence_structure.json"}},"sequence":{"$ref":"./sequence_structure.json"},"main_sequence_id":{"type":"string"}},"required":["schema","metadata"],"additionalProperties":false,"if":{"properties":{"schema":{"type":"object","properties":{"structure":{"enum":["flat"]}}}}},"then":{"required":["sequences","main_sequence_id"],"not":{"required":["sequence"]}},"else":{"required":["sequence"],"allOf":[{"not":{"required":["sequences"]}},{"not":{"required":["main_sequence_id"]}}]}}')},4252:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/hook_structure.json","title":"Hook (Structure)","description":"Hooks, ie typed labels that may be used to link documents","type":"array","items":{"type":"array","items":[{"type":"string","oneOf":[{"enum":["bcv_ref","book_ref"]},{"pattern":"^x-(app|publisher)-[a-z][a-z0-9]+-\\\\S{2,256}$"},{"pattern":"^x-local-\\\\S{2,256}$"}]},{"type":"string","oneOf":[{"enum":["label"]},{"pattern":"^\\\\w{1,255}$"}]}],"minItems":2,"maxItems":2}}')},2944:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/sequence_structure.json","title":"Sequence (Structure)","description":"A sequence contains a \'flow\' of one or more blocks","type":"object","properties":{"type":{"description":"The type of sequence","type":"string"},"preview_text":{"description":"An optional field to provide some kind of printable label","type":"string"},"blocks":{"type":"array","description":"The blocks that, together, represent the \'flow\' of the sequence","items":{"$ref":"./block_structure.json"}},"hooks":{"type":"array","$ref":"./hook_structure.json"}},"required":["type"],"additionalProperties":false}')},6138:e=>{"use strict";e.exports=JSON.parse('{"title":"Root","type":"object","description":"Root Element","definitions":{"base64String":{"type":"string","pattern":"^[A-Za-z0-9/+=]*$"},"tagString":{"type":"string","pattern":"^[a-z][a-z0-9]*(:.+)?$"}},"properties":{"id":{"type":"string"},"metadata":{"type":"object","properties":{"selectors":{"type":"object","additionalProperties":{"type":"string"}}},"required":["selectors"],"additionalProperties":false},"tags":{"type":"array","items":{"type":"string","$ref":"#/definitions/tagString"}},"enums":{"type":"object","properties":{"ids":{"$ref":"#/definitions/base64String"},"wordLike":{"$ref":"#/definitions/base64String"},"notWordLike":{"$ref":"#/definitions/base64String"},"scopeBits":{"$ref":"#/definitions/base64String"},"graftTypes":{"$ref":"#/definitions/base64String"}},"required":["ids","wordLike","notWordLike","scopeBits","graftTypes"],"additionalProperties":false},"docs":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"sequences":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string"},"blocks":{"type":"array","items":{"type":"object","properties":{"bs":{"type":"string"},"bg":{"type":"string"},"c":{"type":"string"},"is":{"type":"string"},"os":{"type":"string"},"nt":{"type":"string"}},"required":["bs","bg","c","is","os","nt"],"additionalProperties":false}},"tags":{"type":"array","items":{"type":"string","$ref":"#/definitions/tagString"}},"chapters":{"type":"object","additionalProperties":{"type":"string"}},"chapterVerses":{"type":"object","additionalProperties":{"type":"string"}},"tokensPresent":{"type":"string"}},"required":["blocks","tags"],"additionalProperties":false}},"headers":{"type":"object","additionalProperties":{"type":"string"}},"mainId":{"type":"string"},"tags":{"type":"array","items":{"type":"string","$ref":"#/definitions/tagString"}}},"required":["sequences","headers","mainId","tags"],"additionalProperties":false}},"additionalProperties":false},"required":["id","enums","docs","tags"],"additionalProperties":false}')},8078:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON AnySchema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},2204:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')}},t={};function n(r){var s=t[r];if(void 0!==s)return s.exports;var o=t[r]={exports:{}};return e[r].call(o.exports,o,o.exports,n),o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{"use strict";n.r(r),n.d(r,{Proskomma:()=>zd,blocksSpecUtils:()=>d,lexingRegexes:()=>Wi,resolvers:()=>Bd,tree2nodes:()=>Xd,typeDefs:()=>Md,utils:()=>gi});var e={};n.r(e),n.d(e,{enumRegexIndexTuples:()=>ma,enumStringIndex:()=>ha});var t={};n.r(t),n.d(t,{tokenCategory:()=>ka,tokenEnum:()=>Ta,tokenEnumLabels:()=>wa});var s={};n.r(s),n.d(s,{labelForScope:()=>Oa,nComponentsForScope:()=>_a,scopeEnum:()=>Ia,scopeEnumLabels:()=>Na});var o={};n.r(o),n.d(o,{itemArray2Object:()=>$a,itemArrays2Objects:()=>qa,itemEnum:()=>Ca,itemEnumLabels:()=>Da,itemObject2Array:()=>Ra,itemObjects2Arrays:()=>ja});var a={};n.r(a),n.d(a,{enumIndex:()=>Ja,enumIndexes:()=>Ua,headerBytes:()=>Ba,pushSuccinctGraftBytes:()=>Xa,pushSuccinctScopeBytes:()=>Ya,pushSuccinctTokenBytes:()=>Wa,succinctGraftName:()=>Fa,succinctGraftSeqId:()=>Va,succinctScopeLabel:()=>La,succinctTokenChars:()=>Ga,unpackEnum:()=>Ha});var i={};n.r(i),n.d(i,{addTag:()=>si,removeTag:()=>oi,validateTag:()=>ri,validateTags:()=>ni});var u={};n.r(u),n.d(u,{bookCodeIndex:()=>ui,bookCodes:()=>ii,mapVerse:()=>Si,preSuccinctVerseMapping:()=>li,reverseVersification:()=>di,succinctifyVerseMapping:()=>fi,succinctifyVerseMappings:()=>pi,unsuccinctifyVerseMapping:()=>mi,vrs2json:()=>ci});var c={};n.r(c),n.d(c,{ByteArray:()=>aa,canons:()=>fa,enums:()=>Sa,generateId:()=>Ea,graftDefs:()=>Aa,inspect:()=>Qa,itemDefs:()=>Ma,parserConstants:()=>ei,proskommaSerialized:()=>ti,scopeDefs:()=>xa,succinct:()=>za,tags:()=>ai,tokenDefs:()=>Pa,versification:()=>yi});var d={};n.r(d),n.d(d,{blocksSpec2Query:()=>Kd,object2Query:()=>Jd,oneObject2Query:()=>Hd,tokenizeString:()=>yu,treeToInputBlock:()=>Vd,tsvHeadingTags:()=>Fd,tsvToInputBlock:()=>Ld});var l=n(3528);function p(e,t){if(!Boolean(e))throw new Error(t)}function f(e){return h(e,[])}function h(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return function(e,t){if(null===e)return"null";if(t.includes(e))return"[Circular]";const n=[...t,e];if(function(e){return"function"==typeof e.toJSON}(e)){const t=e.toJSON();if(t!==e)return"string"==typeof t?t:h(t,n)}else if(Array.isArray(e))return function(e,t){if(0===e.length)return"[]";if(t.length>2)return"[Array]";const n=Math.min(10,e.length),r=e.length-n,s=[];for(let r=0;r<n;++r)s.push(h(e[r],t));return 1===r?s.push("... 1 more item"):r>1&&s.push(`... ${r} more items`),"["+s.join(", ")+"]"}(e,n);return function(e,t){const n=Object.entries(e);if(0===n.length)return"{}";if(t.length>2)return"["+function(e){const t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if("Object"===t&&"function"==typeof e.constructor){const t=e.constructor.name;if("string"==typeof t&&""!==t)return t}return t}(e)+"]";const r=n.map((([e,n])=>e+": "+h(n,t)));return"{ "+r.join(", ")+" }"}(e,n)}(e,t);default:return String(e)}}const m=function(e,t){return e instanceof t};function S(e){return"object"==typeof e&&null!==e}function y(e){if(null==e)return Object.create(null);if(null===Object.getPrototypeOf(e))return e;const t=Object.create(null);for(const[n,r]of Object.entries(e))t[n]=r;return t}class g{constructor(e,t,n){this.start=e.start,this.end=t.end,this.startToken=e,this.endToken=t,this.source=n}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}}class v{constructor(e,t,n,r,s,o){this.kind=e,this.start=t,this.end=n,this.line=r,this.column=s,this.value=o,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}}const b={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},E=new Set(Object.keys(b));function A(e){const t=null==e?void 0:e.kind;return"string"==typeof t&&E.has(t)}var T;function w(e,t){const[n,r]=t?[e,t]:[void 0,e];let s=" Did you mean ";n&&(s+=n+" ");const o=r.map((e=>`"${e}"`));switch(o.length){case 0:return"";case 1:return s+o[0]+"?";case 2:return s+o[0]+" or "+o[1]+"?"}const a=o.slice(0,5),i=a.pop();return s+a.join(", ")+", or "+i+"?"}function k(e){return e}function P(e,t){const n=Object.create(null);for(const r of e)n[t(r)]=r;return n}function I(e,t,n){const r=Object.create(null);for(const s of e)r[t(s)]=n(s);return r}function N(e,t){const n=Object.create(null);for(const r of Object.keys(e))n[r]=t(e[r],r);return n}function O(e,t){let n=0,r=0;for(;n<e.length&&r<t.length;){let s=e.charCodeAt(n),o=t.charCodeAt(r);if(x(s)&&x(o)){let a=0;do{++n,a=10*a+s-_,s=e.charCodeAt(n)}while(x(s)&&a>0);let i=0;do{++r,i=10*i+o-_,o=t.charCodeAt(r)}while(x(o)&&i>0);if(a<i)return-1;if(a>i)return 1}else{if(s<o)return-1;if(s>o)return 1;++n,++r}}return e.length-t.length}!function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"}(T||(T={}));const _=48;function x(e){return!isNaN(e)&&_<=e&&e<=57}function C(e,t){const n=Object.create(null),r=new D(e),s=Math.floor(.4*e.length)+1;for(const e of t){const t=r.measure(e,s);void 0!==t&&(n[e]=t)}return Object.keys(n).sort(((e,t)=>{const r=n[e]-n[t];return 0!==r?r:O(e,t)}))}class D{constructor(e){this._input=e,this._inputLowerCase=e.toLowerCase(),this._inputArray=$(this._inputLowerCase),this._rows=[new Array(e.length+1).fill(0),new Array(e.length+1).fill(0),new Array(e.length+1).fill(0)]}measure(e,t){if(this._input===e)return 0;const n=e.toLowerCase();if(this._inputLowerCase===n)return 1;let r=$(n),s=this._inputArray;if(r.length<s.length){const e=r;r=s,s=e}const o=r.length,a=s.length;if(o-a>t)return;const i=this._rows;for(let e=0;e<=a;e++)i[0][e]=e;for(let e=1;e<=o;e++){const n=i[(e-1)%3],o=i[e%3];let u=o[0]=e;for(let t=1;t<=a;t++){const a=r[e-1]===s[t-1]?0:1;let c=Math.min(n[t]+1,o[t-1]+1,n[t-1]+a);if(e>1&&t>1&&r[e-1]===s[t-2]&&r[e-2]===s[t-1]){const n=i[(e-2)%3][t-2];c=Math.min(c,n+1)}c<u&&(u=c),o[t]=c}if(u>t)return}const u=i[o%3][a];return u<=t?u:void 0}}function $(e){const t=e.length,n=new Array(t);for(let r=0;r<t;++r)n[r]=e.charCodeAt(r);return n}function R(e,t){if(!Boolean(e))throw new Error(null!=t?t:"Unexpected invariant triggered.")}const q=/\r\n|[\n\r]/g;function j(e,t){let n=0,r=1;for(const s of e.body.matchAll(q)){if("number"==typeof s.index||R(!1),s.index>=t)break;n=s.index+s[0].length,r+=1}return{line:r,column:t+1-n}}function M(e,t){const n=e.locationOffset.column-1,r="".padStart(n)+e.body,s=t.line-1,o=e.locationOffset.line-1,a=t.line+o,i=1===t.line?n:0,u=t.column+i,c=`${e.name}:${a}:${u}\n`,d=r.split(/\r\n|[\n\r]/g),l=d[s];if(l.length>120){const e=Math.floor(u/80),t=u%80,n=[];for(let e=0;e<l.length;e+=80)n.push(l.slice(e,e+80));return c+B([[`${a} |`,n[0]],...n.slice(1,e+1).map((e=>["|",e])),["|","^".padStart(t)],["|",n[e+1]]])}return c+B([[a-1+" |",d[s-1]],[`${a} |`,l],["|","^".padStart(u)],[`${a+1} |`,d[s+1]]])}function B(e){const t=e.filter((([e,t])=>void 0!==t)),n=Math.max(...t.map((([e])=>e.length)));return t.map((([e,t])=>e.padStart(n)+(t?" "+t:""))).join("\n")}class G extends Error{constructor(e,...t){var n,r,s;const{nodes:o,source:a,positions:i,path:u,originalError:c,extensions:d}=function(e){const t=e[0];return null==t||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}(t);super(e),this.name="GraphQLError",this.path=null!=u?u:void 0,this.originalError=null!=c?c:void 0,this.nodes=L(Array.isArray(o)?o:o?[o]:void 0);const l=L(null===(n=this.nodes)||void 0===n?void 0:n.map((e=>e.loc)).filter((e=>null!=e)));this.source=null!=a?a:null==l||null===(r=l[0])||void 0===r?void 0:r.source,this.positions=null!=i?i:null==l?void 0:l.map((e=>e.start)),this.locations=i&&a?i.map((e=>j(a,e))):null==l?void 0:l.map((e=>j(e.source,e.start)));const p=S(null==c?void 0:c.extensions)?null==c?void 0:c.extensions:void 0;this.extensions=null!==(s=null!=d?d:p)&&void 0!==s?s:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),null!=c&&c.stack?Object.defineProperty(this,"stack",{value:c.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,G):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let e=this.message;if(this.nodes)for(const n of this.nodes)n.loc&&(e+="\n\n"+M((t=n.loc).source,j(t.source,t.start)));else if(this.source&&this.locations)for(const t of this.locations)e+="\n\n"+M(this.source,t);var t;return e}toJSON(){const e={message:this.message};return null!=this.locations&&(e.locations=this.locations),null!=this.path&&(e.path=this.path),null!=this.extensions&&Object.keys(this.extensions).length>0&&(e.extensions=this.extensions),e}}function L(e){return void 0===e||0===e.length?void 0:e}var F,V;function U(e){return 9===e||32===e}function J(e){return e>=48&&e<=57}function H(e){return e>=97&&e<=122||e>=65&&e<=90}function K(e){return H(e)||95===e}function W(e){return H(e)||J(e)||95===e}function X(e){var t;let n=Number.MAX_SAFE_INTEGER,r=null,s=-1;for(let t=0;t<e.length;++t){var o;const a=e[t],i=Y(a);i!==a.length&&(r=null!==(o=r)&&void 0!==o?o:t,s=t,0!==t&&i<n&&(n=i))}return e.map(((e,t)=>0===t?e:e.slice(n))).slice(null!==(t=r)&&void 0!==t?t:0,s+1)}function Y(e){let t=0;for(;t<e.length&&U(e.charCodeAt(t));)++t;return t}(V=F||(F={})).NAME="Name",V.DOCUMENT="Document",V.OPERATION_DEFINITION="OperationDefinition",V.VARIABLE_DEFINITION="VariableDefinition",V.SELECTION_SET="SelectionSet",V.FIELD="Field",V.ARGUMENT="Argument",V.FRAGMENT_SPREAD="FragmentSpread",V.INLINE_FRAGMENT="InlineFragment",V.FRAGMENT_DEFINITION="FragmentDefinition",V.VARIABLE="Variable",V.INT="IntValue",V.FLOAT="FloatValue",V.STRING="StringValue",V.BOOLEAN="BooleanValue",V.NULL="NullValue",V.ENUM="EnumValue",V.LIST="ListValue",V.OBJECT="ObjectValue",V.OBJECT_FIELD="ObjectField",V.DIRECTIVE="Directive",V.NAMED_TYPE="NamedType",V.LIST_TYPE="ListType",V.NON_NULL_TYPE="NonNullType",V.SCHEMA_DEFINITION="SchemaDefinition",V.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",V.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",V.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",V.FIELD_DEFINITION="FieldDefinition",V.INPUT_VALUE_DEFINITION="InputValueDefinition",V.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",V.UNION_TYPE_DEFINITION="UnionTypeDefinition",V.ENUM_TYPE_DEFINITION="EnumTypeDefinition",V.ENUM_VALUE_DEFINITION="EnumValueDefinition",V.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",V.DIRECTIVE_DEFINITION="DirectiveDefinition",V.SCHEMA_EXTENSION="SchemaExtension",V.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",V.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",V.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",V.UNION_TYPE_EXTENSION="UnionTypeExtension",V.ENUM_TYPE_EXTENSION="EnumTypeExtension",V.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension";const z=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function Z(e){return Q[e.charCodeAt(0)]}const Q=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"],ee=Object.freeze({});function te(e,t,n=b){const r=new Map;for(const e of Object.values(F))r.set(e,re(t,e));let s,o,a,i=Array.isArray(e),u=[e],c=-1,d=[],l=e;const h=[],m=[];do{c++;const e=c===u.length,v=e&&0!==d.length;if(e){if(o=0===m.length?void 0:h[h.length-1],l=a,a=m.pop(),v)if(i){l=l.slice();let e=0;for(const[t,n]of d){const r=t-e;null===n?(l.splice(r,1),e++):l[r]=n}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(const[e,t]of d)l[e]=t}c=s.index,u=s.keys,d=s.edits,i=s.inArray,s=s.prev}else if(a){if(o=i?c:u[c],l=a[o],null==l)continue;h.push(o)}let b;if(!Array.isArray(l)){var S,y;A(l)||p(!1,`Invalid AST Node: ${f(l)}.`);const n=e?null===(S=r.get(l.kind))||void 0===S?void 0:S.leave:null===(y=r.get(l.kind))||void 0===y?void 0:y.enter;if(b=null==n?void 0:n.call(t,l,o,a,h,m),b===ee)break;if(!1===b){if(!e){h.pop();continue}}else if(void 0!==b&&(d.push([o,b]),!e)){if(!A(b)){h.pop();continue}l=b}}var g;void 0===b&&v&&d.push([o,l]),e?h.pop():(s={inArray:i,index:c,keys:u,edits:d,prev:s},i=Array.isArray(l),u=i?l:null!==(g=n[l.kind])&&void 0!==g?g:[],c=-1,d=[],a&&m.push(a),a=l)}while(void 0!==s);return 0!==d.length?d[d.length-1][1]:e}function ne(e){const t=new Array(e.length).fill(null),n=Object.create(null);for(const r of Object.values(F)){let s=!1;const o=new Array(e.length).fill(void 0),a=new Array(e.length).fill(void 0);for(let t=0;t<e.length;++t){const{enter:n,leave:i}=re(e[t],r);s||(s=null!=n||null!=i),o[t]=n,a[t]=i}if(!s)continue;const i={enter(...n){const r=n[0];for(let a=0;a<e.length;a++)if(null===t[a]){var s;const i=null===(s=o[a])||void 0===s?void 0:s.apply(e[a],n);if(!1===i)t[a]=r;else if(i===ee)t[a]=ee;else if(void 0!==i)return i}},leave(...n){const r=n[0];for(let o=0;o<e.length;o++)if(null===t[o]){var s;const r=null===(s=a[o])||void 0===s?void 0:s.apply(e[o],n);if(r===ee)t[o]=ee;else if(void 0!==r&&!1!==r)return r}else t[o]===r&&(t[o]=null)}};n[r]=i}return n}function re(e,t){const n=e[t];return"object"==typeof n?n:"function"==typeof n?{enter:n,leave:void 0}:{enter:e.enter,leave:e.leave}}function se(e){return te(e,oe)}const oe={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>ae(e.definitions,"\n\n")},OperationDefinition:{leave(e){const t=ue("(",ae(e.variableDefinitions,", "),")"),n=ae([e.operation,ae([e.name,t]),ae(e.directives," ")]," ");return("query"===n?"":n+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:n,directives:r})=>e+": "+t+ue(" = ",n)+ue(" ",ae(r," "))},SelectionSet:{leave:({selections:e})=>ie(e)},Field:{leave({alias:e,name:t,arguments:n,directives:r,selectionSet:s}){const o=ue("",e,": ")+t;let a=o+ue("(",ae(n,", "),")");return a.length>80&&(a=o+ue("(\n",ce(ae(n,"\n")),"\n)")),ae([a,ae(r," "),s]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+ue(" ",ae(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:n})=>ae(["...",ue("on ",e),ae(t," "),n]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:n,directives:r,selectionSet:s})=>`fragment ${e}${ue("(",ae(n,", "),")")} on ${t} ${ue("",ae(r," ")," ")}`+s},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?function(e,t){const n=e.replace(/"""/g,'\\"""'),r=n.split(/\r\n|[\n\r]/g),s=1===r.length,o=r.length>1&&r.slice(1).every((e=>0===e.length||U(e.charCodeAt(0)))),a=n.endsWith('\\"""'),i=e.endsWith('"')&&!a,u=e.endsWith("\\"),c=i||u,d=!s||e.length>70||c||o||a;let l="";const p=s&&U(e.charCodeAt(0));return(d&&!p||o)&&(l+="\n"),l+=n,(d||c)&&(l+="\n"),'"""'+l+'"""'}(e):`"${e.replace(z,Z)}"`},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+ae(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+ae(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+ue("(",ae(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:n})=>ue("",e,"\n")+ae(["schema",ae(t," "),ie(n)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:n})=>ue("",e,"\n")+ae(["scalar",t,ae(n," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:n,directives:r,fields:s})=>ue("",e,"\n")+ae(["type",t,ue("implements ",ae(n," & ")),ae(r," "),ie(s)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:n,type:r,directives:s})=>ue("",e,"\n")+t+(de(n)?ue("(\n",ce(ae(n,"\n")),"\n)"):ue("(",ae(n,", "),")"))+": "+r+ue(" ",ae(s," "))},InputValueDefinition:{leave:({description:e,name:t,type:n,defaultValue:r,directives:s})=>ue("",e,"\n")+ae([t+": "+n,ue("= ",r),ae(s," ")]," ")},InterfaceTypeDefinition:{leave:({description:e,name:t,interfaces:n,directives:r,fields:s})=>ue("",e,"\n")+ae(["interface",t,ue("implements ",ae(n," & ")),ae(r," "),ie(s)]," ")},UnionTypeDefinition:{leave:({description:e,name:t,directives:n,types:r})=>ue("",e,"\n")+ae(["union",t,ae(n," "),ue("= ",ae(r," | "))]," ")},EnumTypeDefinition:{leave:({description:e,name:t,directives:n,values:r})=>ue("",e,"\n")+ae(["enum",t,ae(n," "),ie(r)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:n})=>ue("",e,"\n")+ae([t,ae(n," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:n,fields:r})=>ue("",e,"\n")+ae(["input",t,ae(n," "),ie(r)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:n,repeatable:r,locations:s})=>ue("",e,"\n")+"directive @"+t+(de(n)?ue("(\n",ce(ae(n,"\n")),"\n)"):ue("(",ae(n,", "),")"))+(r?" repeatable":"")+" on "+ae(s," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>ae(["extend schema",ae(e," "),ie(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>ae(["extend scalar",e,ae(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>ae(["extend type",e,ue("implements ",ae(t," & ")),ae(n," "),ie(r)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>ae(["extend interface",e,ue("implements ",ae(t," & ")),ae(n," "),ie(r)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:n})=>ae(["extend union",e,ae(t," "),ue("= ",ae(n," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:n})=>ae(["extend enum",e,ae(t," "),ie(n)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:n})=>ae(["extend input",e,ae(t," "),ie(n)]," ")}};function ae(e,t=""){var n;return null!==(n=null==e?void 0:e.filter((e=>e)).join(t))&&void 0!==n?n:""}function ie(e){return ue("{\n",ce(ae(e,"\n")),"\n}")}function ue(e,t,n=""){return null!=t&&""!==t?e+t+n:""}function ce(e){return ue(" ",e.replace(/\n/g,"\n "))}function de(e){var t;return null!==(t=null==e?void 0:e.some((e=>e.includes("\n"))))&&void 0!==t&&t}function le(e,t){switch(e.kind){case F.NULL:return null;case F.INT:return parseInt(e.value,10);case F.FLOAT:return parseFloat(e.value);case F.STRING:case F.ENUM:case F.BOOLEAN:return e.value;case F.LIST:return e.values.map((e=>le(e,t)));case F.OBJECT:return I(e.fields,(e=>e.name.value),(e=>le(e.value,t)));case F.VARIABLE:return null==t?void 0:t[e.name.value]}}function pe(e){if(null!=e||p(!1,"Must provide name."),"string"==typeof e||p(!1,"Expected name to be a string."),0===e.length)throw new G("Expected name to be a non-empty string.");for(let t=1;t<e.length;++t)if(!W(e.charCodeAt(t)))throw new G(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!K(e.charCodeAt(0)))throw new G(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}function fe(e){if("true"===e||"false"===e||"null"===e)throw new G(`Enum values cannot be named: ${e}`);return pe(e)}function he(e){return me(e)||Se(e)||ye(e)||ge(e)||ve(e)||be(e)||Ee(e)||Ae(e)}function me(e){return m(e,qe)}function Se(e){return m(e,je)}function ye(e){return m(e,Je)}function ge(e){return m(e,He)}function ve(e){return m(e,We)}function be(e){return m(e,Ye)}function Ee(e){return m(e,Ne)}function Ae(e){return m(e,Oe)}function Te(e){return me(e)||ve(e)||be(e)||_e(e)&&Te(e.ofType)}function we(e){return me(e)||Se(e)||ye(e)||ge(e)||ve(e)||_e(e)&&we(e.ofType)}function ke(e){return me(e)||ve(e)}function Pe(e){return Se(e)||ye(e)||ge(e)}function Ie(e){return ye(e)||ge(e)}class Ne{constructor(e){he(e)||p(!1,`Expected ${f(e)} to be a GraphQL type.`),this.ofType=e}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}}class Oe{constructor(e){var t;he(t=e)&&!Ae(t)||p(!1,`Expected ${f(e)} to be a GraphQL nullable type.`),this.ofType=e}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}}function _e(e){return Ee(e)||Ae(e)}function xe(e){if(e)return Ae(e)?e.ofType:e}function Ce(e){return me(e)||Se(e)||ye(e)||ge(e)||ve(e)||be(e)}function De(e){if(e){let t=e;for(;_e(t);)t=t.ofType;return t}}function $e(e){return"function"==typeof e?e():e}function Re(e){return"function"==typeof e?e():e}class qe{constructor(e){var t,n,r,s;const o=null!==(t=e.parseValue)&&void 0!==t?t:k;this.name=pe(e.name),this.description=e.description,this.specifiedByURL=e.specifiedByURL,this.serialize=null!==(n=e.serialize)&&void 0!==n?n:k,this.parseValue=o,this.parseLiteral=null!==(r=e.parseLiteral)&&void 0!==r?r:(e,t)=>o(le(e,t)),this.extensions=y(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=null!==(s=e.extensionASTNodes)&&void 0!==s?s:[],null==e.specifiedByURL||"string"==typeof e.specifiedByURL||p(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${f(e.specifiedByURL)}.`),null==e.serialize||"function"==typeof e.serialize||p(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),e.parseLiteral&&("function"==typeof e.parseValue&&"function"==typeof e.parseLiteral||p(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}class je{constructor(e){var t;this.name=pe(e.name),this.description=e.description,this.isTypeOf=e.isTypeOf,this.extensions=y(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=null!==(t=e.extensionASTNodes)&&void 0!==t?t:[],this._fields=()=>Be(e),this._interfaces=()=>Me(e),null==e.isTypeOf||"function"==typeof e.isTypeOf||p(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${f(e.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields}getInterfaces(){return"function"==typeof this._interfaces&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:Fe(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function Me(e){var t;const n=$e(null!==(t=e.interfaces)&&void 0!==t?t:[]);return Array.isArray(n)||p(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),n}function Be(e){const t=Re(e.fields);return Le(t)||p(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),N(t,((t,n)=>{var r;Le(t)||p(!1,`${e.name}.${n} field config must be an object.`),null==t.resolve||"function"==typeof t.resolve||p(!1,`${e.name}.${n} field resolver must be a function if provided, but got: ${f(t.resolve)}.`);const s=null!==(r=t.args)&&void 0!==r?r:{};return Le(s)||p(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:pe(n),description:t.description,type:t.type,args:Ge(s),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:y(t.extensions),astNode:t.astNode}}))}function Ge(e){return Object.entries(e).map((([e,t])=>({name:pe(e),description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:y(t.extensions),astNode:t.astNode})))}function Le(e){return S(e)&&!Array.isArray(e)}function Fe(e){return N(e,(e=>({description:e.description,type:e.type,args:Ve(e.args),resolve:e.resolve,subscribe:e.subscribe,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode})))}function Ve(e){return I(e,(e=>e.name),(e=>({description:e.description,type:e.type,defaultValue:e.defaultValue,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode})))}function Ue(e){return Ae(e.type)&&void 0===e.defaultValue}class Je{constructor(e){var t;this.name=pe(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=y(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=null!==(t=e.extensionASTNodes)&&void 0!==t?t:[],this._fields=Be.bind(void 0,e),this._interfaces=Me.bind(void 0,e),null==e.resolveType||"function"==typeof e.resolveType||p(!1,`${this.name} must provide "resolveType" as a function, but got: ${f(e.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields}getInterfaces(){return"function"==typeof this._interfaces&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:Fe(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}class He{constructor(e){var t;this.name=pe(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=y(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=null!==(t=e.extensionASTNodes)&&void 0!==t?t:[],this._types=Ke.bind(void 0,e),null==e.resolveType||"function"==typeof e.resolveType||p(!1,`${this.name} must provide "resolveType" as a function, but got: ${f(e.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return"function"==typeof this._types&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function Ke(e){const t=$e(e.types);return Array.isArray(t)||p(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}class We{constructor(e){var t,n,r;this.name=pe(e.name),this.description=e.description,this.extensions=y(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=null!==(t=e.extensionASTNodes)&&void 0!==t?t:[],this._values=(n=this.name,Le(r=e.values)||p(!1,`${n} values must be an object with value names as keys.`),Object.entries(r).map((([e,t])=>(Le(t)||p(!1,`${n}.${e} must refer to an object with a "value" key representing an internal value but got: ${f(t)}.`),{name:fe(e),description:t.description,value:void 0!==t.value?t.value:e,deprecationReason:t.deprecationReason,extensions:y(t.extensions),astNode:t.astNode})))),this._valueLookup=new Map(this._values.map((e=>[e.value,e]))),this._nameLookup=P(this._values,(e=>e.name))}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(e){return this._nameLookup[e]}serialize(e){const t=this._valueLookup.get(e);if(void 0===t)throw new G(`Enum "${this.name}" cannot represent value: ${f(e)}`);return t.name}parseValue(e){if("string"!=typeof e){const t=f(e);throw new G(`Enum "${this.name}" cannot represent non-string value: ${t}.`+Xe(this,t))}const t=this.getValue(e);if(null==t)throw new G(`Value "${e}" does not exist in "${this.name}" enum.`+Xe(this,e));return t.value}parseLiteral(e,t){if(e.kind!==F.ENUM){const t=se(e);throw new G(`Enum "${this.name}" cannot represent non-enum value: ${t}.`+Xe(this,t),{nodes:e})}const n=this.getValue(e.value);if(null==n){const t=se(e);throw new G(`Value "${t}" does not exist in "${this.name}" enum.`+Xe(this,t),{nodes:e})}return n.value}toConfig(){const e=I(this.getValues(),(e=>e.name),(e=>({description:e.description,value:e.value,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode})));return{name:this.name,description:this.description,values:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function Xe(e,t){return w("the enum value",C(t,e.getValues().map((e=>e.name))))}class Ye{constructor(e){var t;this.name=pe(e.name),this.description=e.description,this.extensions=y(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=null!==(t=e.extensionASTNodes)&&void 0!==t?t:[],this._fields=ze.bind(void 0,e)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields}toConfig(){const e=N(this.getFields(),(e=>({description:e.description,type:e.type,defaultValue:e.defaultValue,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode})));return{name:this.name,description:this.description,fields:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function ze(e){const t=Re(e.fields);return Le(t)||p(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),N(t,((t,n)=>(!("resolve"in t)||p(!1,`${e.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:pe(n),description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:y(t.extensions),astNode:t.astNode})))}function Ze(e){return Ae(e.type)&&void 0===e.defaultValue}var Qe;!function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"}(Qe||(Qe={}));const et=2147483647,tt=-2147483648,nt=new qe({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(e){const t=ct(e);if("boolean"==typeof t)return t?1:0;let n=t;if("string"==typeof t&&""!==t&&(n=Number(t)),"number"!=typeof n||!Number.isInteger(n))throw new G(`Int cannot represent non-integer value: ${f(t)}`);if(n>et||n<tt)throw new G("Int cannot represent non 32-bit signed integer value: "+f(t));return n},parseValue(e){if("number"!=typeof e||!Number.isInteger(e))throw new G(`Int cannot represent non-integer value: ${f(e)}`);if(e>et||e<tt)throw new G(`Int cannot represent non 32-bit signed integer value: ${e}`);return e},parseLiteral(e){if(e.kind!==F.INT)throw new G(`Int cannot represent non-integer value: ${se(e)}`,{nodes:e});const t=parseInt(e.value,10);if(t>et||t<tt)throw new G(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),rt=new qe({name:"Float",description:"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).",serialize(e){const t=ct(e);if("boolean"==typeof t)return t?1:0;let n=t;if("string"==typeof t&&""!==t&&(n=Number(t)),"number"!=typeof n||!Number.isFinite(n))throw new G(`Float cannot represent non numeric value: ${f(t)}`);return n},parseValue(e){if("number"!=typeof e||!Number.isFinite(e))throw new G(`Float cannot represent non numeric value: ${f(e)}`);return e},parseLiteral(e){if(e.kind!==F.FLOAT&&e.kind!==F.INT)throw new G(`Float cannot represent non numeric value: ${se(e)}`,e);return parseFloat(e.value)}}),st=new qe({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize(e){const t=ct(e);if("string"==typeof t)return t;if("boolean"==typeof t)return t?"true":"false";if("number"==typeof t&&Number.isFinite(t))return t.toString();throw new G(`String cannot represent value: ${f(e)}`)},parseValue(e){if("string"!=typeof e)throw new G(`String cannot represent a non string value: ${f(e)}`);return e},parseLiteral(e){if(e.kind!==F.STRING)throw new G(`String cannot represent a non string value: ${se(e)}`,{nodes:e});return e.value}}),ot=new qe({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(e){const t=ct(e);if("boolean"==typeof t)return t;if(Number.isFinite(t))return 0!==t;throw new G(`Boolean cannot represent a non boolean value: ${f(t)}`)},parseValue(e){if("boolean"!=typeof e)throw new G(`Boolean cannot represent a non boolean value: ${f(e)}`);return e},parseLiteral(e){if(e.kind!==F.BOOLEAN)throw new G(`Boolean cannot represent a non boolean value: ${se(e)}`,{nodes:e});return e.value}}),at=new qe({name:"ID",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.',serialize(e){const t=ct(e);if("string"==typeof t)return t;if(Number.isInteger(t))return String(t);throw new G(`ID cannot represent value: ${f(e)}`)},parseValue(e){if("string"==typeof e)return e;if("number"==typeof e&&Number.isInteger(e))return e.toString();throw new G(`ID cannot represent value: ${f(e)}`)},parseLiteral(e){if(e.kind!==F.STRING&&e.kind!==F.INT)throw new G("ID cannot represent a non-string and non-integer value: "+se(e),{nodes:e});return e.value}}),it=Object.freeze([st,nt,rt,ot,at]);function ut(e){return it.some((({name:t})=>e.name===t))}function ct(e){if(S(e)){if("function"==typeof e.valueOf){const t=e.valueOf();if(!S(t))return t}if("function"==typeof e.toJSON)return e.toJSON()}return e}function dt(e){return m(e,lt)}class lt{constructor(e){var t,n;this.name=pe(e.name),this.description=e.description,this.locations=e.locations,this.isRepeatable=null!==(t=e.isRepeatable)&&void 0!==t&&t,this.extensions=y(e.extensions),this.astNode=e.astNode,Array.isArray(e.locations)||p(!1,`@${e.name} locations must be an Array.`);const r=null!==(n=e.args)&&void 0!==n?n:{};S(r)&&!Array.isArray(r)||p(!1,`@${e.name} args must be an object with argument names as keys.`),this.args=Ge(r)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:Ve(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}}const pt=new lt({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[Qe.FIELD,Qe.FRAGMENT_SPREAD,Qe.INLINE_FRAGMENT],args:{if:{type:new Oe(ot),description:"Included when true."}}}),ft=new lt({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[Qe.FIELD,Qe.FRAGMENT_SPREAD,Qe.INLINE_FRAGMENT],args:{if:{type:new Oe(ot),description:"Skipped when true."}}}),ht=new lt({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[Qe.FIELD_DEFINITION,Qe.ARGUMENT_DEFINITION,Qe.INPUT_FIELD_DEFINITION,Qe.ENUM_VALUE],args:{reason:{type:st,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:"No longer supported"}}}),mt=new lt({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[Qe.SCALAR],args:{url:{type:new Oe(st),description:"The URL that specifies the behavior of this scalar."}}}),St=Object.freeze([pt,ft,ht,mt]);function yt(e){return St.some((({name:t})=>t===e.name))}function gt(e){return"object"==typeof e&&"function"==typeof(null==e?void 0:e[Symbol.iterator])}function vt(e,t){if(Ae(t)){const n=vt(e,t.ofType);return(null==n?void 0:n.kind)===F.NULL?null:n}if(null===e)return{kind:F.NULL};if(void 0===e)return null;if(Ee(t)){const n=t.ofType;if(gt(e)){const t=[];for(const r of e){const e=vt(r,n);null!=e&&t.push(e)}return{kind:F.LIST,values:t}}return vt(e,n)}if(be(t)){if(!S(e))return null;const n=[];for(const r of Object.values(t.getFields())){const t=vt(e[r.name],r.type);t&&n.push({kind:F.OBJECT_FIELD,name:{kind:F.NAME,value:r.name},value:t})}return{kind:F.OBJECT,fields:n}}if(ke(t)){const n=t.serialize(e);if(null==n)return null;if("boolean"==typeof n)return{kind:F.BOOLEAN,value:n};if("number"==typeof n&&Number.isFinite(n)){const e=String(n);return bt.test(e)?{kind:F.INT,value:e}:{kind:F.FLOAT,value:e}}if("string"==typeof n)return ve(t)?{kind:F.ENUM,value:n}:t===at&&bt.test(n)?{kind:F.INT,value:n}:{kind:F.STRING,value:n};throw new TypeError(`Cannot convert value to AST: ${f(n)}.`)}R(!1,"Unexpected input type: "+f(t))}const bt=/^-?(?:0|[1-9][0-9]*)$/,Et=new je({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:st,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new Oe(new Ne(new Oe(wt))),resolve:e=>Object.values(e.getTypeMap())},queryType:{description:"The type that query operations will be rooted at.",type:new Oe(wt),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:wt,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:wt,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new Oe(new Ne(new Oe(At))),resolve:e=>e.getDirectives()}})}),At=new je({name:"__Directive",description:"A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.",fields:()=>({name:{type:new Oe(st),resolve:e=>e.name},description:{type:st,resolve:e=>e.description},isRepeatable:{type:new Oe(ot),resolve:e=>e.isRepeatable},locations:{type:new Oe(new Ne(new Oe(Tt))),resolve:e=>e.locations},args:{type:new Oe(new Ne(new Oe(Pt))),args:{includeDeprecated:{type:ot,defaultValue:!1}},resolve:(e,{includeDeprecated:t})=>t?e.args:e.args.filter((e=>null==e.deprecationReason))}})}),Tt=new We({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:Qe.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:Qe.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:Qe.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:Qe.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:Qe.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:Qe.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:Qe.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:Qe.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:Qe.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:Qe.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:Qe.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:Qe.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:Qe.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:Qe.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:Qe.UNION,description:"Location adjacent to a union definition."},ENUM:{value:Qe.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:Qe.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:Qe.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:Qe.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),wt=new je({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new Oe(Ot),resolve:e=>me(e)?Nt.SCALAR:Se(e)?Nt.OBJECT:ye(e)?Nt.INTERFACE:ge(e)?Nt.UNION:ve(e)?Nt.ENUM:be(e)?Nt.INPUT_OBJECT:Ee(e)?Nt.LIST:Ae(e)?Nt.NON_NULL:void R(!1,`Unexpected type: "${f(e)}".`)},name:{type:st,resolve:e=>"name"in e?e.name:void 0},description:{type:st,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:st,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new Ne(new Oe(kt)),args:{includeDeprecated:{type:ot,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Se(e)||ye(e)){const n=Object.values(e.getFields());return t?n:n.filter((e=>null==e.deprecationReason))}}},interfaces:{type:new Ne(new Oe(wt)),resolve(e){if(Se(e)||ye(e))return e.getInterfaces()}},possibleTypes:{type:new Ne(new Oe(wt)),resolve(e,t,n,{schema:r}){if(Ie(e))return r.getPossibleTypes(e)}},enumValues:{type:new Ne(new Oe(It)),args:{includeDeprecated:{type:ot,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(ve(e)){const n=e.getValues();return t?n:n.filter((e=>null==e.deprecationReason))}}},inputFields:{type:new Ne(new Oe(Pt)),args:{includeDeprecated:{type:ot,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(be(e)){const n=Object.values(e.getFields());return t?n:n.filter((e=>null==e.deprecationReason))}}},ofType:{type:wt,resolve:e=>"ofType"in e?e.ofType:void 0}})}),kt=new je({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new Oe(st),resolve:e=>e.name},description:{type:st,resolve:e=>e.description},args:{type:new Oe(new Ne(new Oe(Pt))),args:{includeDeprecated:{type:ot,defaultValue:!1}},resolve:(e,{includeDeprecated:t})=>t?e.args:e.args.filter((e=>null==e.deprecationReason))},type:{type:new Oe(wt),resolve:e=>e.type},isDeprecated:{type:new Oe(ot),resolve:e=>null!=e.deprecationReason},deprecationReason:{type:st,resolve:e=>e.deprecationReason}})}),Pt=new je({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new Oe(st),resolve:e=>e.name},description:{type:st,resolve:e=>e.description},type:{type:new Oe(wt),resolve:e=>e.type},defaultValue:{type:st,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){const{type:t,defaultValue:n}=e,r=vt(n,t);return r?se(r):null}},isDeprecated:{type:new Oe(ot),resolve:e=>null!=e.deprecationReason},deprecationReason:{type:st,resolve:e=>e.deprecationReason}})}),It=new je({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new Oe(st),resolve:e=>e.name},description:{type:st,resolve:e=>e.description},isDeprecated:{type:new Oe(ot),resolve:e=>null!=e.deprecationReason},deprecationReason:{type:st,resolve:e=>e.deprecationReason}})});var Nt;!function(e){e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.INPUT_OBJECT="INPUT_OBJECT",e.LIST="LIST",e.NON_NULL="NON_NULL"}(Nt||(Nt={}));const Ot=new We({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:Nt.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:Nt.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:Nt.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:Nt.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:Nt.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:Nt.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:Nt.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:Nt.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),_t={name:"__schema",type:new Oe(Et),description:"Access the current type schema of this server.",args:[],resolve:(e,t,n,{schema:r})=>r,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},xt={name:"__type",type:wt,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new Oe(st),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},n,{schema:r})=>r.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Ct={name:"__typename",type:new Oe(st),description:"The name of the current Object type at runtime.",args:[],resolve:(e,t,n,{parentType:r})=>r.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Dt=Object.freeze([Et,At,Tt,wt,kt,Pt,It,Ot]);function $t(e){return Dt.some((({name:t})=>e.name===t))}function Rt(e){return m(e,qt)}class qt{constructor(e){var t,n;this.__validationErrors=!0===e.assumeValid?[]:void 0,S(e)||p(!1,"Must provide configuration object."),!e.types||Array.isArray(e.types)||p(!1,`"types" must be Array if provided but got: ${f(e.types)}.`),!e.directives||Array.isArray(e.directives)||p(!1,`"directives" must be Array if provided but got: ${f(e.directives)}.`),this.description=e.description,this.extensions=y(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=null!==(t=e.extensionASTNodes)&&void 0!==t?t:[],this._queryType=e.query,this._mutationType=e.mutation,this._subscriptionType=e.subscription,this._directives=null!==(n=e.directives)&&void 0!==n?n:St;const r=new Set(e.types);if(null!=e.types)for(const t of e.types)r.delete(t),jt(t,r);null!=this._queryType&&jt(this._queryType,r),null!=this._mutationType&&jt(this._mutationType,r),null!=this._subscriptionType&&jt(this._subscriptionType,r);for(const e of this._directives)if(dt(e))for(const t of e.args)jt(t.type,r);jt(Et,r),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(const e of r){if(null==e)continue;const t=e.name;if(t||p(!1,"One of the provided types for building the Schema is missing a name."),void 0!==this._typeMap[t])throw new Error(`Schema must contain uniquely named types but contains multiple types named "${t}".`);if(this._typeMap[t]=e,ye(e)){for(const t of e.getInterfaces())if(ye(t)){let n=this._implementationsMap[t.name];void 0===n&&(n=this._implementationsMap[t.name]={objects:[],interfaces:[]}),n.interfaces.push(e)}}else if(Se(e))for(const t of e.getInterfaces())if(ye(t)){let n=this._implementationsMap[t.name];void 0===n&&(n=this._implementationsMap[t.name]={objects:[],interfaces:[]}),n.objects.push(e)}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(e){switch(e){case T.QUERY:return this.getQueryType();case T.MUTATION:return this.getMutationType();case T.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(e){return this.getTypeMap()[e]}getPossibleTypes(e){return ge(e)?e.getTypes():this.getImplementations(e).objects}getImplementations(e){const t=this._implementationsMap[e.name];return null!=t?t:{objects:[],interfaces:[]}}isSubType(e,t){let n=this._subTypeMap[e.name];if(void 0===n){if(n=Object.create(null),ge(e))for(const t of e.getTypes())n[t.name]=!0;else{const t=this.getImplementations(e);for(const e of t.objects)n[e.name]=!0;for(const e of t.interfaces)n[e.name]=!0}this._subTypeMap[e.name]=n}return void 0!==n[t.name]}getDirectives(){return this._directives}getDirective(e){return this.getDirectives().find((t=>t.name===e))}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:void 0!==this.__validationErrors}}}function jt(e,t){const n=De(e);if(!t.has(n))if(t.add(n),ge(n))for(const e of n.getTypes())jt(e,t);else if(Se(n)||ye(n)){for(const e of n.getInterfaces())jt(e,t);for(const e of Object.values(n.getFields())){jt(e.type,t);for(const n of e.args)jt(n.type,t)}}else if(be(n))for(const e of Object.values(n.getFields()))jt(e.type,t);return t}function Mt(e,t,n){return new G(`Syntax Error: ${n}`,{source:e,positions:[t]})}var Bt,Gt;(Gt=Bt||(Bt={})).SOF="<SOF>",Gt.EOF="<EOF>",Gt.BANG="!",Gt.DOLLAR="$",Gt.AMP="&",Gt.PAREN_L="(",Gt.PAREN_R=")",Gt.SPREAD="...",Gt.COLON=":",Gt.EQUALS="=",Gt.AT="@",Gt.BRACKET_L="[",Gt.BRACKET_R="]",Gt.BRACE_L="{",Gt.PIPE="|",Gt.BRACE_R="}",Gt.NAME="Name",Gt.INT="Int",Gt.FLOAT="Float",Gt.STRING="String",Gt.BLOCK_STRING="BlockString",Gt.COMMENT="Comment";class Lt{constructor(e){const t=new v(Bt.SOF,0,0,0,0);this.source=e,this.lastToken=t,this.token=t,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let e=this.token;if(e.kind!==Bt.EOF)do{if(e.next)e=e.next;else{const t=Wt(this,e.end);e.next=t,t.prev=e,e=t}}while(e.kind===Bt.COMMENT);return e}}function Ft(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}function Vt(e,t){return Ut(e.charCodeAt(t))&&Jt(e.charCodeAt(t+1))}function Ut(e){return e>=55296&&e<=56319}function Jt(e){return e>=56320&&e<=57343}function Ht(e,t){const n=e.source.body.codePointAt(t);if(void 0===n)return Bt.EOF;if(n>=32&&n<=126){const e=String.fromCodePoint(n);return'"'===e?"'\"'":`"${e}"`}return"U+"+n.toString(16).toUpperCase().padStart(4,"0")}function Kt(e,t,n,r,s){const o=e.line,a=1+n-e.lineStart;return new v(t,n,r,o,a,s)}function Wt(e,t){const n=e.source.body,r=n.length;let s=t;for(;s<r;){const t=n.charCodeAt(s);switch(t){case 65279:case 9:case 32:case 44:++s;continue;case 10:++s,++e.line,e.lineStart=s;continue;case 13:10===n.charCodeAt(s+1)?s+=2:++s,++e.line,e.lineStart=s;continue;case 35:return Xt(e,s);case 33:return Kt(e,Bt.BANG,s,s+1);case 36:return Kt(e,Bt.DOLLAR,s,s+1);case 38:return Kt(e,Bt.AMP,s,s+1);case 40:return Kt(e,Bt.PAREN_L,s,s+1);case 41:return Kt(e,Bt.PAREN_R,s,s+1);case 46:if(46===n.charCodeAt(s+1)&&46===n.charCodeAt(s+2))return Kt(e,Bt.SPREAD,s,s+3);break;case 58:return Kt(e,Bt.COLON,s,s+1);case 61:return Kt(e,Bt.EQUALS,s,s+1);case 64:return Kt(e,Bt.AT,s,s+1);case 91:return Kt(e,Bt.BRACKET_L,s,s+1);case 93:return Kt(e,Bt.BRACKET_R,s,s+1);case 123:return Kt(e,Bt.BRACE_L,s,s+1);case 124:return Kt(e,Bt.PIPE,s,s+1);case 125:return Kt(e,Bt.BRACE_R,s,s+1);case 34:return 34===n.charCodeAt(s+1)&&34===n.charCodeAt(s+2)?sn(e,s):Zt(e,s)}if(J(t)||45===t)return Yt(e,s,t);if(K(t))return on(e,s);throw Mt(e.source,s,39===t?"Unexpected single quote character ('), did you mean to use a double quote (\")?":Ft(t)||Vt(n,s)?`Unexpected character: ${Ht(e,s)}.`:`Invalid character: ${Ht(e,s)}.`)}return Kt(e,Bt.EOF,r,r)}function Xt(e,t){const n=e.source.body,r=n.length;let s=t+1;for(;s<r;){const e=n.charCodeAt(s);if(10===e||13===e)break;if(Ft(e))++s;else{if(!Vt(n,s))break;s+=2}}return Kt(e,Bt.COMMENT,t,s,n.slice(t+1,s))}function Yt(e,t,n){const r=e.source.body;let s=t,o=n,a=!1;if(45===o&&(o=r.charCodeAt(++s)),48===o){if(o=r.charCodeAt(++s),J(o))throw Mt(e.source,s,`Invalid number, unexpected digit after 0: ${Ht(e,s)}.`)}else s=zt(e,s,o),o=r.charCodeAt(s);if(46===o&&(a=!0,o=r.charCodeAt(++s),s=zt(e,s,o),o=r.charCodeAt(s)),69!==o&&101!==o||(a=!0,o=r.charCodeAt(++s),43!==o&&45!==o||(o=r.charCodeAt(++s)),s=zt(e,s,o),o=r.charCodeAt(s)),46===o||K(o))throw Mt(e.source,s,`Invalid number, expected digit but got: ${Ht(e,s)}.`);return Kt(e,a?Bt.FLOAT:Bt.INT,t,s,r.slice(t,s))}function zt(e,t,n){if(!J(n))throw Mt(e.source,t,`Invalid number, expected digit but got: ${Ht(e,t)}.`);const r=e.source.body;let s=t+1;for(;J(r.charCodeAt(s));)++s;return s}function Zt(e,t){const n=e.source.body,r=n.length;let s=t+1,o=s,a="";for(;s<r;){const r=n.charCodeAt(s);if(34===r)return a+=n.slice(o,s),Kt(e,Bt.STRING,t,s+1,a);if(92!==r){if(10===r||13===r)break;if(Ft(r))++s;else{if(!Vt(n,s))throw Mt(e.source,s,`Invalid character within String: ${Ht(e,s)}.`);s+=2}}else{a+=n.slice(o,s);const t=117===n.charCodeAt(s+1)?123===n.charCodeAt(s+2)?Qt(e,s):en(e,s):rn(e,s);a+=t.value,s+=t.size,o=s}}throw Mt(e.source,s,"Unterminated string.")}function Qt(e,t){const n=e.source.body;let r=0,s=3;for(;s<12;){const e=n.charCodeAt(t+s++);if(125===e){if(s<5||!Ft(r))break;return{value:String.fromCodePoint(r),size:s}}if(r=r<<4|nn(e),r<0)break}throw Mt(e.source,t,`Invalid Unicode escape sequence: "${n.slice(t,t+s)}".`)}function en(e,t){const n=e.source.body,r=tn(n,t+2);if(Ft(r))return{value:String.fromCodePoint(r),size:6};if(Ut(r)&&92===n.charCodeAt(t+6)&&117===n.charCodeAt(t+7)){const e=tn(n,t+8);if(Jt(e))return{value:String.fromCodePoint(r,e),size:12}}throw Mt(e.source,t,`Invalid Unicode escape sequence: "${n.slice(t,t+6)}".`)}function tn(e,t){return nn(e.charCodeAt(t))<<12|nn(e.charCodeAt(t+1))<<8|nn(e.charCodeAt(t+2))<<4|nn(e.charCodeAt(t+3))}function nn(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function rn(e,t){const n=e.source.body;switch(n.charCodeAt(t+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:"\n",size:2};case 114:return{value:"\r",size:2};case 116:return{value:"\t",size:2}}throw Mt(e.source,t,`Invalid character escape sequence: "${n.slice(t,t+2)}".`)}function sn(e,t){const n=e.source.body,r=n.length;let s=e.lineStart,o=t+3,a=o,i="";const u=[];for(;o<r;){const r=n.charCodeAt(o);if(34===r&&34===n.charCodeAt(o+1)&&34===n.charCodeAt(o+2)){i+=n.slice(a,o),u.push(i);const r=Kt(e,Bt.BLOCK_STRING,t,o+3,X(u).join("\n"));return e.line+=u.length-1,e.lineStart=s,r}if(92!==r||34!==n.charCodeAt(o+1)||34!==n.charCodeAt(o+2)||34!==n.charCodeAt(o+3))if(10!==r&&13!==r)if(Ft(r))++o;else{if(!Vt(n,o))throw Mt(e.source,o,`Invalid character within String: ${Ht(e,o)}.`);o+=2}else i+=n.slice(a,o),u.push(i),13===r&&10===n.charCodeAt(o+1)?o+=2:++o,i="",a=o,s=o;else i+=n.slice(a,o),a=o+1,o+=4}throw Mt(e.source,o,"Unterminated string.")}function on(e,t){const n=e.source.body,r=n.length;let s=t+1;for(;s<r&&W(n.charCodeAt(s));)++s;return Kt(e,Bt.NAME,t,s,n.slice(t,s))}class an{constructor(e,t="GraphQL request",n={line:1,column:1}){"string"==typeof e||p(!1,`Body must be a string. Received: ${f(e)}.`),this.body=e,this.name=t,this.locationOffset=n,this.locationOffset.line>0||p(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||p(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}}function un(e,t){return new cn(e,t).parseDocument()}class cn{constructor(e,t={}){const n=function(e){return m(e,an)}(e)?e:new an(e);this._lexer=new Lt(n),this._options=t,this._tokenCounter=0}parseName(){const e=this.expectToken(Bt.NAME);return this.node(e,{kind:F.NAME,value:e.value})}parseDocument(){return this.node(this._lexer.token,{kind:F.DOCUMENT,definitions:this.many(Bt.SOF,this.parseDefinition,Bt.EOF)})}parseDefinition(){if(this.peek(Bt.BRACE_L))return this.parseOperationDefinition();const e=this.peekDescription(),t=e?this._lexer.lookahead():this._lexer.token;if(t.kind===Bt.NAME){switch(t.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(e)throw Mt(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(t.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(t)}parseOperationDefinition(){const e=this._lexer.token;if(this.peek(Bt.BRACE_L))return this.node(e,{kind:F.OPERATION_DEFINITION,operation:T.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});const t=this.parseOperationType();let n;return this.peek(Bt.NAME)&&(n=this.parseName()),this.node(e,{kind:F.OPERATION_DEFINITION,operation:t,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){const e=this.expectToken(Bt.NAME);switch(e.value){case"query":return T.QUERY;case"mutation":return T.MUTATION;case"subscription":return T.SUBSCRIPTION}throw this.unexpected(e)}parseVariableDefinitions(){return this.optionalMany(Bt.PAREN_L,this.parseVariableDefinition,Bt.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:F.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(Bt.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(Bt.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){const e=this._lexer.token;return this.expectToken(Bt.DOLLAR),this.node(e,{kind:F.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:F.SELECTION_SET,selections:this.many(Bt.BRACE_L,this.parseSelection,Bt.BRACE_R)})}parseSelection(){return this.peek(Bt.SPREAD)?this.parseFragment():this.parseField()}parseField(){const e=this._lexer.token,t=this.parseName();let n,r;return this.expectOptionalToken(Bt.COLON)?(n=t,r=this.parseName()):r=t,this.node(e,{kind:F.FIELD,alias:n,name:r,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(Bt.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(e){const t=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(Bt.PAREN_L,t,Bt.PAREN_R)}parseArgument(e=!1){const t=this._lexer.token,n=this.parseName();return this.expectToken(Bt.COLON),this.node(t,{kind:F.ARGUMENT,name:n,value:this.parseValueLiteral(e)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){const e=this._lexer.token;this.expectToken(Bt.SPREAD);const t=this.expectOptionalKeyword("on");return!t&&this.peek(Bt.NAME)?this.node(e,{kind:F.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(e,{kind:F.INLINE_FRAGMENT,typeCondition:t?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){const e=this._lexer.token;return this.expectKeyword("fragment"),!0===this._options.allowLegacyFragmentVariables?this.node(e,{kind:F.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(e,{kind:F.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if("on"===this._lexer.token.value)throw this.unexpected();return this.parseName()}parseValueLiteral(e){const t=this._lexer.token;switch(t.kind){case Bt.BRACKET_L:return this.parseList(e);case Bt.BRACE_L:return this.parseObject(e);case Bt.INT:return this.advanceLexer(),this.node(t,{kind:F.INT,value:t.value});case Bt.FLOAT:return this.advanceLexer(),this.node(t,{kind:F.FLOAT,value:t.value});case Bt.STRING:case Bt.BLOCK_STRING:return this.parseStringLiteral();case Bt.NAME:switch(this.advanceLexer(),t.value){case"true":return this.node(t,{kind:F.BOOLEAN,value:!0});case"false":return this.node(t,{kind:F.BOOLEAN,value:!1});case"null":return this.node(t,{kind:F.NULL});default:return this.node(t,{kind:F.ENUM,value:t.value})}case Bt.DOLLAR:if(e){if(this.expectToken(Bt.DOLLAR),this._lexer.token.kind===Bt.NAME){const e=this._lexer.token.value;throw Mt(this._lexer.source,t.start,`Unexpected variable "$${e}" in constant value.`)}throw this.unexpected(t)}return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){const e=this._lexer.token;return this.advanceLexer(),this.node(e,{kind:F.STRING,value:e.value,block:e.kind===Bt.BLOCK_STRING})}parseList(e){return this.node(this._lexer.token,{kind:F.LIST,values:this.any(Bt.BRACKET_L,(()=>this.parseValueLiteral(e)),Bt.BRACKET_R)})}parseObject(e){return this.node(this._lexer.token,{kind:F.OBJECT,fields:this.any(Bt.BRACE_L,(()=>this.parseObjectField(e)),Bt.BRACE_R)})}parseObjectField(e){const t=this._lexer.token,n=this.parseName();return this.expectToken(Bt.COLON),this.node(t,{kind:F.OBJECT_FIELD,name:n,value:this.parseValueLiteral(e)})}parseDirectives(e){const t=[];for(;this.peek(Bt.AT);)t.push(this.parseDirective(e));return t}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(e){const t=this._lexer.token;return this.expectToken(Bt.AT),this.node(t,{kind:F.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e)})}parseTypeReference(){const e=this._lexer.token;let t;if(this.expectOptionalToken(Bt.BRACKET_L)){const n=this.parseTypeReference();this.expectToken(Bt.BRACKET_R),t=this.node(e,{kind:F.LIST_TYPE,type:n})}else t=this.parseNamedType();return this.expectOptionalToken(Bt.BANG)?this.node(e,{kind:F.NON_NULL_TYPE,type:t}):t}parseNamedType(){return this.node(this._lexer.token,{kind:F.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(Bt.STRING)||this.peek(Bt.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("schema");const n=this.parseConstDirectives(),r=this.many(Bt.BRACE_L,this.parseOperationTypeDefinition,Bt.BRACE_R);return this.node(e,{kind:F.SCHEMA_DEFINITION,description:t,directives:n,operationTypes:r})}parseOperationTypeDefinition(){const e=this._lexer.token,t=this.parseOperationType();this.expectToken(Bt.COLON);const n=this.parseNamedType();return this.node(e,{kind:F.OPERATION_TYPE_DEFINITION,operation:t,type:n})}parseScalarTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("scalar");const n=this.parseName(),r=this.parseConstDirectives();return this.node(e,{kind:F.SCALAR_TYPE_DEFINITION,description:t,name:n,directives:r})}parseObjectTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("type");const n=this.parseName(),r=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),o=this.parseFieldsDefinition();return this.node(e,{kind:F.OBJECT_TYPE_DEFINITION,description:t,name:n,interfaces:r,directives:s,fields:o})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(Bt.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(Bt.BRACE_L,this.parseFieldDefinition,Bt.BRACE_R)}parseFieldDefinition(){const e=this._lexer.token,t=this.parseDescription(),n=this.parseName(),r=this.parseArgumentDefs();this.expectToken(Bt.COLON);const s=this.parseTypeReference(),o=this.parseConstDirectives();return this.node(e,{kind:F.FIELD_DEFINITION,description:t,name:n,arguments:r,type:s,directives:o})}parseArgumentDefs(){return this.optionalMany(Bt.PAREN_L,this.parseInputValueDef,Bt.PAREN_R)}parseInputValueDef(){const e=this._lexer.token,t=this.parseDescription(),n=this.parseName();this.expectToken(Bt.COLON);const r=this.parseTypeReference();let s;this.expectOptionalToken(Bt.EQUALS)&&(s=this.parseConstValueLiteral());const o=this.parseConstDirectives();return this.node(e,{kind:F.INPUT_VALUE_DEFINITION,description:t,name:n,type:r,defaultValue:s,directives:o})}parseInterfaceTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("interface");const n=this.parseName(),r=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),o=this.parseFieldsDefinition();return this.node(e,{kind:F.INTERFACE_TYPE_DEFINITION,description:t,name:n,interfaces:r,directives:s,fields:o})}parseUnionTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("union");const n=this.parseName(),r=this.parseConstDirectives(),s=this.parseUnionMemberTypes();return this.node(e,{kind:F.UNION_TYPE_DEFINITION,description:t,name:n,directives:r,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(Bt.EQUALS)?this.delimitedMany(Bt.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("enum");const n=this.parseName(),r=this.parseConstDirectives(),s=this.parseEnumValuesDefinition();return this.node(e,{kind:F.ENUM_TYPE_DEFINITION,description:t,name:n,directives:r,values:s})}parseEnumValuesDefinition(){return this.optionalMany(Bt.BRACE_L,this.parseEnumValueDefinition,Bt.BRACE_R)}parseEnumValueDefinition(){const e=this._lexer.token,t=this.parseDescription(),n=this.parseEnumValueName(),r=this.parseConstDirectives();return this.node(e,{kind:F.ENUM_VALUE_DEFINITION,description:t,name:n,directives:r})}parseEnumValueName(){if("true"===this._lexer.token.value||"false"===this._lexer.token.value||"null"===this._lexer.token.value)throw Mt(this._lexer.source,this._lexer.token.start,`${dn(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("input");const n=this.parseName(),r=this.parseConstDirectives(),s=this.parseInputFieldsDefinition();return this.node(e,{kind:F.INPUT_OBJECT_TYPE_DEFINITION,description:t,name:n,directives:r,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(Bt.BRACE_L,this.parseInputValueDef,Bt.BRACE_R)}parseTypeSystemExtension(){const e=this._lexer.lookahead();if(e.kind===Bt.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)}parseSchemaExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");const t=this.parseConstDirectives(),n=this.optionalMany(Bt.BRACE_L,this.parseOperationTypeDefinition,Bt.BRACE_R);if(0===t.length&&0===n.length)throw this.unexpected();return this.node(e,{kind:F.SCHEMA_EXTENSION,directives:t,operationTypes:n})}parseScalarTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");const t=this.parseName(),n=this.parseConstDirectives();if(0===n.length)throw this.unexpected();return this.node(e,{kind:F.SCALAR_TYPE_EXTENSION,name:t,directives:n})}parseObjectTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");const t=this.parseName(),n=this.parseImplementsInterfaces(),r=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(0===n.length&&0===r.length&&0===s.length)throw this.unexpected();return this.node(e,{kind:F.OBJECT_TYPE_EXTENSION,name:t,interfaces:n,directives:r,fields:s})}parseInterfaceTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");const t=this.parseName(),n=this.parseImplementsInterfaces(),r=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(0===n.length&&0===r.length&&0===s.length)throw this.unexpected();return this.node(e,{kind:F.INTERFACE_TYPE_EXTENSION,name:t,interfaces:n,directives:r,fields:s})}parseUnionTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");const t=this.parseName(),n=this.parseConstDirectives(),r=this.parseUnionMemberTypes();if(0===n.length&&0===r.length)throw this.unexpected();return this.node(e,{kind:F.UNION_TYPE_EXTENSION,name:t,directives:n,types:r})}parseEnumTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");const t=this.parseName(),n=this.parseConstDirectives(),r=this.parseEnumValuesDefinition();if(0===n.length&&0===r.length)throw this.unexpected();return this.node(e,{kind:F.ENUM_TYPE_EXTENSION,name:t,directives:n,values:r})}parseInputObjectTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");const t=this.parseName(),n=this.parseConstDirectives(),r=this.parseInputFieldsDefinition();if(0===n.length&&0===r.length)throw this.unexpected();return this.node(e,{kind:F.INPUT_OBJECT_TYPE_EXTENSION,name:t,directives:n,fields:r})}parseDirectiveDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("directive"),this.expectToken(Bt.AT);const n=this.parseName(),r=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");const o=this.parseDirectiveLocations();return this.node(e,{kind:F.DIRECTIVE_DEFINITION,description:t,name:n,arguments:r,repeatable:s,locations:o})}parseDirectiveLocations(){return this.delimitedMany(Bt.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){const e=this._lexer.token,t=this.parseName();if(Object.prototype.hasOwnProperty.call(Qe,t.value))return t;throw this.unexpected(e)}node(e,t){return!0!==this._options.noLocation&&(t.loc=new g(e,this._lexer.lastToken,this._lexer.source)),t}peek(e){return this._lexer.token.kind===e}expectToken(e){const t=this._lexer.token;if(t.kind===e)return this.advanceLexer(),t;throw Mt(this._lexer.source,t.start,`Expected ${ln(e)}, found ${dn(t)}.`)}expectOptionalToken(e){return this._lexer.token.kind===e&&(this.advanceLexer(),!0)}expectKeyword(e){const t=this._lexer.token;if(t.kind!==Bt.NAME||t.value!==e)throw Mt(this._lexer.source,t.start,`Expected "${e}", found ${dn(t)}.`);this.advanceLexer()}expectOptionalKeyword(e){const t=this._lexer.token;return t.kind===Bt.NAME&&t.value===e&&(this.advanceLexer(),!0)}unexpected(e){const t=null!=e?e:this._lexer.token;return Mt(this._lexer.source,t.start,`Unexpected ${dn(t)}.`)}any(e,t,n){this.expectToken(e);const r=[];for(;!this.expectOptionalToken(n);)r.push(t.call(this));return r}optionalMany(e,t,n){if(this.expectOptionalToken(e)){const e=[];do{e.push(t.call(this))}while(!this.expectOptionalToken(n));return e}return[]}many(e,t,n){this.expectToken(e);const r=[];do{r.push(t.call(this))}while(!this.expectOptionalToken(n));return r}delimitedMany(e,t){this.expectOptionalToken(e);const n=[];do{n.push(t.call(this))}while(this.expectOptionalToken(e));return n}advanceLexer(){const{maxTokens:e}=this._options,t=this._lexer.advance();if(void 0!==e&&t.kind!==Bt.EOF&&(++this._tokenCounter,this._tokenCounter>e))throw Mt(this._lexer.source,t.start,`Document contains more that ${e} tokens. Parsing aborted.`)}}function dn(e){const t=e.value;return ln(e.kind)+(null!=t?` "${t}"`:"")}function ln(e){return function(e){return e===Bt.BANG||e===Bt.DOLLAR||e===Bt.AMP||e===Bt.PAREN_L||e===Bt.PAREN_R||e===Bt.SPREAD||e===Bt.COLON||e===Bt.EQUALS||e===Bt.AT||e===Bt.BRACKET_L||e===Bt.BRACKET_R||e===Bt.BRACE_L||e===Bt.PIPE||e===Bt.BRACE_R}(e)?`"${e}"`:e}function pn(e,t){return e===t||(Ae(e)&&Ae(t)||!(!Ee(e)||!Ee(t)))&&pn(e.ofType,t.ofType)}function fn(e,t,n){return t===n||(Ae(n)?!!Ae(t)&&fn(e,t.ofType,n.ofType):Ae(t)?fn(e,t.ofType,n):Ee(n)?!!Ee(t)&&fn(e,t.ofType,n.ofType):!Ee(t)&&Ie(n)&&(ye(t)||Se(t))&&e.isSubType(n,t))}function hn(e,t,n){return t===n||(Ie(t)?Ie(n)?e.getPossibleTypes(t).some((t=>e.isSubType(n,t))):e.isSubType(t,n):!!Ie(n)&&e.isSubType(n,t))}function mn(e){if(function(e){if(!Rt(e))throw new Error(`Expected ${f(e)} to be a GraphQL schema.`)}(e),e.__validationErrors)return e.__validationErrors;const t=new yn(e);!function(e){const t=e.schema,n=t.getQueryType();if(n){if(!Se(n)){var r;e.reportError(`Query root type must be Object type, it cannot be ${f(n)}.`,null!==(r=gn(t,T.QUERY))&&void 0!==r?r:n.astNode)}}else e.reportError("Query root type must be provided.",t.astNode);const s=t.getMutationType();var o;s&&!Se(s)&&e.reportError(`Mutation root type must be Object type if provided, it cannot be ${f(s)}.`,null!==(o=gn(t,T.MUTATION))&&void 0!==o?o:s.astNode);const a=t.getSubscriptionType();var i;a&&!Se(a)&&e.reportError(`Subscription root type must be Object type if provided, it cannot be ${f(a)}.`,null!==(i=gn(t,T.SUBSCRIPTION))&&void 0!==i?i:a.astNode)}(t),function(e){for(const n of e.schema.getDirectives())if(dt(n)){vn(e,n);for(const r of n.args){var t;vn(e,r),Te(r.type)||e.reportError(`The type of @${n.name}(${r.name}:) must be Input Type but got: ${f(r.type)}.`,r.astNode),Ue(r)&&null!=r.deprecationReason&&e.reportError(`Required argument @${n.name}(${r.name}:) cannot be deprecated.`,[On(r.astNode),null===(t=r.astNode)||void 0===t?void 0:t.type])}}else e.reportError(`Expected directive but got: ${f(n)}.`,null==n?void 0:n.astNode)}(t),function(e){const t=function(e){const t=Object.create(null),n=[],r=Object.create(null);return function s(o){if(t[o.name])return;t[o.name]=!0,r[o.name]=n.length;const a=Object.values(o.getFields());for(const t of a)if(Ae(t.type)&&be(t.type.ofType)){const o=t.type.ofType,a=r[o.name];if(n.push(t),void 0===a)s(o);else{const t=n.slice(a),r=t.map((e=>e.name)).join(".");e.reportError(`Cannot reference Input Object "${o.name}" within itself through a series of non-null fields: "${r}".`,t.map((e=>e.astNode)))}n.pop()}r[o.name]=void 0}}(e),n=e.schema.getTypeMap();for(const r of Object.values(n))Ce(r)?($t(r)||vn(e,r),Se(r)||ye(r)?(bn(e,r),En(e,r)):ge(r)?wn(e,r):ve(r)?kn(e,r):be(r)&&(Pn(e,r),t(r))):e.reportError(`Expected GraphQL named type but got: ${f(r)}.`,r.astNode)}(t);const n=t.getErrors();return e.__validationErrors=n,n}function Sn(e){const t=mn(e);if(0!==t.length)throw new Error(t.map((e=>e.message)).join("\n\n"))}class yn{constructor(e){this._errors=[],this.schema=e}reportError(e,t){const n=Array.isArray(t)?t.filter(Boolean):t;this._errors.push(new G(e,{nodes:n}))}getErrors(){return this._errors}}function gn(e,t){var n;return null===(n=[e.astNode,...e.extensionASTNodes].flatMap((e=>{var t;return null!==(t=null==e?void 0:e.operationTypes)&&void 0!==t?t:[]})).find((e=>e.operation===t)))||void 0===n?void 0:n.type}function vn(e,t){t.name.startsWith("__")&&e.reportError(`Name "${t.name}" must not begin with "__", which is reserved by GraphQL introspection.`,t.astNode)}function bn(e,t){const n=Object.values(t.getFields());0===n.length&&e.reportError(`Type ${t.name} must define one or more fields.`,[t.astNode,...t.extensionASTNodes]);for(const a of n){var r;vn(e,a),we(a.type)||e.reportError(`The type of ${t.name}.${a.name} must be Output Type but got: ${f(a.type)}.`,null===(r=a.astNode)||void 0===r?void 0:r.type);for(const n of a.args){const r=n.name;var s,o;vn(e,n),Te(n.type)||e.reportError(`The type of ${t.name}.${a.name}(${r}:) must be Input Type but got: ${f(n.type)}.`,null===(s=n.astNode)||void 0===s?void 0:s.type),Ue(n)&&null!=n.deprecationReason&&e.reportError(`Required argument ${t.name}.${a.name}(${r}:) cannot be deprecated.`,[On(n.astNode),null===(o=n.astNode)||void 0===o?void 0:o.type])}}}function En(e,t){const n=Object.create(null);for(const r of t.getInterfaces())ye(r)?t!==r?n[r.name]?e.reportError(`Type ${t.name} can only implement ${r.name} once.`,In(t,r)):(n[r.name]=!0,Tn(e,t,r),An(e,t,r)):e.reportError(`Type ${t.name} cannot implement itself because it would create a circular reference.`,In(t,r)):e.reportError(`Type ${f(t)} must only implement Interface types, it cannot implement ${f(r)}.`,In(t,r))}function An(e,t,n){const r=t.getFields();for(const u of Object.values(n.getFields())){const c=u.name,d=r[c];if(d){var s,o;fn(e.schema,d.type,u.type)||e.reportError(`Interface field ${n.name}.${c} expects type ${f(u.type)} but ${t.name}.${c} is type ${f(d.type)}.`,[null===(s=u.astNode)||void 0===s?void 0:s.type,null===(o=d.astNode)||void 0===o?void 0:o.type]);for(const r of u.args){const s=r.name,o=d.args.find((e=>e.name===s));var a,i;o?pn(r.type,o.type)||e.reportError(`Interface field argument ${n.name}.${c}(${s}:) expects type ${f(r.type)} but ${t.name}.${c}(${s}:) is type ${f(o.type)}.`,[null===(a=r.astNode)||void 0===a?void 0:a.type,null===(i=o.astNode)||void 0===i?void 0:i.type]):e.reportError(`Interface field argument ${n.name}.${c}(${s}:) expected but ${t.name}.${c} does not provide it.`,[r.astNode,d.astNode])}for(const r of d.args){const s=r.name;!u.args.find((e=>e.name===s))&&Ue(r)&&e.reportError(`Object field ${t.name}.${c} includes required argument ${s} that is missing from the Interface field ${n.name}.${c}.`,[r.astNode,u.astNode])}}else e.reportError(`Interface field ${n.name}.${c} expected but ${t.name} does not provide it.`,[u.astNode,t.astNode,...t.extensionASTNodes])}}function Tn(e,t,n){const r=t.getInterfaces();for(const s of n.getInterfaces())r.includes(s)||e.reportError(s===t?`Type ${t.name} cannot implement ${n.name} because it would create a circular reference.`:`Type ${t.name} must implement ${s.name} because it is implemented by ${n.name}.`,[...In(n,s),...In(t,n)])}function wn(e,t){const n=t.getTypes();0===n.length&&e.reportError(`Union type ${t.name} must define one or more member types.`,[t.astNode,...t.extensionASTNodes]);const r=Object.create(null);for(const s of n)r[s.name]?e.reportError(`Union type ${t.name} can only include type ${s.name} once.`,Nn(t,s.name)):(r[s.name]=!0,Se(s)||e.reportError(`Union type ${t.name} can only include Object types, it cannot include ${f(s)}.`,Nn(t,String(s))))}function kn(e,t){const n=t.getValues();0===n.length&&e.reportError(`Enum type ${t.name} must define one or more values.`,[t.astNode,...t.extensionASTNodes]);for(const t of n)vn(e,t)}function Pn(e,t){const n=Object.values(t.getFields());0===n.length&&e.reportError(`Input Object type ${t.name} must define one or more fields.`,[t.astNode,...t.extensionASTNodes]);for(const o of n){var r,s;vn(e,o),Te(o.type)||e.reportError(`The type of ${t.name}.${o.name} must be Input Type but got: ${f(o.type)}.`,null===(r=o.astNode)||void 0===r?void 0:r.type),Ze(o)&&null!=o.deprecationReason&&e.reportError(`Required input field ${t.name}.${o.name} cannot be deprecated.`,[On(o.astNode),null===(s=o.astNode)||void 0===s?void 0:s.type])}}function In(e,t){const{astNode:n,extensionASTNodes:r}=e;return(null!=n?[n,...r]:r).flatMap((e=>{var t;return null!==(t=e.interfaces)&&void 0!==t?t:[]})).filter((e=>e.name.value===t.name))}function Nn(e,t){const{astNode:n,extensionASTNodes:r}=e;return(null!=n?[n,...r]:r).flatMap((e=>{var t;return null!==(t=e.types)&&void 0!==t?t:[]})).filter((e=>e.name.value===t))}function On(e){var t;return null==e||null===(t=e.directives)||void 0===t?void 0:t.find((e=>e.name.value===ht.name))}function _n(e,t){switch(t.kind){case F.LIST_TYPE:{const n=_n(e,t.type);return n&&new Ne(n)}case F.NON_NULL_TYPE:{const n=_n(e,t.type);return n&&new Oe(n)}case F.NAMED_TYPE:return e.getType(t.name.value)}}class xn{constructor(e,t,n){this._schema=e,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=null!=n?n:Cn,t&&(Te(t)&&this._inputTypeStack.push(t),Pe(t)&&this._parentTypeStack.push(t),we(t)&&this._typeStack.push(t))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(e){const t=this._schema;switch(e.kind){case F.SELECTION_SET:{const e=De(this.getType());this._parentTypeStack.push(Pe(e)?e:void 0);break}case F.FIELD:{const n=this.getParentType();let r,s;n&&(r=this._getFieldDef(t,n,e),r&&(s=r.type)),this._fieldDefStack.push(r),this._typeStack.push(we(s)?s:void 0);break}case F.DIRECTIVE:this._directive=t.getDirective(e.name.value);break;case F.OPERATION_DEFINITION:{const n=t.getRootType(e.operation);this._typeStack.push(Se(n)?n:void 0);break}case F.INLINE_FRAGMENT:case F.FRAGMENT_DEFINITION:{const n=e.typeCondition,r=n?_n(t,n):De(this.getType());this._typeStack.push(we(r)?r:void 0);break}case F.VARIABLE_DEFINITION:{const n=_n(t,e.type);this._inputTypeStack.push(Te(n)?n:void 0);break}case F.ARGUMENT:{var n;let t,r;const s=null!==(n=this.getDirective())&&void 0!==n?n:this.getFieldDef();s&&(t=s.args.find((t=>t.name===e.name.value)),t&&(r=t.type)),this._argument=t,this._defaultValueStack.push(t?t.defaultValue:void 0),this._inputTypeStack.push(Te(r)?r:void 0);break}case F.LIST:{const e=xe(this.getInputType()),t=Ee(e)?e.ofType:e;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Te(t)?t:void 0);break}case F.OBJECT_FIELD:{const t=De(this.getInputType());let n,r;be(t)&&(r=t.getFields()[e.name.value],r&&(n=r.type)),this._defaultValueStack.push(r?r.defaultValue:void 0),this._inputTypeStack.push(Te(n)?n:void 0);break}case F.ENUM:{const t=De(this.getInputType());let n;ve(t)&&(n=t.getValue(e.value)),this._enumValue=n;break}}}leave(e){switch(e.kind){case F.SELECTION_SET:this._parentTypeStack.pop();break;case F.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case F.DIRECTIVE:this._directive=null;break;case F.OPERATION_DEFINITION:case F.INLINE_FRAGMENT:case F.FRAGMENT_DEFINITION:this._typeStack.pop();break;case F.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case F.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case F.LIST:case F.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case F.ENUM:this._enumValue=null}}}function Cn(e,t,n){const r=n.name.value;return r===_t.name&&e.getQueryType()===t?_t:r===xt.name&&e.getQueryType()===t?xt:r===Ct.name&&Pe(t)?Ct:Se(t)||ye(t)?t.getFields()[r]:void 0}function Dn(e,t){return{enter(...n){const r=n[0];e.enter(r);const s=re(t,r.kind).enter;if(s){const o=s.apply(t,n);return void 0!==o&&(e.leave(r),A(o)&&e.enter(o)),o}},leave(...n){const r=n[0],s=re(t,r.kind).leave;let o;return s&&(o=s.apply(t,n)),e.leave(r),o}}}function $n(e){return e.kind===F.OPERATION_DEFINITION||e.kind===F.FRAGMENT_DEFINITION}function Rn(e){return e.kind===F.SCHEMA_DEFINITION||qn(e)||e.kind===F.DIRECTIVE_DEFINITION}function qn(e){return e.kind===F.SCALAR_TYPE_DEFINITION||e.kind===F.OBJECT_TYPE_DEFINITION||e.kind===F.INTERFACE_TYPE_DEFINITION||e.kind===F.UNION_TYPE_DEFINITION||e.kind===F.ENUM_TYPE_DEFINITION||e.kind===F.INPUT_OBJECT_TYPE_DEFINITION}function jn(e){return e.kind===F.SCHEMA_EXTENSION||Mn(e)}function Mn(e){return e.kind===F.SCALAR_TYPE_EXTENSION||e.kind===F.OBJECT_TYPE_EXTENSION||e.kind===F.INTERFACE_TYPE_EXTENSION||e.kind===F.UNION_TYPE_EXTENSION||e.kind===F.ENUM_TYPE_EXTENSION||e.kind===F.INPUT_OBJECT_TYPE_EXTENSION}function Bn(e){const t=Object.create(null),n=e.getSchema(),r=n?n.getDirectives():St;for(const e of r)t[e.name]=e.args.map((e=>e.name));const s=e.getDocument().definitions;for(const e of s)if(e.kind===F.DIRECTIVE_DEFINITION){var o;const n=null!==(o=e.arguments)&&void 0!==o?o:[];t[e.name.value]=n.map((e=>e.name.value))}return{Directive(n){const r=n.name.value,s=t[r];if(n.arguments&&s)for(const t of n.arguments){const n=t.name.value;if(!s.includes(n)){const o=C(n,s);e.reportError(new G(`Unknown argument "${n}" on directive "@${r}".`+w(o),{nodes:t}))}}return!1}}}function Gn(e){const t=Object.create(null),n=e.getSchema(),r=n?n.getDirectives():St;for(const e of r)t[e.name]=e.locations;const s=e.getDocument().definitions;for(const e of s)e.kind===F.DIRECTIVE_DEFINITION&&(t[e.name.value]=e.locations.map((e=>e.value)));return{Directive(n,r,s,o,a){const i=n.name.value,u=t[i];if(!u)return void e.reportError(new G(`Unknown directive "@${i}".`,{nodes:n}));const c=function(e){const t=e[e.length-1];switch("kind"in t||R(!1),t.kind){case F.OPERATION_DEFINITION:return function(e){switch(e){case T.QUERY:return Qe.QUERY;case T.MUTATION:return Qe.MUTATION;case T.SUBSCRIPTION:return Qe.SUBSCRIPTION}}(t.operation);case F.FIELD:return Qe.FIELD;case F.FRAGMENT_SPREAD:return Qe.FRAGMENT_SPREAD;case F.INLINE_FRAGMENT:return Qe.INLINE_FRAGMENT;case F.FRAGMENT_DEFINITION:return Qe.FRAGMENT_DEFINITION;case F.VARIABLE_DEFINITION:return Qe.VARIABLE_DEFINITION;case F.SCHEMA_DEFINITION:case F.SCHEMA_EXTENSION:return Qe.SCHEMA;case F.SCALAR_TYPE_DEFINITION:case F.SCALAR_TYPE_EXTENSION:return Qe.SCALAR;case F.OBJECT_TYPE_DEFINITION:case F.OBJECT_TYPE_EXTENSION:return Qe.OBJECT;case F.FIELD_DEFINITION:return Qe.FIELD_DEFINITION;case F.INTERFACE_TYPE_DEFINITION:case F.INTERFACE_TYPE_EXTENSION:return Qe.INTERFACE;case F.UNION_TYPE_DEFINITION:case F.UNION_TYPE_EXTENSION:return Qe.UNION;case F.ENUM_TYPE_DEFINITION:case F.ENUM_TYPE_EXTENSION:return Qe.ENUM;case F.ENUM_VALUE_DEFINITION:return Qe.ENUM_VALUE;case F.INPUT_OBJECT_TYPE_DEFINITION:case F.INPUT_OBJECT_TYPE_EXTENSION:return Qe.INPUT_OBJECT;case F.INPUT_VALUE_DEFINITION:{const t=e[e.length-3];return"kind"in t||R(!1),t.kind===F.INPUT_OBJECT_TYPE_DEFINITION?Qe.INPUT_FIELD_DEFINITION:Qe.ARGUMENT_DEFINITION}default:R(!1,"Unexpected kind: "+f(t.kind))}}(a);c&&!u.includes(c)&&e.reportError(new G(`Directive "@${i}" may not be used on ${c}.`,{nodes:n}))}}}function Ln(e){const t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);for(const t of e.getDocument().definitions)qn(t)&&(r[t.name.value]=!0);const s=[...Object.keys(n),...Object.keys(r)];return{NamedType(t,o,a,i,u){const c=t.name.value;if(!n[c]&&!r[c]){var d;const n=null!==(d=u[2])&&void 0!==d?d:a,r=null!=n&&"kind"in(l=n)&&(Rn(l)||jn(l));if(r&&Fn.includes(c))return;const o=C(c,r?Fn.concat(s):s);e.reportError(new G(`Unknown type "${c}".`+w(o),{nodes:t}))}var l}}}const Fn=[...it,...Dt].map((e=>e.name));function Vn(e){switch(e.kind){case F.OBJECT:return{...e,fields:(t=e.fields,t.map((e=>({...e,value:Vn(e.value)}))).sort(((e,t)=>O(e.name.value,t.name.value))))};case F.LIST:return{...e,values:e.values.map(Vn)};case F.INT:case F.FLOAT:case F.STRING:case F.BOOLEAN:case F.NULL:case F.ENUM:case F.VARIABLE:return e}var t}function Un(e){return Array.isArray(e)?e.map((([e,t])=>`subfields "${e}" conflict because `+Un(t))).join(" and "):e}function Jn(e,t,n,r,s,o,a){const i=e.getFragment(a);if(!i)return;const[u,c]=Zn(e,n,i);if(o!==u){Kn(e,t,n,r,s,o,u);for(const i of c)r.has(i,a,s)||(r.add(i,a,s),Jn(e,t,n,r,s,o,i))}}function Hn(e,t,n,r,s,o,a){if(o===a)return;if(r.has(o,a,s))return;r.add(o,a,s);const i=e.getFragment(o),u=e.getFragment(a);if(!i||!u)return;const[c,d]=Zn(e,n,i),[l,p]=Zn(e,n,u);Kn(e,t,n,r,s,c,l);for(const a of p)Hn(e,t,n,r,s,o,a);for(const o of d)Hn(e,t,n,r,s,o,a)}function Kn(e,t,n,r,s,o,a){for(const[i,u]of Object.entries(o)){const o=a[i];if(o)for(const a of u)for(const u of o){const o=Wn(e,n,r,s,i,a,u);o&&t.push(o)}}}function Wn(e,t,n,r,s,o,a){const[i,u,c]=o,[d,l,p]=a,h=r||i!==d&&Se(i)&&Se(d);if(!h){const e=u.name.value,t=l.name.value;if(e!==t)return[[s,`"${e}" and "${t}" are different fields`],[u],[l]];if(Xn(u)!==Xn(l))return[[s,"they have differing arguments"],[u],[l]]}const m=null==c?void 0:c.type,S=null==p?void 0:p.type;if(m&&S&&Yn(m,S))return[[s,`they return conflicting types "${f(m)}" and "${f(S)}"`],[u],[l]];const y=u.selectionSet,g=l.selectionSet;if(y&&g){const r=function(e,t,n,r,s,o,a,i){const u=[],[c,d]=zn(e,t,s,o),[l,p]=zn(e,t,a,i);Kn(e,u,t,n,r,c,l);for(const s of p)Jn(e,u,t,n,r,c,s);for(const s of d)Jn(e,u,t,n,r,l,s);for(const s of d)for(const o of p)Hn(e,u,t,n,r,s,o);return u}(e,t,n,h,De(m),y,De(S),g);return function(e,t,n,r){if(e.length>0)return[[t,e.map((([e])=>e))],[n,...e.map((([,e])=>e)).flat()],[r,...e.map((([,,e])=>e)).flat()]]}(r,s,u,l)}}function Xn(e){var t;const n=null!==(t=e.arguments)&&void 0!==t?t:[];return se(Vn({kind:F.OBJECT,fields:n.map((e=>({kind:F.OBJECT_FIELD,name:e.name,value:e.value})))}))}function Yn(e,t){return Ee(e)?!Ee(t)||Yn(e.ofType,t.ofType):!!Ee(t)||(Ae(e)?!Ae(t)||Yn(e.ofType,t.ofType):!!Ae(t)||!(!ke(e)&&!ke(t))&&e!==t)}function zn(e,t,n,r){const s=t.get(r);if(s)return s;const o=Object.create(null),a=Object.create(null);Qn(e,n,r,o,a);const i=[o,Object.keys(a)];return t.set(r,i),i}function Zn(e,t,n){const r=t.get(n.selectionSet);if(r)return r;const s=_n(e.getSchema(),n.typeCondition);return zn(e,t,s,n.selectionSet)}function Qn(e,t,n,r,s){for(const o of n.selections)switch(o.kind){case F.FIELD:{const e=o.name.value;let n;(Se(t)||ye(t))&&(n=t.getFields()[e]);const s=o.alias?o.alias.value:e;r[s]||(r[s]=[]),r[s].push([t,o,n]);break}case F.FRAGMENT_SPREAD:s[o.name.value]=!0;break;case F.INLINE_FRAGMENT:{const n=o.typeCondition,a=n?_n(e.getSchema(),n):t;Qn(e,a,o.selectionSet,r,s);break}}}class er{constructor(){this._data=new Map}has(e,t,n){var r;const[s,o]=e<t?[e,t]:[t,e],a=null===(r=this._data.get(s))||void 0===r?void 0:r.get(o);return void 0!==a&&(!!n||n===a)}add(e,t,n){const[r,s]=e<t?[e,t]:[t,e],o=this._data.get(r);void 0===o?this._data.set(r,new Map([[s,n]])):o.set(s,n)}}const tr={[F.SCALAR_TYPE_DEFINITION]:F.SCALAR_TYPE_EXTENSION,[F.OBJECT_TYPE_DEFINITION]:F.OBJECT_TYPE_EXTENSION,[F.INTERFACE_TYPE_DEFINITION]:F.INTERFACE_TYPE_EXTENSION,[F.UNION_TYPE_DEFINITION]:F.UNION_TYPE_EXTENSION,[F.ENUM_TYPE_DEFINITION]:F.ENUM_TYPE_EXTENSION,[F.INPUT_OBJECT_TYPE_DEFINITION]:F.INPUT_OBJECT_TYPE_EXTENSION};function nr(e){var t;const n=Object.create(null),r=e.getSchema(),s=null!==(t=null==r?void 0:r.getDirectives())&&void 0!==t?t:St;for(const e of s)n[e.name]=P(e.args.filter(Ue),(e=>e.name));const o=e.getDocument().definitions;for(const e of o)if(e.kind===F.DIRECTIVE_DEFINITION){var a;const t=null!==(a=e.arguments)&&void 0!==a?a:[];n[e.name.value]=P(t.filter(rr),(e=>e.name.value))}return{Directive:{leave(t){const r=t.name.value,s=n[r];if(s){var o;const n=null!==(o=t.arguments)&&void 0!==o?o:[],a=new Set(n.map((e=>e.name.value)));for(const[n,o]of Object.entries(s))if(!a.has(n)){const s=he(o.type)?f(o.type):se(o.type);e.reportError(new G(`Directive "@${r}" argument "${n}" of type "${s}" is required, but it was not provided.`,{nodes:t}))}}}}}}function rr(e){return e.type.kind===F.NON_NULL_TYPE&&null==e.defaultValue}function sr(e){return e.map((e=>"number"==typeof e?"["+e.toString()+"]":"."+e)).join("")}function or(e,t,n){return{prev:e,key:t,typename:n}}function ar(e){const t=[];let n=e;for(;n;)t.push(n.key),n=n.prev;return t.reverse()}function ir(e,t,n=ur){return cr(e,t,n,void 0)}function ur(e,t,n){let r="Invalid value "+f(t);throw e.length>0&&(r+=` at "value${sr(e)}"`),n.message=r+": "+n.message,n}function cr(e,t,n,r){if(Ae(t))return null!=e?cr(e,t.ofType,n,r):void n(ar(r),e,new G(`Expected non-nullable type "${f(t)}" not to be null.`));if(null==e)return null;if(Ee(t)){const s=t.ofType;return gt(e)?Array.from(e,((e,t)=>{const o=or(r,t,void 0);return cr(e,s,n,o)})):[cr(e,s,n,r)]}if(be(t)){if(!S(e))return void n(ar(r),e,new G(`Expected type "${t.name}" to be an object.`));const s={},o=t.getFields();for(const a of Object.values(o)){const o=e[a.name];if(void 0!==o)s[a.name]=cr(o,a.type,n,or(r,a.name,t.name));else if(void 0!==a.defaultValue)s[a.name]=a.defaultValue;else if(Ae(a.type)){const t=f(a.type);n(ar(r),e,new G(`Field "${a.name}" of required type "${t}" was not provided.`))}}for(const s of Object.keys(e))if(!o[s]){const o=C(s,Object.keys(t.getFields()));n(ar(r),e,new G(`Field "${s}" is not defined by type "${t.name}".`+w(o)))}return s}if(ke(t)){let s;try{s=t.parseValue(e)}catch(s){return void n(ar(r),e,s instanceof G?s:new G(`Expected type "${t.name}". `+s.message,{originalError:s}))}return void 0===s&&n(ar(r),e,new G(`Expected type "${t.name}".`)),s}R(!1,"Unexpected input type: "+f(t))}function dr(e,t,n){if(e){if(e.kind===F.VARIABLE){const r=e.name.value;if(null==n||void 0===n[r])return;const s=n[r];if(null===s&&Ae(t))return;return s}if(Ae(t)){if(e.kind===F.NULL)return;return dr(e,t.ofType,n)}if(e.kind===F.NULL)return null;if(Ee(t)){const r=t.ofType;if(e.kind===F.LIST){const t=[];for(const s of e.values)if(lr(s,n)){if(Ae(r))return;t.push(null)}else{const e=dr(s,r,n);if(void 0===e)return;t.push(e)}return t}const s=dr(e,r,n);if(void 0===s)return;return[s]}if(be(t)){if(e.kind!==F.OBJECT)return;const r=Object.create(null),s=P(e.fields,(e=>e.name.value));for(const e of Object.values(t.getFields())){const t=s[e.name];if(!t||lr(t.value,n)){if(void 0!==e.defaultValue)r[e.name]=e.defaultValue;else if(Ae(e.type))return;continue}const o=dr(t.value,e.type,n);if(void 0===o)return;r[e.name]=o}return r}if(ke(t)){let r;try{r=t.parseLiteral(e,n)}catch(e){return}if(void 0===r)return;return r}R(!1,"Unexpected input type: "+f(t))}}function lr(e,t){return e.kind===F.VARIABLE&&(null==t||void 0===t[e.name.value])}function pr(e,t,n){var r;const s={},o=P(null!==(r=t.arguments)&&void 0!==r?r:[],(e=>e.name.value));for(const r of e.args){const e=r.name,a=r.type,i=o[e];if(!i){if(void 0!==r.defaultValue)s[e]=r.defaultValue;else if(Ae(a))throw new G(`Argument "${e}" of required type "${f(a)}" was not provided.`,{nodes:t});continue}const u=i.value;let c=u.kind===F.NULL;if(u.kind===F.VARIABLE){const t=u.name.value;if(null==n||!hr(n,t)){if(void 0!==r.defaultValue)s[e]=r.defaultValue;else if(Ae(a))throw new G(`Argument "${e}" of required type "${f(a)}" was provided the variable "$${t}" which was not provided a runtime value.`,{nodes:u});continue}c=null==n[t]}if(c&&Ae(a))throw new G(`Argument "${e}" of non-null type "${f(a)}" must not be null.`,{nodes:u});const d=dr(u,a,n);if(void 0===d)throw new G(`Argument "${e}" has invalid value ${se(u)}.`,{nodes:u});s[e]=d}return s}function fr(e,t,n){var r;const s=null===(r=t.directives)||void 0===r?void 0:r.find((t=>t.name.value===e.name));if(s)return pr(e,s,n)}function hr(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function mr(e,t,n,r,s){const o=new Map;return Sr(e,t,n,r,s,o,new Set),o}function Sr(e,t,n,r,s,o,a){for(const u of s.selections)switch(u.kind){case F.FIELD:{if(!yr(n,u))continue;const e=(i=u).alias?i.alias.value:i.name.value,t=o.get(e);void 0!==t?t.push(u):o.set(e,[u]);break}case F.INLINE_FRAGMENT:if(!yr(n,u)||!gr(e,u,r))continue;Sr(e,t,n,r,u.selectionSet,o,a);break;case F.FRAGMENT_SPREAD:{const s=u.name.value;if(a.has(s)||!yr(n,u))continue;a.add(s);const i=t[s];if(!i||!gr(e,i,r))continue;Sr(e,t,n,r,i.selectionSet,o,a);break}}var i}function yr(e,t){const n=fr(ft,t,e);if(!0===(null==n?void 0:n.if))return!1;const r=fr(pt,t,e);return!1!==(null==r?void 0:r.if)}function gr(e,t,n){const r=t.typeCondition;if(!r)return!0;const s=_n(e,r);return s===n||!!Ie(s)&&e.isSubType(s,n)}function vr(e,t){const n=new Map;for(const r of e){const e=t(r),s=n.get(e);void 0===s?n.set(e,[r]):s.push(r)}return n}function br(e){return{Field:t,Directive:t};function t(t){var n;const r=vr(null!==(n=t.arguments)&&void 0!==n?n:[],(e=>e.name.value));for(const[t,n]of r)n.length>1&&e.reportError(new G(`There can be only one argument named "${t}".`,{nodes:n.map((e=>e.name))}))}}function Er(e){const t=Object.create(null),n=e.getSchema(),r=n?n.getDirectives():St;for(const e of r)t[e.name]=!e.isRepeatable;const s=e.getDocument().definitions;for(const e of s)e.kind===F.DIRECTIVE_DEFINITION&&(t[e.name.value]=!e.repeatable);const o=Object.create(null),a=Object.create(null);return{enter(n){if(!("directives"in n)||!n.directives)return;let r;if(n.kind===F.SCHEMA_DEFINITION||n.kind===F.SCHEMA_EXTENSION)r=o;else if(qn(n)||Mn(n)){const e=n.name.value;r=a[e],void 0===r&&(a[e]=r=Object.create(null))}else r=Object.create(null);for(const s of n.directives){const n=s.name.value;t[n]&&(r[n]?e.reportError(new G(`The directive "@${n}" can only be used once at this location.`,{nodes:[r[n],s]})):r[n]=s)}}}}function Ar(e,t){return!!(Se(e)||ye(e)||be(e))&&null!=e.getFields()[t]}function Tr(e){const t=[];let n=Object.create(null);return{ObjectValue:{enter(){t.push(n),n=Object.create(null)},leave(){const e=t.pop();e||R(!1),n=e}},ObjectField(t){const r=t.name.value;n[r]?e.reportError(new G(`There can be only one input field named "${r}".`,{nodes:[n[r],t.name]})):n[r]=t.name}}}function wr(e,t){const n=e.getInputType();if(!n)return;const r=De(n);if(ke(r))try{if(void 0===r.parseLiteral(t,void 0)){const r=f(n);e.reportError(new G(`Expected value of type "${r}", found ${se(t)}.`,{nodes:t}))}}catch(r){const s=f(n);r instanceof G?e.reportError(r):e.reportError(new G(`Expected value of type "${s}", found ${se(t)}; `+r.message,{nodes:t,originalError:r}))}else{const r=f(n);e.reportError(new G(`Expected value of type "${r}", found ${se(t)}.`,{nodes:t}))}}function kr(e,t,n,r,s){return Ae(r)&&!Ae(t)?(null!=n&&n.kind!==F.NULL||void 0!==s)&&fn(e,t,r.ofType):fn(e,t,r)}const Pr=Object.freeze([function(e){return{Document(t){for(const n of t.definitions)if(!$n(n)){const t=n.kind===F.SCHEMA_DEFINITION||n.kind===F.SCHEMA_EXTENSION?"schema":'"'+n.name.value+'"';e.reportError(new G(`The ${t} definition is not executable.`,{nodes:n}))}return!1}}},function(e){const t=Object.create(null);return{OperationDefinition(n){const r=n.name;return r&&(t[r.value]?e.reportError(new G(`There can be only one operation named "${r.value}".`,{nodes:[t[r.value],r]})):t[r.value]=r),!1},FragmentDefinition:()=>!1}},function(e){let t=0;return{Document(e){t=e.definitions.filter((e=>e.kind===F.OPERATION_DEFINITION)).length},OperationDefinition(n){!n.name&&t>1&&e.reportError(new G("This anonymous operation must be the only defined operation.",{nodes:n}))}}},function(e){return{OperationDefinition(t){if("subscription"===t.operation){const n=e.getSchema(),r=n.getSubscriptionType();if(r){const s=t.name?t.name.value:null,o=Object.create(null),a=e.getDocument(),i=Object.create(null);for(const e of a.definitions)e.kind===F.FRAGMENT_DEFINITION&&(i[e.name.value]=e);const u=mr(n,i,o,r,t.selectionSet);if(u.size>1){const t=[...u.values()].slice(1).flat();e.reportError(new G(null!=s?`Subscription "${s}" must select only one top level field.`:"Anonymous Subscription must select only one top level field.",{nodes:t}))}for(const t of u.values())t[0].name.value.startsWith("__")&&e.reportError(new G(null!=s?`Subscription "${s}" must not select an introspection top level field.`:"Anonymous Subscription must not select an introspection top level field.",{nodes:t}))}}}}},Ln,function(e){return{InlineFragment(t){const n=t.typeCondition;if(n){const t=_n(e.getSchema(),n);if(t&&!Pe(t)){const t=se(n);e.reportError(new G(`Fragment cannot condition on non composite type "${t}".`,{nodes:n}))}}},FragmentDefinition(t){const n=_n(e.getSchema(),t.typeCondition);if(n&&!Pe(n)){const n=se(t.typeCondition);e.reportError(new G(`Fragment "${t.name.value}" cannot condition on non composite type "${n}".`,{nodes:t.typeCondition}))}}}},function(e){return{VariableDefinition(t){const n=_n(e.getSchema(),t.type);if(void 0!==n&&!Te(n)){const n=t.variable.name.value,r=se(t.type);e.reportError(new G(`Variable "$${n}" cannot be non-input type "${r}".`,{nodes:t.type}))}}}},function(e){return{Field(t){const n=e.getType(),r=t.selectionSet;if(n)if(ke(De(n))){if(r){const s=t.name.value,o=f(n);e.reportError(new G(`Field "${s}" must not have a selection since type "${o}" has no subfields.`,{nodes:r}))}}else if(!r){const r=t.name.value,s=f(n);e.reportError(new G(`Field "${r}" of type "${s}" must have a selection of subfields. Did you mean "${r} { ... }"?`,{nodes:t}))}}}},function(e){return{Field(t){const n=e.getParentType();if(n&&!e.getFieldDef()){const r=e.getSchema(),s=t.name.value;let o=w("to use an inline fragment on",function(e,t,n){if(!Ie(t))return[];const r=new Set,s=Object.create(null);for(const a of e.getPossibleTypes(t))if(a.getFields()[n]){r.add(a),s[a.name]=1;for(const e of a.getInterfaces()){var o;e.getFields()[n]&&(r.add(e),s[e.name]=(null!==(o=s[e.name])&&void 0!==o?o:0)+1)}}return[...r].sort(((t,n)=>{const r=s[n.name]-s[t.name];return 0!==r?r:ye(t)&&e.isSubType(t,n)?-1:ye(n)&&e.isSubType(n,t)?1:O(t.name,n.name)})).map((e=>e.name))}(r,n,s));""===o&&(o=w(function(e,t){return Se(e)||ye(e)?C(t,Object.keys(e.getFields())):[]}(n,s))),e.reportError(new G(`Cannot query field "${s}" on type "${n.name}".`+o,{nodes:t}))}}}},function(e){const t=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(n){const r=n.name.value;return t[r]?e.reportError(new G(`There can be only one fragment named "${r}".`,{nodes:[t[r],n.name]})):t[r]=n.name,!1}}},function(e){return{FragmentSpread(t){const n=t.name.value;e.getFragment(n)||e.reportError(new G(`Unknown fragment "${n}".`,{nodes:t.name}))}}},function(e){const t=[],n=[];return{OperationDefinition:e=>(t.push(e),!1),FragmentDefinition:e=>(n.push(e),!1),Document:{leave(){const r=Object.create(null);for(const n of t)for(const t of e.getRecursivelyReferencedFragments(n))r[t.name.value]=!0;for(const t of n){const n=t.name.value;!0!==r[n]&&e.reportError(new G(`Fragment "${n}" is never used.`,{nodes:t}))}}}}},function(e){return{InlineFragment(t){const n=e.getType(),r=e.getParentType();if(Pe(n)&&Pe(r)&&!hn(e.getSchema(),n,r)){const s=f(r),o=f(n);e.reportError(new G(`Fragment cannot be spread here as objects of type "${s}" can never be of type "${o}".`,{nodes:t}))}},FragmentSpread(t){const n=t.name.value,r=function(e,t){const n=e.getFragment(t);if(n){const t=_n(e.getSchema(),n.typeCondition);if(Pe(t))return t}}(e,n),s=e.getParentType();if(r&&s&&!hn(e.getSchema(),r,s)){const o=f(s),a=f(r);e.reportError(new G(`Fragment "${n}" cannot be spread here as objects of type "${o}" can never be of type "${a}".`,{nodes:t}))}}}},function(e){const t=Object.create(null),n=[],r=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition:e=>(s(e),!1)};function s(o){if(t[o.name.value])return;const a=o.name.value;t[a]=!0;const i=e.getFragmentSpreads(o.selectionSet);if(0!==i.length){r[a]=n.length;for(const t of i){const o=t.name.value,a=r[o];if(n.push(t),void 0===a){const t=e.getFragment(o);t&&s(t)}else{const t=n.slice(a),r=t.slice(0,-1).map((e=>'"'+e.name.value+'"')).join(", ");e.reportError(new G(`Cannot spread fragment "${o}" within itself`+(""!==r?` via ${r}.`:"."),{nodes:t}))}n.pop()}r[a]=void 0}}},function(e){return{OperationDefinition(t){var n;const r=vr(null!==(n=t.variableDefinitions)&&void 0!==n?n:[],(e=>e.variable.name.value));for(const[t,n]of r)n.length>1&&e.reportError(new G(`There can be only one variable named "$${t}".`,{nodes:n.map((e=>e.variable.name))}))}}},function(e){let t=Object.create(null);return{OperationDefinition:{enter(){t=Object.create(null)},leave(n){const r=e.getRecursiveVariableUsages(n);for(const{node:s}of r){const r=s.name.value;!0!==t[r]&&e.reportError(new G(n.name?`Variable "$${r}" is not defined by operation "${n.name.value}".`:`Variable "$${r}" is not defined.`,{nodes:[s,n]}))}}},VariableDefinition(e){t[e.variable.name.value]=!0}}},function(e){let t=[];return{OperationDefinition:{enter(){t=[]},leave(n){const r=Object.create(null),s=e.getRecursiveVariableUsages(n);for(const{node:e}of s)r[e.name.value]=!0;for(const s of t){const t=s.variable.name.value;!0!==r[t]&&e.reportError(new G(n.name?`Variable "$${t}" is never used in operation "${n.name.value}".`:`Variable "$${t}" is never used.`,{nodes:s}))}}},VariableDefinition(e){t.push(e)}}},Gn,Er,function(e){return{...Bn(e),Argument(t){const n=e.getArgument(),r=e.getFieldDef(),s=e.getParentType();if(!n&&r&&s){const n=t.name.value,o=C(n,r.args.map((e=>e.name)));e.reportError(new G(`Unknown argument "${n}" on field "${s.name}.${r.name}".`+w(o),{nodes:t}))}}}},br,function(e){return{ListValue(t){if(!Ee(xe(e.getParentInputType())))return wr(e,t),!1},ObjectValue(t){const n=De(e.getInputType());if(!be(n))return wr(e,t),!1;const r=P(t.fields,(e=>e.name.value));for(const s of Object.values(n.getFields()))if(!r[s.name]&&Ze(s)){const r=f(s.type);e.reportError(new G(`Field "${n.name}.${s.name}" of required type "${r}" was not provided.`,{nodes:t}))}},ObjectField(t){const n=De(e.getParentInputType());if(!e.getInputType()&&be(n)){const r=C(t.name.value,Object.keys(n.getFields()));e.reportError(new G(`Field "${t.name.value}" is not defined by type "${n.name}".`+w(r),{nodes:t}))}},NullValue(t){const n=e.getInputType();Ae(n)&&e.reportError(new G(`Expected value of type "${f(n)}", found ${se(t)}.`,{nodes:t}))},EnumValue:t=>wr(e,t),IntValue:t=>wr(e,t),FloatValue:t=>wr(e,t),StringValue:t=>wr(e,t),BooleanValue:t=>wr(e,t)}},function(e){return{...nr(e),Field:{leave(t){var n;const r=e.getFieldDef();if(!r)return!1;const s=new Set(null===(n=t.arguments)||void 0===n?void 0:n.map((e=>e.name.value)));for(const n of r.args)if(!s.has(n.name)&&Ue(n)){const s=f(n.type);e.reportError(new G(`Field "${r.name}" argument "${n.name}" of type "${s}" is required, but it was not provided.`,{nodes:t}))}}}}},function(e){let t=Object.create(null);return{OperationDefinition:{enter(){t=Object.create(null)},leave(n){const r=e.getRecursiveVariableUsages(n);for(const{node:n,type:s,defaultValue:o}of r){const r=n.name.value,a=t[r];if(a&&s){const t=e.getSchema(),i=_n(t,a.type);if(i&&!kr(t,i,a.defaultValue,s,o)){const t=f(i),o=f(s);e.reportError(new G(`Variable "$${r}" of type "${t}" used in position expecting type "${o}".`,{nodes:[a,n]}))}}}}},VariableDefinition(e){t[e.variable.name.value]=e}}},function(e){const t=new er,n=new Map;return{SelectionSet(r){const s=function(e,t,n,r,s){const o=[],[a,i]=zn(e,t,r,s);if(function(e,t,n,r,s){for(const[o,a]of Object.entries(s))if(a.length>1)for(let s=0;s<a.length;s++)for(let i=s+1;i<a.length;i++){const u=Wn(e,n,r,!1,o,a[s],a[i]);u&&t.push(u)}}(e,o,t,n,a),0!==i.length)for(let r=0;r<i.length;r++){Jn(e,o,t,n,!1,a,i[r]);for(let s=r+1;s<i.length;s++)Hn(e,o,t,n,!1,i[r],i[s])}return o}(e,n,t,e.getParentType(),r);for(const[[t,n],r,o]of s){const s=Un(n);e.reportError(new G(`Fields "${t}" conflict because ${s}. Use different aliases on the fields to fetch both if this was intentional.`,{nodes:r.concat(o)}))}}}},Tr]),Ir=Object.freeze([function(e){var t,n,r;const s=e.getSchema(),o=null!==(t=null!==(n=null!==(r=null==s?void 0:s.astNode)&&void 0!==r?r:null==s?void 0:s.getQueryType())&&void 0!==n?n:null==s?void 0:s.getMutationType())&&void 0!==t?t:null==s?void 0:s.getSubscriptionType();let a=0;return{SchemaDefinition(t){o?e.reportError(new G("Cannot define a new schema within a schema extension.",{nodes:t})):(a>0&&e.reportError(new G("Must provide only one schema definition.",{nodes:t})),++a)}}},function(e){const t=e.getSchema(),n=Object.create(null),r=t?{query:t.getQueryType(),mutation:t.getMutationType(),subscription:t.getSubscriptionType()}:{};return{SchemaDefinition:s,SchemaExtension:s};function s(t){var s;const o=null!==(s=t.operationTypes)&&void 0!==s?s:[];for(const t of o){const s=t.operation,o=n[s];r[s]?e.reportError(new G(`Type for ${s} already defined in the schema. It cannot be redefined.`,{nodes:t})):o?e.reportError(new G(`There can be only one ${s} type in schema.`,{nodes:[o,t]})):n[s]=t}return!1}},function(e){const t=Object.create(null),n=e.getSchema();return{ScalarTypeDefinition:r,ObjectTypeDefinition:r,InterfaceTypeDefinition:r,UnionTypeDefinition:r,EnumTypeDefinition:r,InputObjectTypeDefinition:r};function r(r){const s=r.name.value;if(null==n||!n.getType(s))return t[s]?e.reportError(new G(`There can be only one type named "${s}".`,{nodes:[t[s],r.name]})):t[s]=r.name,!1;e.reportError(new G(`Type "${s}" already exists in the schema. It cannot also be defined in this type definition.`,{nodes:r.name}))}},function(e){const t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);return{EnumTypeDefinition:s,EnumTypeExtension:s};function s(t){var s;const o=t.name.value;r[o]||(r[o]=Object.create(null));const a=null!==(s=t.values)&&void 0!==s?s:[],i=r[o];for(const t of a){const r=t.name.value,s=n[o];ve(s)&&s.getValue(r)?e.reportError(new G(`Enum value "${o}.${r}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:t.name})):i[r]?e.reportError(new G(`Enum value "${o}.${r}" can only be defined once.`,{nodes:[i[r],t.name]})):i[r]=t.name}return!1}},function(e){const t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);return{InputObjectTypeDefinition:s,InputObjectTypeExtension:s,InterfaceTypeDefinition:s,InterfaceTypeExtension:s,ObjectTypeDefinition:s,ObjectTypeExtension:s};function s(t){var s;const o=t.name.value;r[o]||(r[o]=Object.create(null));const a=null!==(s=t.fields)&&void 0!==s?s:[],i=r[o];for(const t of a){const r=t.name.value;Ar(n[o],r)?e.reportError(new G(`Field "${o}.${r}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:t.name})):i[r]?e.reportError(new G(`Field "${o}.${r}" can only be defined once.`,{nodes:[i[r],t.name]})):i[r]=t.name}return!1}},function(e){return{DirectiveDefinition(e){var t;const r=null!==(t=e.arguments)&&void 0!==t?t:[];return n(`@${e.name.value}`,r)},InterfaceTypeDefinition:t,InterfaceTypeExtension:t,ObjectTypeDefinition:t,ObjectTypeExtension:t};function t(e){var t;const r=e.name.value,s=null!==(t=e.fields)&&void 0!==t?t:[];for(const e of s){var o;n(`${r}.${e.name.value}`,null!==(o=e.arguments)&&void 0!==o?o:[])}return!1}function n(t,n){const r=vr(n,(e=>e.name.value));for(const[n,s]of r)s.length>1&&e.reportError(new G(`Argument "${t}(${n}:)" can only be defined once.`,{nodes:s.map((e=>e.name))}));return!1}},function(e){const t=Object.create(null),n=e.getSchema();return{DirectiveDefinition(r){const s=r.name.value;if(null==n||!n.getDirective(s))return t[s]?e.reportError(new G(`There can be only one directive named "@${s}".`,{nodes:[t[s],r.name]})):t[s]=r.name,!1;e.reportError(new G(`Directive "@${s}" already exists in the schema. It cannot be redefined.`,{nodes:r.name}))}}},Ln,Gn,Er,function(e){const t=e.getSchema(),n=Object.create(null);for(const t of e.getDocument().definitions)qn(t)&&(n[t.name.value]=t);return{ScalarTypeExtension:r,ObjectTypeExtension:r,InterfaceTypeExtension:r,UnionTypeExtension:r,EnumTypeExtension:r,InputObjectTypeExtension:r};function r(r){const s=r.name.value,o=n[s],a=null==t?void 0:t.getType(s);let i;if(o?i=tr[o.kind]:a&&(i=me(u=a)?F.SCALAR_TYPE_EXTENSION:Se(u)?F.OBJECT_TYPE_EXTENSION:ye(u)?F.INTERFACE_TYPE_EXTENSION:ge(u)?F.UNION_TYPE_EXTENSION:ve(u)?F.ENUM_TYPE_EXTENSION:be(u)?F.INPUT_OBJECT_TYPE_EXTENSION:void R(!1,"Unexpected type: "+f(u))),i){if(i!==r.kind){const t=function(e){switch(e){case F.SCALAR_TYPE_EXTENSION:return"scalar";case F.OBJECT_TYPE_EXTENSION:return"object";case F.INTERFACE_TYPE_EXTENSION:return"interface";case F.UNION_TYPE_EXTENSION:return"union";case F.ENUM_TYPE_EXTENSION:return"enum";case F.INPUT_OBJECT_TYPE_EXTENSION:return"input object";default:R(!1,"Unexpected kind: "+f(e))}}(r.kind);e.reportError(new G(`Cannot extend non-${t} type "${s}".`,{nodes:o?[o,r]:r}))}}else{const o=C(s,Object.keys({...n,...null==t?void 0:t.getTypeMap()}));e.reportError(new G(`Cannot extend type "${s}" because it is not defined.`+w(o),{nodes:r.name}))}var u}},Bn,br,Tr,nr]);class Nr{constructor(e,t){this._ast=e,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=t}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(e){this._onError(e)}getDocument(){return this._ast}getFragment(e){let t;if(this._fragments)t=this._fragments;else{t=Object.create(null);for(const e of this.getDocument().definitions)e.kind===F.FRAGMENT_DEFINITION&&(t[e.name.value]=e);this._fragments=t}return t[e]}getFragmentSpreads(e){let t=this._fragmentSpreads.get(e);if(!t){t=[];const n=[e];let r;for(;r=n.pop();)for(const e of r.selections)e.kind===F.FRAGMENT_SPREAD?t.push(e):e.selectionSet&&n.push(e.selectionSet);this._fragmentSpreads.set(e,t)}return t}getRecursivelyReferencedFragments(e){let t=this._recursivelyReferencedFragments.get(e);if(!t){t=[];const n=Object.create(null),r=[e.selectionSet];let s;for(;s=r.pop();)for(const e of this.getFragmentSpreads(s)){const s=e.name.value;if(!0!==n[s]){n[s]=!0;const e=this.getFragment(s);e&&(t.push(e),r.push(e.selectionSet))}}this._recursivelyReferencedFragments.set(e,t)}return t}}class Or extends Nr{constructor(e,t,n){super(e,n),this._schema=t}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}}class _r extends Nr{constructor(e,t,n,r){super(t,r),this._schema=e,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(e){let t=this._variableUsages.get(e);if(!t){const n=[],r=new xn(this._schema);te(e,Dn(r,{VariableDefinition:()=>!1,Variable(e){n.push({node:e,type:r.getInputType(),defaultValue:r.getDefaultValue()})}})),t=n,this._variableUsages.set(e,t)}return t}getRecursiveVariableUsages(e){let t=this._recursiveVariableUsages.get(e);if(!t){t=this.getVariableUsages(e);for(const n of this.getRecursivelyReferencedFragments(e))t=t.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(e,t)}return t}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}}function xr(e,t,n=Pr,r,s=new xn(e)){var o;const a=null!==(o=null==r?void 0:r.maxErrors)&&void 0!==o?o:100;t||p(!1,"Must provide document."),Sn(e);const i=Object.freeze({}),u=[],c=new _r(e,t,s,(e=>{if(u.length>=a)throw u.push(new G("Too many validation errors, error limit reached. Validation aborted.")),i;u.push(e)})),d=ne(n.map((e=>e(c))));try{te(t,Dn(s,d))}catch(e){if(e!==i)throw e}return u}const Cr=P([...it,...Dt],(e=>e.name));function Dr(e){const t=fr(ht,e);return null==t?void 0:t.reason}function $r(e){const t=fr(mt,e);return null==t?void 0:t.url}function Rr(e,t){null!=e&&e.kind===F.DOCUMENT||p(!1,"Must provide valid Document AST."),!0!==(null==t?void 0:t.assumeValid)&&!0!==(null==t?void 0:t.assumeValidSDL)&&function(e){const t=function(e,t,n=Ir){const r=[],s=new Or(e,t,(e=>{r.push(e)}));return te(e,ne(n.map((e=>e(s))))),r}(e);if(0!==t.length)throw new Error(t.map((e=>e.message)).join("\n\n"))}(e);const n=function(e,t,n){var r,s,o,a;const i=[],u=Object.create(null),c=[];let d;const l=[];for(const e of t.definitions)if(e.kind===F.SCHEMA_DEFINITION)d=e;else if(e.kind===F.SCHEMA_EXTENSION)l.push(e);else if(qn(e))i.push(e);else if(Mn(e)){const t=e.name.value,n=u[t];u[t]=n?n.concat([e]):[e]}else e.kind===F.DIRECTIVE_DEFINITION&&c.push(e);if(0===Object.keys(u).length&&0===i.length&&0===c.length&&0===l.length&&null==d)return e;const p=Object.create(null);for(const t of e.types)p[t.name]=$t(h=t)||ut(h)?h:me(h)?function(e){var t;const n=e.toConfig(),r=null!==(t=u[n.name])&&void 0!==t?t:[];let s=n.specifiedByURL;for(const e of r){var o;s=null!==(o=$r(e))&&void 0!==o?o:s}return new qe({...n,specifiedByURL:s,extensionASTNodes:n.extensionASTNodes.concat(r)})}(h):Se(h)?function(e){var t;const n=e.toConfig(),r=null!==(t=u[n.name])&&void 0!==t?t:[];return new je({...n,interfaces:()=>[...e.getInterfaces().map(g),...O(r)],fields:()=>({...N(n.fields,v),...w(r)}),extensionASTNodes:n.extensionASTNodes.concat(r)})}(h):ye(h)?function(e){var t;const n=e.toConfig(),r=null!==(t=u[n.name])&&void 0!==t?t:[];return new Je({...n,interfaces:()=>[...e.getInterfaces().map(g),...O(r)],fields:()=>({...N(n.fields,v),...w(r)}),extensionASTNodes:n.extensionASTNodes.concat(r)})}(h):ge(h)?function(e){var t;const n=e.toConfig(),r=null!==(t=u[n.name])&&void 0!==t?t:[];return new He({...n,types:()=>[...e.getTypes().map(g),..._(r)],extensionASTNodes:n.extensionASTNodes.concat(r)})}(h):ve(h)?function(e){var t;const n=e.toConfig(),r=null!==(t=u[e.name])&&void 0!==t?t:[];return new We({...n,values:{...n.values,...I(r)},extensionASTNodes:n.extensionASTNodes.concat(r)})}(h):be(h)?function(e){var t;const n=e.toConfig(),r=null!==(t=u[n.name])&&void 0!==t?t:[];return new Ye({...n,fields:()=>({...N(n.fields,(e=>({...e,type:y(e.type)}))),...P(r)}),extensionASTNodes:n.extensionASTNodes.concat(r)})}(h):void R(!1,"Unexpected type: "+f(h));var h;for(const e of i){var m;const t=e.name.value;p[t]=null!==(m=Cr[t])&&void 0!==m?m:x(e)}const S={query:e.query&&g(e.query),mutation:e.mutation&&g(e.mutation),subscription:e.subscription&&g(e.subscription),...d&&E([d]),...E(l)};return{description:null===(r=d)||void 0===r||null===(s=r.description)||void 0===s?void 0:s.value,...S,types:Object.values(p),directives:[...e.directives.map((function(e){const t=e.toConfig();return new lt({...t,args:N(t.args,b)})})),...c.map((function(e){var t;return new lt({name:e.name.value,description:null===(t=e.description)||void 0===t?void 0:t.value,locations:e.locations.map((({value:e})=>e)),isRepeatable:e.repeatable,args:k(e.arguments),astNode:e})}))],extensions:Object.create(null),astNode:null!==(o=d)&&void 0!==o?o:e.astNode,extensionASTNodes:e.extensionASTNodes.concat(l),assumeValid:null!==(a=null==n?void 0:n.assumeValid)&&void 0!==a&&a};function y(e){return Ee(e)?new Ne(y(e.ofType)):Ae(e)?new Oe(y(e.ofType)):g(e)}function g(e){return p[e.name]}function v(e){return{...e,type:y(e.type),args:e.args&&N(e.args,b)}}function b(e){return{...e,type:y(e.type)}}function E(e){const t={};for(const r of e){var n;const e=null!==(n=r.operationTypes)&&void 0!==n?n:[];for(const n of e)t[n.operation]=A(n.type)}return t}function A(e){var t;const n=e.name.value,r=null!==(t=Cr[n])&&void 0!==t?t:p[n];if(void 0===r)throw new Error(`Unknown type: "${n}".`);return r}function T(e){return e.kind===F.LIST_TYPE?new Ne(T(e.type)):e.kind===F.NON_NULL_TYPE?new Oe(T(e.type)):A(e)}function w(e){const t=Object.create(null);for(const s of e){var n;const e=null!==(n=s.fields)&&void 0!==n?n:[];for(const n of e){var r;t[n.name.value]={type:T(n.type),description:null===(r=n.description)||void 0===r?void 0:r.value,args:k(n.arguments),deprecationReason:Dr(n),astNode:n}}}return t}function k(e){const t=null!=e?e:[],n=Object.create(null);for(const e of t){var r;const t=T(e.type);n[e.name.value]={type:t,description:null===(r=e.description)||void 0===r?void 0:r.value,defaultValue:dr(e.defaultValue,t),deprecationReason:Dr(e),astNode:e}}return n}function P(e){const t=Object.create(null);for(const s of e){var n;const e=null!==(n=s.fields)&&void 0!==n?n:[];for(const n of e){var r;const e=T(n.type);t[n.name.value]={type:e,description:null===(r=n.description)||void 0===r?void 0:r.value,defaultValue:dr(n.defaultValue,e),deprecationReason:Dr(n),astNode:n}}}return t}function I(e){const t=Object.create(null);for(const s of e){var n;const e=null!==(n=s.values)&&void 0!==n?n:[];for(const n of e){var r;t[n.name.value]={description:null===(r=n.description)||void 0===r?void 0:r.value,deprecationReason:Dr(n),astNode:n}}}return t}function O(e){return e.flatMap((e=>{var t,n;return null!==(t=null===(n=e.interfaces)||void 0===n?void 0:n.map(A))&&void 0!==t?t:[]}))}function _(e){return e.flatMap((e=>{var t,n;return null!==(t=null===(n=e.types)||void 0===n?void 0:n.map(A))&&void 0!==t?t:[]}))}function x(e){var t;const n=e.name.value,r=null!==(t=u[n])&&void 0!==t?t:[];switch(e.kind){case F.OBJECT_TYPE_DEFINITION:{var s;const t=[e,...r];return new je({name:n,description:null===(s=e.description)||void 0===s?void 0:s.value,interfaces:()=>O(t),fields:()=>w(t),astNode:e,extensionASTNodes:r})}case F.INTERFACE_TYPE_DEFINITION:{var o;const t=[e,...r];return new Je({name:n,description:null===(o=e.description)||void 0===o?void 0:o.value,interfaces:()=>O(t),fields:()=>w(t),astNode:e,extensionASTNodes:r})}case F.ENUM_TYPE_DEFINITION:{var a;const t=[e,...r];return new We({name:n,description:null===(a=e.description)||void 0===a?void 0:a.value,values:I(t),astNode:e,extensionASTNodes:r})}case F.UNION_TYPE_DEFINITION:{var i;const t=[e,...r];return new He({name:n,description:null===(i=e.description)||void 0===i?void 0:i.value,types:()=>_(t),astNode:e,extensionASTNodes:r})}case F.SCALAR_TYPE_DEFINITION:var c;return new qe({name:n,description:null===(c=e.description)||void 0===c?void 0:c.value,specifiedByURL:$r(e),astNode:e,extensionASTNodes:r});case F.INPUT_OBJECT_TYPE_DEFINITION:{var d;const t=[e,...r];return new Ye({name:n,description:null===(d=e.description)||void 0===d?void 0:d.value,fields:()=>P(t),astNode:e,extensionASTNodes:r})}}}}({description:void 0,types:[],directives:[],extensions:Object.create(null),extensionASTNodes:[],assumeValid:!1},e,t);if(null==n.astNode)for(const e of n.types)switch(e.name){case"Query":n.query=e;break;case"Mutation":n.mutation=e;break;case"Subscription":n.subscription=e}const r=[...n.directives,...St.filter((e=>n.directives.every((t=>t.name!==e.name))))];return new qt({...n,directives:r})}function qr(e){var t,n;let r;return"alias"in e&&(r=null===(t=e.alias)||void 0===t?void 0:t.value),null==r&&"name"in e&&(r=null===(n=e.name)||void 0===n?void 0:n.value),null==r&&(r=e.kind),r}function jr(e,t,n){const r=qr(e),s=qr(t);return"function"==typeof n?n(r,s):function(e,t){return String(e)<String(t)?-1:String(e)>String(t)?1:0}(r,s)}function Mr(e){return null!=e}function Br(e,t){const n=e.getTypeMap();for(const e in n){const r=n[e];if(!De(r).name.startsWith("__"))if(Se(r)){const e=r.getFields();for(const n in e){const r=e[n];for(const e of r.args)e.defaultValue=t(e.type,e.defaultValue)}}else if(be(r)){const e=r.getFields();for(const n in e){const r=e[n];r.defaultValue=t(r.type,r.defaultValue)}}}}function Gr(e,t,n=null,r=null){if(null==t)return t;const s=xe(e);if(ke(s))return null!=n?n(s,t):t;if(Ee(s))return t.map((e=>Gr(s.ofType,e,n,r)));if(be(s)){const e=s.getFields(),o={};for(const s in t){const a=e[s];null!=a&&(o[s]=Gr(a.type,t[s],n,r))}return null!=r?r(s,o):o}}function Lr(e,t){return Gr(e,t,((e,t)=>{try{return e.serialize(t)}catch(e){return t}}))}function Fr(e,t){return Gr(e,t,((e,t)=>{try{return e.parseValue(t)}catch(e){return t}}))}var Vr,Ur=n(5108);function Jr(e){return function(e,t){const n=Object.create(null);for(const t in e){const r=e[t];if(null==r||t.startsWith("__"))continue;const s=r.name;s.startsWith("__")||(null==n[s]?n[s]=r:Ur.warn(`Duplicate schema type name ${s} found; keeping the existing one found in the schema`))}for(const t in n){const r=n[t];e[t]=r}for(const e of t)e.args=e.args.filter((e=>(e.type=a(e.type),null!==e.type)));for(const t in e){const s=e[t];!t.startsWith("__")&&t in n&&null!=s&&r(s)}for(const t in e)t.startsWith("__")||t in n||delete e[t];function r(e){if(Se(e))return s(e),void o(e);if(ye(e))return s(e),void("getInterfaces"in e&&o(e));if(ge(e))!function(e){const t=e.getTypes();t.push(...t.splice(0).map((e=>a(e))).filter(Boolean))}(e);else if(be(e))!function(e){const t=e.getFields();for(const[e,n]of Object.entries(t))n.type=a(n.type),null===n.type&&delete t[e]}(e);else if(!ke(e))throw new Error(`Unexpected schema type: ${e}`)}function s(e){const t=e.getFields();for(const[e,n]of Object.entries(t))n.args.map((e=>(e.type=a(e.type),null===e.type?null:e))).filter(Boolean),n.type=a(n.type),null===n.type&&delete t[e]}function o(e){if("getInterfaces"in e){const t=e.getInterfaces();t.push(...t.splice(0).map((e=>a(e))).filter(Boolean))}}function a(t){if(Ee(t)){const e=a(t.ofType);return null!=e?new Ne(e):null}if(Ae(t)){const e=a(t.ofType);return null!=e?new Oe(e):null}if(Ce(t)){const n=e[t.name];if(n&&t!==n)return n}return t}}(e.getTypeMap(),e.getDirectives()),e}function Hr(e,t){const n=e.getTypeMap();for(const e in n){const r=n[e];if(!De(r).name.startsWith("__")&&Se(r)){const n=r.getFields();for(const r in n)t(n[r],e,r)}}}function Kr(e,t){if(t){const n=e[t.name];if(Se(n))return n}}!function(e){e.TYPE="MapperKind.TYPE",e.SCALAR_TYPE="MapperKind.SCALAR_TYPE",e.ENUM_TYPE="MapperKind.ENUM_TYPE",e.COMPOSITE_TYPE="MapperKind.COMPOSITE_TYPE",e.OBJECT_TYPE="MapperKind.OBJECT_TYPE",e.INPUT_OBJECT_TYPE="MapperKind.INPUT_OBJECT_TYPE",e.ABSTRACT_TYPE="MapperKind.ABSTRACT_TYPE",e.UNION_TYPE="MapperKind.UNION_TYPE",e.INTERFACE_TYPE="MapperKind.INTERFACE_TYPE",e.ROOT_OBJECT="MapperKind.ROOT_OBJECT",e.QUERY="MapperKind.QUERY",e.MUTATION="MapperKind.MUTATION",e.SUBSCRIPTION="MapperKind.SUBSCRIPTION",e.DIRECTIVE="MapperKind.DIRECTIVE",e.FIELD="MapperKind.FIELD",e.COMPOSITE_FIELD="MapperKind.COMPOSITE_FIELD",e.OBJECT_FIELD="MapperKind.OBJECT_FIELD",e.ROOT_FIELD="MapperKind.ROOT_FIELD",e.QUERY_ROOT_FIELD="MapperKind.QUERY_ROOT_FIELD",e.MUTATION_ROOT_FIELD="MapperKind.MUTATION_ROOT_FIELD",e.SUBSCRIPTION_ROOT_FIELD="MapperKind.SUBSCRIPTION_ROOT_FIELD",e.INTERFACE_FIELD="MapperKind.INTERFACE_FIELD",e.INPUT_OBJECT_FIELD="MapperKind.INPUT_OBJECT_FIELD",e.ARGUMENT="MapperKind.ARGUMENT",e.ENUM_VALUE="MapperKind.ENUM_VALUE"}(Vr||(Vr={}));var Wr=n(5108);function Xr(e,t={}){const n=es(Qr(Yr(zr(function(e,t,n){const r=function(e){const t=e[Vr.ENUM_VALUE];return null!=t?t:null}(n);return r?Yr(e,t,{[Vr.ENUM_TYPE]:e=>{const n=e.toConfig(),s=n.values,o={};for(const n in s){const a=s[n],i=r(a,e.name,t,n);if(void 0===i)o[n]=a;else if(Array.isArray(i)){const[e,t]=i;o[e]=void 0===t?a:t}else null!==i&&(o[n]=i)}return ss(new We({...n,values:o}))}},(e=>ve(e))):e}(Yr(zr(e.getTypeMap(),e,Lr),e,t,(e=>ke(e))),e,t),e,Fr),e,t,(e=>!ke(e))),e,t),e,t),r=function(e,t,n){const r=function(e){const t=e[Vr.DIRECTIVE];return null!=t?t:null}(n);if(null==r)return e.slice();const s=[];for(const n of e){const e=r(n,t);void 0===e?s.push(n):null!==e&&s.push(e)}return s}(e.getDirectives(),e,t),{typeMap:s,directives:o}=function(e,t){const n=Object.create(null);for(const t in e)n[t]=e[t];const r=Object.create(null);for(const e in n){const t=n[e];if(null==t||e.startsWith("__"))continue;const s=t.name;s.startsWith("__")||(null==r[s]?r[s]=t:Wr.warn(`Duplicate schema type name ${s} found; keeping the existing one found in the schema`))}for(const e in r)r[e]=a(r[e]);const s=t.map((e=>function(e){if(yt(e))return e;const t=e.toConfig();return t.args=o(t.args),new lt(t)}(e)));return{typeMap:r,directives:s};function o(e){const t={};for(const n in e){const r=e[n],s=c(r.type);null!=s&&(r.type=s,t[n]=r)}return t}function a(e){if(Se(e)){const t=e.toConfig(),n={...t,fields:()=>i(t.fields),interfaces:()=>u(t.interfaces)};return new je(n)}if(ye(e)){const t=e.toConfig(),n={...t,fields:()=>i(t.fields)};return"interfaces"in n&&(n.interfaces=()=>u(t.interfaces)),new Je(n)}if(ge(e)){const t=e.toConfig(),n={...t,types:()=>u(t.types)};return new He(n)}if(be(e)){const t=e.toConfig(),n={...t,fields:()=>function(e){const t={};for(const n in e){const r=e[n],s=c(r.type);null!=s&&(r.type=s,t[n]=r)}return t}(t.fields)};return new Ye(n)}if(ve(e)){const t=e.toConfig();return new We(t)}if(me(e)){if(ut(e))return e;const t=e.toConfig();return new qe(t)}throw new Error(`Unexpected schema type: ${e}`)}function i(e){const t={};for(const n in e){const r=e[n],s=c(r.type);null!=s&&r.args&&(r.type=s,r.args=o(r.args),t[n]=r)}return t}function u(e){const t=[];for(const n of e){const e=c(n);null!=e&&t.push(e)}return t}function c(e){if(Ee(e)){const t=c(e.ofType);return null!=t?new Ne(t):null}if(Ae(e)){const t=c(e.ofType);return null!=t?new Oe(t):null}if(Ce(e)){let t=n[e.name];return void 0===t&&(t=function(e){if("getFields"in e){const t=e.getFields();for(const e in t)return"_fake"===t[e].name}return!1}(e)?function(e){switch(e.name){case nt.name:return nt;case rt.name:return rt;case st.name:return st;case ot.name:return ot;case at.name:return at;default:return e}}(e):a(e),r[t.name]=n[e.name]=t),null!=t?r[t.name]:null}return null}}(n,r);return new qt({...e.toConfig(),query:Kr(s,Kr(n,e.getQueryType())),mutation:Kr(s,Kr(n,e.getMutationType())),subscription:Kr(s,Kr(n,e.getSubscriptionType())),types:Object.values(s),directives:o})}function Yr(e,t,n,r=(()=>!0)){const s={};for(const o in e)if(!o.startsWith("__")){const a=e[o];if(null==a||!r(a)){s[o]=a;continue}const i=ts(t,n,o);if(null==i){s[o]=a;continue}const u=i(a,t);if(void 0===u){s[o]=a;continue}s[o]=u}return s}function zr(e,t,n){const r=es(e,t,{[Vr.ARGUMENT]:t=>{if(void 0===t.defaultValue)return t;const r=Zr(e,t.type);return null!=r?{...t,defaultValue:n(r,t.defaultValue)}:void 0}});return Qr(r,t,{[Vr.INPUT_OBJECT_FIELD]:e=>{if(void 0===e.defaultValue)return e;const t=Zr(r,e.type);return null!=t?{...e,defaultValue:n(t,e.defaultValue)}:void 0}})}function Zr(e,t){if(Ee(t)){const n=Zr(e,t.ofType);return null!=n?new Ne(n):null}if(Ae(t)){const n=Zr(e,t.ofType);return null!=n?new Oe(n):null}if(Ce(t)){const n=e[t.name];return null!=n?n:null}return null}function Qr(e,t,n){const r={};for(const s in e)if(!s.startsWith("__")){const o=e[s];if(!Se(o)&&!ye(o)&&!be(o)){r[s]=o;continue}const a=ns(t,n,s);if(null==a){r[s]=o;continue}const i=o.toConfig(),u=i.fields,c={};for(const e in u){const n=u[e],r=a(n,e,s,t);if(void 0===r)c[e]=n;else if(Array.isArray(r)){const[e,t]=r;null!=t.astNode&&(t.astNode={...t.astNode,name:{...t.astNode.name,value:e}}),c[e]=void 0===t?n:t}else null!==r&&(c[e]=r)}Se(o)?r[s]=ss(new je({...i,fields:c})):ye(o)?r[s]=ss(new Je({...i,fields:c})):r[s]=ss(new Ye({...i,fields:c}))}return r}function es(e,t,n){const r={};for(const s in e)if(!s.startsWith("__")){const o=e[s];if(!Se(o)&&!ye(o)){r[s]=o;continue}const a=rs(n);if(null==a){r[s]=o;continue}const i=o.toConfig(),u=i.fields,c={};for(const e in u){const n=u[e],r=n.args;if(null==r){c[e]=n;continue}const o=Object.keys(r);if(!o.length){c[e]=n;continue}const i={};for(const n of o){const o=r[n],u=a(o,e,s,t);if(void 0===u)i[n]=o;else if(Array.isArray(u)){const[e,t]=u;i[e]=t}else null!==u&&(i[n]=u)}c[e]={...n,args:i}}Se(o)?r[s]=new je({...i,fields:c}):ye(o)?r[s]=new Je({...i,fields:c}):r[s]=new Ye({...i,fields:c})}return r}function ts(e,t,n){const r=function(e,t){var n,r,s;const o=e.getType(t),a=[Vr.TYPE];return Se(o)?(a.push(Vr.COMPOSITE_TYPE,Vr.OBJECT_TYPE),t===(null===(n=e.getQueryType())||void 0===n?void 0:n.name)?a.push(Vr.ROOT_OBJECT,Vr.QUERY):t===(null===(r=e.getMutationType())||void 0===r?void 0:r.name)?a.push(Vr.ROOT_OBJECT,Vr.MUTATION):t===(null===(s=e.getSubscriptionType())||void 0===s?void 0:s.name)&&a.push(Vr.ROOT_OBJECT,Vr.SUBSCRIPTION)):be(o)?a.push(Vr.INPUT_OBJECT_TYPE):ye(o)?a.push(Vr.COMPOSITE_TYPE,Vr.ABSTRACT_TYPE,Vr.INTERFACE_TYPE):ge(o)?a.push(Vr.COMPOSITE_TYPE,Vr.ABSTRACT_TYPE,Vr.UNION_TYPE):ve(o)?a.push(Vr.ENUM_TYPE):me(o)&&a.push(Vr.SCALAR_TYPE),a}(e,n);let s;const o=[...r];for(;!s&&o.length>0;)s=t[o.pop()];return null!=s?s:null}function ns(e,t,n){const r=function(e,t){var n,r,s;const o=e.getType(t),a=[Vr.FIELD];return Se(o)?(a.push(Vr.COMPOSITE_FIELD,Vr.OBJECT_FIELD),t===(null===(n=e.getQueryType())||void 0===n?void 0:n.name)?a.push(Vr.ROOT_FIELD,Vr.QUERY_ROOT_FIELD):t===(null===(r=e.getMutationType())||void 0===r?void 0:r.name)?a.push(Vr.ROOT_FIELD,Vr.MUTATION_ROOT_FIELD):t===(null===(s=e.getSubscriptionType())||void 0===s?void 0:s.name)&&a.push(Vr.ROOT_FIELD,Vr.SUBSCRIPTION_ROOT_FIELD)):ye(o)?a.push(Vr.COMPOSITE_FIELD,Vr.INTERFACE_FIELD):be(o)&&a.push(Vr.INPUT_OBJECT_FIELD),a}(e,n);let s;const o=[...r];for(;!s&&o.length>0;)s=t[o.pop()];return null!=s?s:null}function rs(e){const t=e[Vr.ARGUMENT];return null!=t?t:null}function ss(e){if(Se(e)){const t=e.toConfig();if(null!=t.astNode){const e=[];for(const n in t.fields){const r=t.fields[n];null!=r.astNode&&e.push(r.astNode)}t.astNode={...t.astNode,kind:F.OBJECT_TYPE_DEFINITION,fields:e}}return null!=t.extensionASTNodes&&(t.extensionASTNodes=t.extensionASTNodes.map((e=>({...e,kind:F.OBJECT_TYPE_EXTENSION,fields:void 0})))),new je(t)}if(ye(e)){const t=e.toConfig();if(null!=t.astNode){const e=[];for(const n in t.fields){const r=t.fields[n];null!=r.astNode&&e.push(r.astNode)}t.astNode={...t.astNode,kind:F.INTERFACE_TYPE_DEFINITION,fields:e}}return null!=t.extensionASTNodes&&(t.extensionASTNodes=t.extensionASTNodes.map((e=>({...e,kind:F.INTERFACE_TYPE_EXTENSION,fields:void 0})))),new Je(t)}if(be(e)){const t=e.toConfig();if(null!=t.astNode){const e=[];for(const n in t.fields){const r=t.fields[n];null!=r.astNode&&e.push(r.astNode)}t.astNode={...t.astNode,kind:F.INPUT_OBJECT_TYPE_DEFINITION,fields:e}}return null!=t.extensionASTNodes&&(t.extensionASTNodes=t.extensionASTNodes.map((e=>({...e,kind:F.INPUT_OBJECT_TYPE_EXTENSION,fields:void 0})))),new Ye(t)}if(ve(e)){const t=e.toConfig();if(null!=t.astNode){const e=[];for(const n in t.values){const r=t.values[n];null!=r.astNode&&e.push(r.astNode)}t.astNode={...t.astNode,values:e}}return null!=t.extensionASTNodes&&(t.extensionASTNodes=t.extensionASTNodes.map((e=>({...e,values:void 0})))),new We(t)}return e}var os=n(5108);function as(e,t){for(const n in t)e[n]=t[n]}var is,us=n(5108);function cs(e,t,n,r,s){if(n.resolve){if("function"!=typeof n.resolve)throw new Error(`Resolver "${r}.${s}" must be a function`)}else{const n=`Resolver missing for "${r}.${s}".\nTo disable this validator, use:\n resolverValidationOptions: {\n ${e}: 'ignore'\n }`;if("error"===t)throw new Error(n);"warn"===t&&us.warn(n)}}function ds(e){let t=e;for(;t.kind===F.LIST_TYPE||"NonNullType"===t.kind;)t=t.type;return t}function ls(e){return e.kind!==F.NAMED_TYPE}function ps(e){return e.kind===F.LIST_TYPE}function fs(e){return e.kind===F.NON_NULL_TYPE}function hs(e){return ps(e)?`[${hs(e.type)}]`:fs(e)?`${hs(e.type)}!`:e.name.value}function ms(e,t){return null==e&&null==t?is.A_EQUALS_B:null==e?is.A_SMALLER_THAN_B:null==t?is.A_GREATER_THAN_B:e<t?is.A_SMALLER_THAN_B:e>t?is.A_GREATER_THAN_B:is.A_EQUALS_B}function Ss(e,t){return!!e.find((e=>e.name.value===t.name.value))}function ys(e,t){const n=[...t];for(const t of e){const e=n.findIndex((e=>e.name.value===t.name.value));if(e>-1){const r=n[e];if("ListValue"===r.value.kind){const e=r.value.values,n=t.value.values;r.value.values=bs(e,n,((e,t)=>{const n=e.value;return!n||!t.some((e=>e.value===n))}))}else r.value=t.value}else n.push(t)}return n}function gs(e=[],t=[],n){const r=n&&n.reverseDirectives,s=r?t:e,o=[...r?e:t].map(((e,t,n)=>{const r=n.findIndex((t=>t.name.value===e.name.value));if(r!==t){const t=n[r];return e.arguments=ys(e.arguments,t.arguments),null}return e})).filter(Mr);for(const e of s)if(Ss(o,e)){const t=o.findIndex((t=>t.name.value===e.name.value)),n=o[t];o[t].arguments=ys(e.arguments||[],n.arguments||[])}else o.push(e);return o}function vs(e,t){return t?(function(e,t){const n=se({...e,description:void 0}),r=se({...t,description:void 0}),s=new RegExp("(directive @w*d*)|( on .*$)","g");if(n.replace(s,"")!==r.replace(s,""))throw new Error(`Unable to merge GraphQL directive "${e.name.value}". \nExisting directive: \n\t${r} \nReceived directive: \n\t${n}`)}(e,t),{...e,locations:[...t.locations,...e.locations.filter((e=>!function(e,t){return t.some((({value:t})=>t===e.value))}(e,t.locations)))]}):e}function bs(e,t,n){return e.concat(t.filter((t=>n(t,e))))}function Es(e,t,n){const r=[...t,...e].filter(Mr).reduce(((e,t)=>e.find((e=>e.name.value===t.name.value))?e:e.concat([t])),[]);return n&&n.sort&&r.sort(jr),r}function As(e,t,n){const r=e.find((e=>e.name.value===t.name.value));if(r&&!(null==n?void 0:n.ignoreFieldConflicts)){const e=ds(r.type),n=ds(t.type);if(e.name.value!==n.name.value)throw new Error(`Field "${t.name.value}" already defined with a different type. Declared as "${e.name.value}", but you tried to override with "${n.name.value}"`)}return!!r}function Ts(e,t,n,r){const s=[];if(null!=n&&s.push(...n),null!=t)for(const n of t)if(As(s,n,r)){const t=s.find((e=>e.name.value===n.name.value));(null==r?void 0:r.ignoreFieldConflicts)||((null==r?void 0:r.throwOnConflict)?ws(e,t,n,!1):ws(e,t,n,!0),fs(n.type)&&!fs(t.type)&&(t.type=n.type)),t.arguments=Es(n.arguments||[],t.arguments||[],r),t.directives=gs(n.directives,t.directives,r),t.description=n.description||t.description}else s.push(n);if(r&&r.sort&&s.sort(jr),r&&r.exclusions){const t=r.exclusions;return s.filter((n=>!t.includes(`${e.name.value}.${n.name.value}`)))}return s}function ws(e,t,n,r=!1){const s=hs(t.type),o=hs(n.type);if(s!==o&&!ks(t.type,n.type,r))throw new Error(`Field '${e.name.value}.${t.name.value}' changed type from '${s}' to '${o}'`)}function ks(e,t,n=!1){return ls(e)||ls(t)?fs(t)?ks(fs(e)?e.type:e,t.type):fs(e)?ks(t,e,n):!!ps(e)&&(ps(t)&&ks(e.type,t.type)||fs(t)&&ks(e,t.type)):e.toString()===t.toString()}function Ps(e=[],t=[],n={}){const r=[...t,...e.filter((e=>{return n=e,!t.find((e=>e.name.value===n.name.value));var n}))];return n&&n.sort&&r.sort(jr),r}function Is(e,t,n){if(t)try{return{name:e.name,description:e.description||t.description,kind:(null==n?void 0:n.convertExtensions)||"ObjectTypeDefinition"===e.kind||"ObjectTypeDefinition"===t.kind?"ObjectTypeDefinition":"ObjectTypeExtension",loc:e.loc,fields:Ts(e,e.fields,t.fields,n),directives:gs(e.directives,t.directives,n),interfaces:Ps(e.interfaces,t.interfaces,n)}}catch(t){throw new Error(`Unable to merge GraphQL type "${e.name.value}": ${t.message}`)}return(null==n?void 0:n.convertExtensions)?{...e,kind:F.OBJECT_TYPE_DEFINITION}:e}function Ns(e,t,n){if(null==n?void 0:n.consistentEnumMerge){const n=[];e&&n.push(...e),e=t,t=n}const r=new Map;if(e)for(const t of e)r.set(t.name.value,t);if(t)for(const e of t){const t=e.name.value;if(r.has(t)){const n=r.get(t);n.description=e.description||n.description,n.directives=gs(e.directives,n.directives)}else r.set(t,e)}const s=[...r.values()];return n&&n.sort&&s.sort(jr),s}function Os(e,t,n){return t?{name:e.name,description:e.description||t.description,kind:(null==n?void 0:n.convertExtensions)||"EnumTypeDefinition"===e.kind||"EnumTypeDefinition"===t.kind?"EnumTypeDefinition":"EnumTypeExtension",loc:e.loc,directives:gs(e.directives,t.directives,n),values:Ns(e.values,t.values,n)}:(null==n?void 0:n.convertExtensions)?{...e,kind:F.ENUM_TYPE_DEFINITION}:e}function _s(e,t,n){return t?{name:e.name,description:e.description||t.description,kind:(null==n?void 0:n.convertExtensions)||"ScalarTypeDefinition"===e.kind||"ScalarTypeDefinition"===t.kind?"ScalarTypeDefinition":"ScalarTypeExtension",loc:e.loc,directives:gs(e.directives,t.directives,n)}:(null==n?void 0:n.convertExtensions)?{...e,kind:F.SCALAR_TYPE_DEFINITION}:e}function xs(e,t,n){return t?{name:e.name,description:e.description||t.description,directives:gs(e.directives,t.directives,n),kind:(null==n?void 0:n.convertExtensions)||"UnionTypeDefinition"===e.kind||"UnionTypeDefinition"===t.kind?F.UNION_TYPE_DEFINITION:F.UNION_TYPE_EXTENSION,loc:e.loc,types:Ps(e.types,t.types,n)}:(null==n?void 0:n.convertExtensions)?{...e,kind:F.UNION_TYPE_DEFINITION}:e}function Cs(e,t,n){if(t)try{return{name:e.name,description:e.description||t.description,kind:(null==n?void 0:n.convertExtensions)||"InputObjectTypeDefinition"===e.kind||"InputObjectTypeDefinition"===t.kind?"InputObjectTypeDefinition":"InputObjectTypeExtension",loc:e.loc,fields:Ts(e,e.fields,t.fields,n),directives:gs(e.directives,t.directives,n)}}catch(t){throw new Error(`Unable to merge GraphQL input type "${e.name.value}": ${t.message}`)}return(null==n?void 0:n.convertExtensions)?{...e,kind:F.INPUT_OBJECT_TYPE_DEFINITION}:e}function Ds(e,t,n){if(t)try{return{name:e.name,description:e.description||t.description,kind:(null==n?void 0:n.convertExtensions)||"InterfaceTypeDefinition"===e.kind||"InterfaceTypeDefinition"===t.kind?"InterfaceTypeDefinition":"InterfaceTypeExtension",loc:e.loc,fields:Ts(e,e.fields,t.fields,n),directives:gs(e.directives,t.directives,n),interfaces:e.interfaces?Ps(e.interfaces,t.interfaces,n):void 0}}catch(t){throw new Error(`Unable to merge GraphQL interface "${e.name.value}": ${t.message}`)}return(null==n?void 0:n.convertExtensions)?{...e,kind:F.INTERFACE_TYPE_DEFINITION}:e}!function(e){e[e.A_SMALLER_THAN_B=-1]="A_SMALLER_THAN_B",e[e.A_EQUALS_B=0]="A_EQUALS_B",e[e.A_GREATER_THAN_B=1]="A_GREATER_THAN_B"}(is||(is={}));const $s={query:"Query",mutation:"Mutation",subscription:"Subscription"};function Rs(e=[],t=[]){const n=[];for(const r in $s){const s=e.find((e=>e.operation===r))||t.find((e=>e.operation===r));s&&n.push(s)}return n}function qs(e,t,n){return t?{kind:e.kind===F.SCHEMA_DEFINITION||t.kind===F.SCHEMA_DEFINITION?F.SCHEMA_DEFINITION:F.SCHEMA_EXTENSION,description:e.description||t.description,directives:gs(e.directives,t.directives,n),operationTypes:Rs(e.operationTypes,t.operationTypes)}:(null==n?void 0:n.convertExtensions)?{...e,kind:F.SCHEMA_DEFINITION}:e}let js={};function Ms(){js={}}function Bs(e){var t;const n=null===(t=e.name)||void 0===t?void 0:t.value;if(null!=n)switch(Gs(e,n),e.kind){case"EnumTypeDefinition":if(e.values)for(const t of e.values)Gs(t,n,t.name.value);break;case"ObjectTypeDefinition":case"InputObjectTypeDefinition":case"InterfaceTypeDefinition":if(e.fields)for(const t of e.fields)if(Gs(t,n,t.name.value),Xs(t)&&t.arguments)for(const e of t.arguments)Gs(e,n,t.name.value,e.name.value)}}function Gs(e,t,n,r){const s=function(e){const t=function(e){const t=e.loc;if(!t)return;const n=[];let r=t.startToken.prev;for(;null!=r&&r.kind===Bt.COMMENT&&null!=r.next&&null!=r.prev&&r.line+1===r.next.line&&r.line!==r.prev.line;){const e=String(r.value);n.push(e),r=r.prev}return n.length>0?n.reverse().join("\n"):void 0}(e);if(void 0!==t)return function(e){const t=e.split(/\r\n|[\n\r]/g),n=function(e){let t=null;for(let n=1;n<e.length;n++){const r=e[n],s=Ys(r);if(s!==r.length&&(null===t||s<t)&&(t=s,0===t))break}return null===t?0:t}(t);if(0!==n)for(let e=1;e<t.length;e++)t[e]=t[e].slice(n);for(;t.length>0&&zs(t[0]);)t.shift();for(;t.length>0&&zs(t[t.length-1]);)t.pop();return t.join("\n")}(`\n${t}`)}(e);if("string"!=typeof s||0===s.length)return;const o=[t];n&&(o.push(n),r&&o.push(r));const a=o.join(".");js[a]||(js[a]=[]),js[a].push(s)}function Ls(e){return"\n# "+e.replace(/\n/g,"\n# ")}function Fs(e,t){return e?e.filter((e=>e)).join(t||""):""}function Vs(e){var t;return null!==(t=null==e?void 0:e.some((e=>e.includes("\n"))))&&void 0!==t&&t}function Us(e){return e&&` ${e.replace(/\n/g,"\n ")}`}function Js(e){return e&&0!==e.length?`{\n${Us(Fs(e,"\n"))}\n}`:""}function Hs(e,t,n){return t?e+t+(n||""):""}const Ks={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>Fs(e.definitions,"\n\n")},OperationDefinition:{leave:e=>{const t=Hs("(",Fs(e.variableDefinitions,", "),")");return Fs([e.operation,Fs([e.name,t]),Fs(e.directives," ")]," ")+" "+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:n,directives:r})=>e+": "+t+Hs(" = ",n)+Hs(" ",Fs(r," "))},SelectionSet:{leave:({selections:e})=>Js(e)},Field:{leave({alias:e,name:t,arguments:n,directives:r,selectionSet:s}){const o=Hs("",e,": ")+t;let a=o+Hs("(",Fs(n,", "),")");return a.length>80&&(a=o+Hs("(\n",Us(Fs(n,"\n")),"\n)")),Fs([a,Fs(r," "),s]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+Hs(" ",Fs(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:n})=>Fs(["...",Hs("on ",e),Fs(t," "),n]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:n,directives:r,selectionSet:s})=>`fragment ${e}${Hs("(",Fs(n,", "),")")} on ${t} ${Hs("",Fs(r," ")," ")}`+s},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?function(e,t=!1){const n=e.replace(/"""/g,'\\"""');return" "!==e[0]&&"\t"!==e[0]||-1!==e.indexOf("\n")?`"""\n${t?n:Us(n)}\n"""`:`"""${n.replace(/"$/,'"\n')}"""`}(e):JSON.stringify(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+Fs(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+Fs(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+Hs("(",Fs(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({directives:e,operationTypes:t})=>Fs(["schema",Fs(e," "),Js(t)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({name:e,directives:t})=>Fs(["scalar",e,Fs(t," ")]," ")},ObjectTypeDefinition:{leave:({name:e,interfaces:t,directives:n,fields:r})=>Fs(["type",e,Hs("implements ",Fs(t," & ")),Fs(n," "),Js(r)]," ")},FieldDefinition:{leave:({name:e,arguments:t,type:n,directives:r})=>e+(Vs(t)?Hs("(\n",Us(Fs(t,"\n")),"\n)"):Hs("(",Fs(t,", "),")"))+": "+n+Hs(" ",Fs(r," "))},InputValueDefinition:{leave:({name:e,type:t,defaultValue:n,directives:r})=>Fs([e+": "+t,Hs("= ",n),Fs(r," ")]," ")},InterfaceTypeDefinition:{leave:({name:e,interfaces:t,directives:n,fields:r})=>Fs(["interface",e,Hs("implements ",Fs(t," & ")),Fs(n," "),Js(r)]," ")},UnionTypeDefinition:{leave:({name:e,directives:t,types:n})=>Fs(["union",e,Fs(t," "),Hs("= ",Fs(n," | "))]," ")},EnumTypeDefinition:{leave:({name:e,directives:t,values:n})=>Fs(["enum",e,Fs(t," "),Js(n)]," ")},EnumValueDefinition:{leave:({name:e,directives:t})=>Fs([e,Fs(t," ")]," ")},InputObjectTypeDefinition:{leave:({name:e,directives:t,fields:n})=>Fs(["input",e,Fs(t," "),Js(n)]," ")},DirectiveDefinition:{leave:({name:e,arguments:t,repeatable:n,locations:r})=>"directive @"+e+(Vs(t)?Hs("(\n",Us(Fs(t,"\n")),"\n)"):Hs("(",Fs(t,", "),")"))+(n?" repeatable":"")+" on "+Fs(r," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>Fs(["extend schema",Fs(e," "),Js(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>Fs(["extend scalar",e,Fs(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>Fs(["extend type",e,Hs("implements ",Fs(t," & ")),Fs(n," "),Js(r)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>Fs(["extend interface",e,Hs("implements ",Fs(t," & ")),Fs(n," "),Js(r)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:n})=>Fs(["extend union",e,Fs(t," "),Hs("= ",Fs(n," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:n})=>Fs(["extend enum",e,Fs(t," "),Js(n)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:n})=>Fs(["extend input",e,Fs(t," "),Js(n)]," ")}},Ws=Object.keys(Ks).reduce(((e,t)=>{return{...e,[t]:{leave:(n=Ks[t].leave,(e,t,r,s,o)=>{var a;const i=[],u=s.reduce(((e,t)=>(["fields","arguments","values"].includes(t)&&e.name&&i.push(e.name.value),e[t])),o[0]),c=[...i,null===(a=null==u?void 0:u.name)||void 0===a?void 0:a.value].filter(Boolean).join("."),d=[];return e.kind.includes("Definition")&&js[c]&&d.push(...js[c]),Fs([...d.map(Ls),e.description,n(e,t,r,s,o)],"\n")})}};var n}),{});function Xs(e){return"FieldDefinition"===e.kind}function Ys(e){let t=0;for(;t<e.length&&(" "===e[t]||"\t"===e[t]);)t++;return t}function zs(e){return Ys(e)===e.length}const Zs="SCHEMA_DEF_SYMBOL";let Qs;if("undefined"==typeof AggregateError){class e extends Error{constructor(t,n=""){super(n),this.errors=t,this.name="AggregateError",Error.captureStackTrace(this,e)}}Qs=function(t,n){return new e(t,n)}}else Qs=AggregateError;function eo(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return function(e,t){if(null===e)return"null";if(e instanceof Error)return"errors"in(n=e)&&Array.isArray(n.errors)?to(e)+"\n"+no(e.errors,t):to(e);var n;if(t.includes(e))return"[Circular]";const r=[...t,e];if(function(e){return"function"==typeof e.toJSON}(e)){const t=e.toJSON();if(t!==e)return"string"==typeof t?t:eo(t,r)}else if(Array.isArray(e))return no(e,r);return function(e,t){const n=Object.entries(e);if(0===n.length)return"{}";if(t.length>3)return"["+function(e){const t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if("Object"===t&&"function"==typeof e.constructor){const t=e.constructor.name;if("string"==typeof t&&""!==t)return t}return t}(e)+"]";const r=n.map((([e,n])=>e+": "+eo(n,t)));return"{ "+r.join(", ")+" }"}(e,r)}(e,t);default:return String(e)}}function to(e){return e instanceof G?e.toString():`${e.name}: ${e.message};\n ${e.stack}`}function no(e,t){if(0===e.length)return"[]";if(t.length>3)return"[Array]";const n=e.length,r=[];for(let s=0;s<n;++s)r.push(eo(e[s],t));return"["+r.join(", ")+"]"}function ro(e){if(Ae(e)){const n=ro(e.ofType);if(n.kind===F.NON_NULL_TYPE)throw new Error(`Invalid type node ${t=e,eo(t,[])}. Inner type of non-null type cannot be a non-null type.`);return{kind:F.NON_NULL_TYPE,type:n}}return Ee(e)?{kind:F.LIST_TYPE,type:ro(e.ofType)}:{kind:F.NAMED_TYPE,name:{kind:F.NAME,value:e.name}};var t}function so(e,t=["directives"]){return t.reduce(((e,t)=>null==e?e:e[t]),null==e?void 0:e.extensions)}function oo(e){if(null===e)return{kind:F.NULL};if(void 0===e)return null;if(Array.isArray(e)){const t=[];for(const n of e){const e=oo(n);null!=e&&t.push(e)}return{kind:F.LIST,values:t}}if("object"==typeof e){const t=[];for(const n in e){const r=oo(e[n]);r&&t.push({kind:F.OBJECT_FIELD,name:{kind:F.NAME,value:n},value:r})}return{kind:F.OBJECT,fields:t}}if("boolean"==typeof e)return{kind:F.BOOLEAN,value:e};if("number"==typeof e&&isFinite(e)){const t=String(e);return ao.test(t)?{kind:F.INT,value:t}:{kind:F.FLOAT,value:t}}if("string"==typeof e)return{kind:F.STRING,value:e};throw new TypeError(`Cannot convert value to AST: ${e}.`)}const ao=/^-?(?:0|[1-9][0-9]*)$/;function io(e){const t=new WeakMap;return function(n){const r=t.get(n);if(void 0===r){const r=e(n);return t.set(n,r),r}return r}}new WeakMap,io((function(e){const t=uo(e);return new Set([...t].map((e=>e.name)))}));const uo=io((function(e){const t=co(e);return new Set(t.values())})),co=io((function(e){const t=new Map,n=e.getQueryType();n&&t.set("query",n);const r=e.getMutationType();r&&t.set("mutation",r);const s=e.getSubscriptionType();return s&&t.set("subscription",s),t}));function lo(e,t,n){var r,s,o,a;return{kind:F.DIRECTIVE_DEFINITION,description:null!==(s=null===(r=e.astNode)||void 0===r?void 0:r.description)&&void 0!==s?s:e.description?{kind:F.STRING,value:e.description}:void 0,name:{kind:F.NAME,value:e.name},arguments:null===(o=e.args)||void 0===o?void 0:o.map((e=>ho(e,t,n))),repeatable:e.isRepeatable,locations:(null===(a=e.locations)||void 0===a?void 0:a.map((e=>({kind:F.NAME,value:e}))))||[]}}function po(e,t,n){const r=so(e,n);let s,o=[];if(null!=e.astNode&&o.push(e.astNode),"extensionASTNodes"in e&&null!=e.extensionASTNodes&&(o=o.concat(e.extensionASTNodes)),null!=r)s=To(t,r);else{s=[];for(const e of o)e.directives&&s.push(...e.directives)}return s}function fo(e,t,n){var r,s;let o=[],a=null;const i=so(e,n);let u;return u=null!=i?To(t,i):null===(r=e.astNode)||void 0===r?void 0:r.directives,null!=u&&(o=u.filter((e=>"deprecated"!==e.name.value)),null!=e.deprecationReason&&(a=null===(s=u.filter((e=>"deprecated"===e.name.value)))||void 0===s?void 0:s[0])),null!=e.deprecationReason&&null==a&&(a=Ao("deprecated",{reason:e.deprecationReason},ht)),null==a?o:[a].concat(o)}function ho(e,t,n){var r,s,o;return{kind:F.INPUT_VALUE_DEFINITION,description:null!==(s=null===(r=e.astNode)||void 0===r?void 0:r.description)&&void 0!==s?s:e.description?{kind:F.STRING,value:e.description,block:!0}:void 0,name:{kind:F.NAME,value:e.name},type:ro(e.type),defaultValue:void 0!==e.defaultValue&&null!==(o=vt(e.defaultValue,e.type))&&void 0!==o?o:void 0,directives:fo(e,t,n)}}function mo(e,t,n){var r,s;return{kind:F.OBJECT_TYPE_DEFINITION,description:null!==(s=null===(r=e.astNode)||void 0===r?void 0:r.description)&&void 0!==s?s:e.description?{kind:F.STRING,value:e.description,block:!0}:void 0,name:{kind:F.NAME,value:e.name},fields:Object.values(e.getFields()).map((e=>Eo(e,t,n))),interfaces:Object.values(e.getInterfaces()).map((e=>ro(e))),directives:po(e,t,n)}}function So(e,t,n){var r,s;const o={kind:F.INTERFACE_TYPE_DEFINITION,description:null!==(s=null===(r=e.astNode)||void 0===r?void 0:r.description)&&void 0!==s?s:e.description?{kind:F.STRING,value:e.description,block:!0}:void 0,name:{kind:F.NAME,value:e.name},fields:Object.values(e.getFields()).map((e=>Eo(e,t,n))),directives:po(e,t,n)};return"getInterfaces"in e&&(o.interfaces=Object.values(e.getInterfaces()).map((e=>ro(e)))),o}function yo(e,t,n){var r,s;return{kind:F.UNION_TYPE_DEFINITION,description:null!==(s=null===(r=e.astNode)||void 0===r?void 0:r.description)&&void 0!==s?s:e.description?{kind:F.STRING,value:e.description,block:!0}:void 0,name:{kind:F.NAME,value:e.name},directives:po(e,t,n),types:e.getTypes().map((e=>ro(e)))}}function go(e,t,n){var r,s;return{kind:F.INPUT_OBJECT_TYPE_DEFINITION,description:null!==(s=null===(r=e.astNode)||void 0===r?void 0:r.description)&&void 0!==s?s:e.description?{kind:F.STRING,value:e.description,block:!0}:void 0,name:{kind:F.NAME,value:e.name},fields:Object.values(e.getFields()).map((e=>function(e,t,n){var r,s,o;return{kind:F.INPUT_VALUE_DEFINITION,description:null!==(s=null===(r=e.astNode)||void 0===r?void 0:r.description)&&void 0!==s?s:e.description?{kind:F.STRING,value:e.description,block:!0}:void 0,name:{kind:F.NAME,value:e.name},type:ro(e.type),directives:fo(e,t,n),defaultValue:null!==(o=vt(e.defaultValue,e.type))&&void 0!==o?o:void 0}}(e,t,n))),directives:po(e,t,n)}}function vo(e,t,n){var r,s;return{kind:F.ENUM_TYPE_DEFINITION,description:null!==(s=null===(r=e.astNode)||void 0===r?void 0:r.description)&&void 0!==s?s:e.description?{kind:F.STRING,value:e.description,block:!0}:void 0,name:{kind:F.NAME,value:e.name},values:Object.values(e.getValues()).map((e=>function(e,t,n){var r,s;return{kind:F.ENUM_VALUE_DEFINITION,description:null!==(s=null===(r=e.astNode)||void 0===r?void 0:r.description)&&void 0!==s?s:e.description?{kind:F.STRING,value:e.description,block:!0}:void 0,name:{kind:F.NAME,value:e.name},directives:fo(e,t,n)}}(e,t,n))),directives:po(e,t,n)}}function bo(e,t,n){var r,s,o;const a=so(e,n),i=a?To(t,a):(null===(r=e.astNode)||void 0===r?void 0:r.directives)||[],u=e.specifiedByUrl||e.specifiedByURL;if(u&&!i.some((e=>"specifiedBy"===e.name.value))){const e={url:u};i.push(Ao("specifiedBy",e))}return{kind:F.SCALAR_TYPE_DEFINITION,description:null!==(o=null===(s=e.astNode)||void 0===s?void 0:s.description)&&void 0!==o?o:e.description?{kind:F.STRING,value:e.description,block:!0}:void 0,name:{kind:F.NAME,value:e.name},directives:i}}function Eo(e,t,n){var r,s;return{kind:F.FIELD_DEFINITION,description:null!==(s=null===(r=e.astNode)||void 0===r?void 0:r.description)&&void 0!==s?s:e.description?{kind:F.STRING,value:e.description,block:!0}:void 0,name:{kind:F.NAME,value:e.name},arguments:e.args.map((e=>ho(e,t,n))),type:ro(e.type),directives:fo(e,t,n)}}function Ao(e,t,n){const r=[];if(null!=n)for(const e of n.args){const n=e.name,s=t[n];if(void 0!==s){const t=vt(s,e.type);t&&r.push({kind:F.ARGUMENT,name:{kind:F.NAME,value:n},value:t})}}else for(const e in t){const n=oo(t[e]);n&&r.push({kind:F.ARGUMENT,name:{kind:F.NAME,value:e},value:n})}return{kind:F.DIRECTIVE,name:{kind:F.NAME,value:e},arguments:r}}function To(e,t){const n=[];for(const r in t){const s=t[r],o=null==e?void 0:e.getDirective(r);if(Array.isArray(s))for(const e of s)n.push(Ao(r,e,o));else n.push(Ao(r,s,o))}return n}function wo(e,t){Ms();const n={kind:F.DOCUMENT,definitions:Po(e,{useSchemaDefinition:!0,forceSchemaDefinition:!1,throwOnConflict:!1,commentDescriptions:!1,...t})};let r;return r=(null==t?void 0:t.commentDescriptions)?te(n,Ws):n,Ms(),r}function ko(e,t,n=[],r=new Set){if(e&&!r.has(e))if(r.add(e),"function"==typeof e)ko(e(),t,n,r);else if(Array.isArray(e))for(const s of e)ko(s,t,n,r);else if(Rt(e))ko(function(e,t={}){const n=t.pathToDirectivesInExtensions,r=e.getTypeMap(),s=function(e,t){var n,r;const s=new Map([["query",void 0],["mutation",void 0],["subscription",void 0]]),o=[];if(null!=e.astNode&&o.push(e.astNode),null!=e.extensionASTNodes)for(const t of e.extensionASTNodes)o.push(t);for(const e of o)if(e.operationTypes)for(const t of e.operationTypes)s.set(t.operation,t);const a=co(e);for(const[e,t]of s){const n=a.get(e);if(null!=n){const r=ro(n);null!=t?t.type=r:s.set(e,{kind:F.OPERATION_TYPE_DEFINITION,operation:e,type:r})}}const i=[...s.values()].filter(Mr),u=po(e,e,t);if(!i.length&&!u.length)return null;const c={kind:null!=i?F.SCHEMA_DEFINITION:F.SCHEMA_EXTENSION,operationTypes:i,directives:u};return c.description=(null!==(r=null===(n=e.astNode)||void 0===n?void 0:n.description)&&void 0!==r?r:null!=e.description)?{kind:F.STRING,value:e.description,block:!0}:void 0,c}(e,n),o=null!=s?[s]:[],a=e.getDirectives();for(const t of a)yt(t)||o.push(lo(t,e,n));for(const t in r){const s=r[t],a=ut(s),i=$t(s);if(!a&&!i)if(Se(s))o.push(mo(s,e,n));else if(ye(s))o.push(So(s,e,n));else if(ge(s))o.push(yo(s,e,n));else if(be(s))o.push(go(s,e,n));else if(ve(s))o.push(vo(s,e,n));else{if(!me(s))throw new Error(`Unknown type ${s}.`);o.push(bo(s,e,n))}}return{kind:F.DOCUMENT,definitions:o}}(e,t).definitions,t,n,r);else if("string"==typeof e||e instanceof an)ko(un(e,t).definitions,t,n,r);else if("object"==typeof e&&($n(o=e)||Rn(o)||jn(o)))n.push(e);else{if(!(s=e)||"object"!=typeof s||!("kind"in s)||s.kind!==F.DOCUMENT)throw new Error("typeDefs must contain only strings, documents, schemas, or functions, got "+typeof e);ko(e.definitions,t,n,r)}var s,o;return n}function Po(e,t){var n,r,s;Ms();const o=function(e,t){var n,r,s;const o={};for(const a of e)if("name"in a){const e=null===(n=a.name)||void 0===n?void 0:n.value;if((null==t?void 0:t.commentDescriptions)&&Bs(a),null==e)continue;if((null===(r=null==t?void 0:t.exclusions)||void 0===r?void 0:r.includes(e+".*"))||(null===(s=null==t?void 0:t.exclusions)||void 0===s?void 0:s.includes(e)))delete o[e];else switch(a.kind){case F.OBJECT_TYPE_DEFINITION:case F.OBJECT_TYPE_EXTENSION:o[e]=Is(a,o[e],t);break;case F.ENUM_TYPE_DEFINITION:case F.ENUM_TYPE_EXTENSION:o[e]=Os(a,o[e],t);break;case F.UNION_TYPE_DEFINITION:case F.UNION_TYPE_EXTENSION:o[e]=xs(a,o[e],t);break;case F.SCALAR_TYPE_DEFINITION:case F.SCALAR_TYPE_EXTENSION:o[e]=_s(a,o[e],t);break;case F.INPUT_OBJECT_TYPE_DEFINITION:case F.INPUT_OBJECT_TYPE_EXTENSION:o[e]=Cs(a,o[e],t);break;case F.INTERFACE_TYPE_DEFINITION:case F.INTERFACE_TYPE_EXTENSION:o[e]=Ds(a,o[e],t);break;case F.DIRECTIVE_DEFINITION:o[e]=vs(a,o[e])}}else a.kind!==F.SCHEMA_DEFINITION&&a.kind!==F.SCHEMA_EXTENSION||(o[Zs]=qs(a,o[Zs],t));return o}(ko(e,t),t);if(null==t?void 0:t.useSchemaDefinition){const e=o[Zs]||{kind:F.SCHEMA_DEFINITION,operationTypes:[]},t=e.operationTypes;for(const e in $s)if(!t.find((t=>t.operation===e))){const n=o[$s[e]];null!=n&&null!=n.name&&t.push({kind:F.OPERATION_TYPE_DEFINITION,type:{kind:F.NAMED_TYPE,name:n.name},operation:e})}null!=(null===(n=null==e?void 0:e.operationTypes)||void 0===n?void 0:n.length)&&e.operationTypes.length>0&&(o[Zs]=e)}(null==t?void 0:t.forceSchemaDefinition)&&!(null===(s=null===(r=o[Zs])||void 0===r?void 0:r.operationTypes)||void 0===s?void 0:s.length)&&(o[Zs]={kind:F.SCHEMA_DEFINITION,operationTypes:[{kind:F.OPERATION_TYPE_DEFINITION,operation:"query",type:{kind:F.NAMED_TYPE,name:{kind:F.NAME,value:"Query"}}}]});const a=Object.values(o);if(null==t?void 0:t.sort){const e="function"==typeof t.sort?t.sort:ms;a.sort(((t,n)=>{var r,s;return e(null===(r=t.name)||void 0===r?void 0:r.value,null===(s=n.name)||void 0===s?void 0:s.value)}))}return a}function Io(e,t=!1){const n=e[0]||{},r={};t&&Object.setPrototypeOf(r,Object.create(Object.getPrototypeOf(n)));for(const s of e)if(No(n)&&No(s)){if(t){const e=Object.getPrototypeOf(r),t=Object.getPrototypeOf(s);if(t)for(const n of Object.getOwnPropertyNames(t)){const r=Object.getOwnPropertyDescriptor(t,n);Mr(r)&&Object.defineProperty(e,n,r)}}for(const e in s)No(s[e])?e in r?r[e]=Io([r[e],s[e]],t):Object.assign(r,{[e]:s[e]}):Object.assign(r,{[e]:s[e]})}return r}function No(e){return e&&"object"==typeof e&&!Array.isArray(e)}function Oo(e,t){if(!e||Array.isArray(e)&&0===e.length)return{};if(!Array.isArray(e))return e;if(1===e.length)return e[0]||{};const n=new Array;for(let t of e)Array.isArray(t)&&(t=Oo(t)),"object"==typeof t&&t&&n.push(t);const r=Io(n,!0);if(null==t?void 0:t.exclusions)for(const e of t.exclusions){const[t,n]=e.split(".");n&&"*"!==n?r[t]&&delete r[t][n]:delete r[t]}return r}function _o(e,t){e&&(e.extensions=Io([e.extensions||{},t||{}]))}new Error("timeout while waiting for mutex to become available"),new Error("mutex already locked");const xo=new Error("request for lock canceled");class Co{constructor(e,t=xo){this._value=e,this._cancelError=t,this._weightedQueues=[],this._weightedWaiters=[]}acquire(e=1){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);return new Promise(((t,n)=>{this._weightedQueues[e-1]||(this._weightedQueues[e-1]=[]),this._weightedQueues[e-1].push({resolve:t,reject:n}),this._dispatch()}))}runExclusive(e,t=1){return n=this,r=void 0,o=function*(){const[n,r]=yield this.acquire(t);try{return yield e(n)}finally{r()}},new((s=void 0)||(s=Promise))((function(e,t){function a(e){try{u(o.next(e))}catch(e){t(e)}}function i(e){try{u(o.throw(e))}catch(e){t(e)}}function u(t){var n;t.done?e(t.value):(n=t.value,n instanceof s?n:new s((function(e){e(n)}))).then(a,i)}u((o=o.apply(n,r||[])).next())}));var n,r,s,o}waitForUnlock(e=1){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);return new Promise((t=>{this._weightedWaiters[e-1]||(this._weightedWaiters[e-1]=[]),this._weightedWaiters[e-1].push(t),this._dispatch()}))}isLocked(){return this._value<=0}getValue(){return this._value}setValue(e){this._value=e,this._dispatch()}release(e=1){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);this._value+=e,this._dispatch()}cancel(){this._weightedQueues.forEach((e=>e.forEach((e=>e.reject(this._cancelError))))),this._weightedQueues=[]}_dispatch(){var e;for(let t=this._value;t>0;t--){const n=null===(e=this._weightedQueues[t-1])||void 0===e?void 0:e.shift();if(!n)continue;const r=this._value,s=t;this._value-=t,t=this._value+1,n.resolve([r,this._newReleaser(s)])}this._drainUnlockWaiters()}_newReleaser(e){let t=!1;return()=>{t||(t=!0,this.release(e))}}_drainUnlockWaiters(){for(let e=this._value;e>0;e--)this._weightedWaiters[e-1]&&(this._weightedWaiters[e-1].forEach((e=>e())),this._weightedWaiters[e-1]=[])}}class Do{constructor(e){this._semaphore=new Co(1,e)}acquire(){return e=this,t=void 0,r=function*(){const[,e]=yield this._semaphore.acquire();return e},new((n=void 0)||(n=Promise))((function(s,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function i(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,i)}u((r=r.apply(e,t||[])).next())}));var e,t,n,r}runExclusive(e){return this._semaphore.runExclusive((()=>e()))}isLocked(){return this._semaphore.isLocked()}waitForUnlock(){return this._semaphore.waitForUnlock()}release(){this._semaphore.isLocked()&&this._semaphore.release()}cancel(){return this._semaphore.cancel()}}var $o=n(6495),Ro=n.n($o);function qo(e){return"function"==typeof(null==e?void 0:e.then)}class jo extends Error{constructor(e){super("Unexpected error value: "+f(e)),this.name="NonErrorThrown",this.thrownValue=e}}function Mo(e,t,n){var r;const s=(o=e)instanceof Error?o:new jo(o);var o,a;return a=s,Array.isArray(a.path)?s:new G(s.message,{nodes:null!==(r=s.nodes)&&void 0!==r?r:t,source:s.source,positions:s.positions,path:n,originalError:s})}const Bo=function(e){let t;return function(e,n,r){void 0===t&&(t=new WeakMap);let s=t.get(e);void 0===s&&(s=new WeakMap,t.set(e,s));let o=s.get(n);void 0===o&&(o=new WeakMap,s.set(n,o));let a=o.get(r);return void 0===a&&(u=n,c=r,a=function(e,t,n,r,s){const o=new Map,a=new Set;for(const i of s)i.selectionSet&&Sr(e,t,n,r,i.selectionSet,o,a);return o}((i=e).schema,i.fragments,i.variableValues,u,c),o.set(r,a)),a;var i,u,c}}();function Go(e){arguments.length<2||p(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");const{schema:t,document:n,variableValues:r,rootValue:s}=e;Fo(t,n,r);const o=Vo(e);if(!("schema"in o))return{errors:o};try{const{operation:e}=o,t=Uo(o,e,s);return qo(t)?t.then((e=>Lo(e,o.errors)),(e=>(o.errors.push(e),Lo(null,o.errors)))):Lo(t,o.errors)}catch(e){return o.errors.push(e),Lo(null,o.errors)}}function Lo(e,t){return 0===t.length?{data:e}:{errors:t,data:e}}function Fo(e,t,n){t||p(!1,"Must provide document."),Sn(e),null==n||S(n)||p(!1,"Variables must be provided as an Object where each property is a variable value. Perhaps look to see if an unparsed JSON string was provided.")}function Vo(e){var t,n;const{schema:r,document:s,rootValue:o,contextValue:a,variableValues:i,operationName:u,fieldResolver:c,typeResolver:d,subscribeFieldResolver:l}=e;let p;const h=Object.create(null);for(const e of s.definitions)switch(e.kind){case F.OPERATION_DEFINITION:if(null==u){if(void 0!==p)return[new G("Must provide operation name if query contains multiple operations.")];p=e}else(null===(t=e.name)||void 0===t?void 0:t.value)===u&&(p=e);break;case F.FRAGMENT_DEFINITION:h[e.name.value]=e}if(!p)return null!=u?[new G(`Unknown operation named "${u}".`)]:[new G("Must provide an operation.")];const m=function(e,t,n,r){const s=[],o=null==r?void 0:r.maxErrors;try{const r=function(e,t,n,r){const s={};for(const o of t){const t=o.variable.name.value,a=_n(e,o.type);if(!Te(a)){const e=se(o.type);r(new G(`Variable "$${t}" expected value of type "${e}" which cannot be used as an input type.`,{nodes:o.type}));continue}if(!hr(n,t)){if(o.defaultValue)s[t]=dr(o.defaultValue,a);else if(Ae(a)){const e=f(a);r(new G(`Variable "$${t}" of required type "${e}" was not provided.`,{nodes:o}))}continue}const i=n[t];if(null===i&&Ae(a)){const e=f(a);r(new G(`Variable "$${t}" of non-null type "${e}" must not be null.`,{nodes:o}))}else s[t]=ir(i,a,((e,n,s)=>{let a=`Variable "$${t}" got invalid value `+f(n);e.length>0&&(a+=` at "${t}${sr(e)}"`),r(new G(a+"; "+s.message,{nodes:o,originalError:s.originalError}))}))}return s}(e,t,n,(e=>{if(null!=o&&s.length>=o)throw new G("Too many errors processing variables, error limit reached. Execution aborted.");s.push(e)}));if(0===s.length)return{coerced:r}}catch(e){s.push(e)}return{errors:s}}(r,null!==(n=p.variableDefinitions)&&void 0!==n?n:[],null!=i?i:{},{maxErrors:50});return m.errors?m.errors:{schema:r,fragments:h,rootValue:o,contextValue:a,operation:p,variableValues:m.coerced,fieldResolver:null!=c?c:Qo,typeResolver:null!=d?d:Zo,subscribeFieldResolver:null!=l?l:Qo,errors:[]}}function Uo(e,t,n){const r=e.schema.getRootType(t.operation);if(null==r)throw new G(`Schema is not configured to execute ${t.operation} operation.`,{nodes:t});const s=mr(e.schema,e.fragments,e.variableValues,r,t.selectionSet),o=void 0;switch(t.operation){case T.QUERY:return Jo(e,r,n,o,s);case T.MUTATION:return function(e,t,n,r,s){return function(e,t,n){let r=Object.create(null);for(const n of e)r=qo(r)?r.then((e=>t(e,n))):t(r,n);return r}(s.entries(),((r,[s,o])=>{const a=or(undefined,s,t.name),i=Ho(e,t,n,o,a);return void 0===i?r:qo(i)?i.then((e=>(r[s]=e,r))):(r[s]=i,r)}))}(e,r,n,0,s);case T.SUBSCRIPTION:return Jo(e,r,n,o,s)}}function Jo(e,t,n,r,s){const o=Object.create(null);let a=!1;for(const[i,u]of s.entries()){const s=Ho(e,t,n,u,or(r,i,t.name));void 0!==s&&(o[i]=s,qo(s)&&(a=!0))}return a?(i=o,Promise.all(Object.values(i)).then((e=>{const t=Object.create(null);for(const[n,r]of Object.keys(i).entries())t[r]=e[n];return t}))):o;var i}function Ho(e,t,n,r,s){var o;const a=function(e,t,n){const r=n.name.value;return r===_t.name&&e.getQueryType()===t?_t:r===xt.name&&e.getQueryType()===t?xt:r===Ct.name?Ct:t.getFields()[r]}(e.schema,t,r[0]);if(!a)return;const i=a.type,u=null!==(o=a.resolve)&&void 0!==o?o:e.fieldResolver,c=function(e,t,n,r,s){return{fieldName:t.name,fieldNodes:n,returnType:t.type,parentType:r,path:s,schema:e.schema,fragments:e.fragments,rootValue:e.rootValue,operation:e.operation,variableValues:e.variableValues}}(e,a,r,t,s);try{const t=u(n,pr(a,r[0],e.variableValues),e.contextValue,c);let o;return o=qo(t)?t.then((t=>Wo(e,i,r,c,s,t))):Wo(e,i,r,c,s,t),qo(o)?o.then(void 0,(t=>Ko(Mo(t,r,ar(s)),i,e))):o}catch(t){return Ko(Mo(t,r,ar(s)),i,e)}}function Ko(e,t,n){if(Ae(t))throw e;return n.errors.push(e),null}function Wo(e,t,n,r,s,o){if(o instanceof Error)throw o;if(Ae(t)){const a=Wo(e,t.ofType,n,r,s,o);if(null===a)throw new Error(`Cannot return null for non-nullable field ${r.parentType.name}.${r.fieldName}.`);return a}return null==o?null:Ee(t)?function(e,t,n,r,s,o){if(!gt(o))throw new G(`Expected Iterable, but did not find one for field "${r.parentType.name}.${r.fieldName}".`);const a=t.ofType;let i=!1;const u=Array.from(o,((t,o)=>{const u=or(s,o,void 0);try{let s;return s=qo(t)?t.then((t=>Wo(e,a,n,r,u,t))):Wo(e,a,n,r,u,t),qo(s)?(i=!0,s.then(void 0,(t=>Ko(Mo(t,n,ar(u)),a,e)))):s}catch(t){return Ko(Mo(t,n,ar(u)),a,e)}}));return i?Promise.all(u):u}(e,t,n,r,s,o):ke(t)?function(e,t){const n=e.serialize(t);if(null==n)throw new Error(`Expected \`${f(e)}.serialize(${f(t)})\` to return non-nullable value, returned: ${f(n)}`);return n}(t,o):Ie(t)?function(e,t,n,r,s,o){var a;const i=null!==(a=t.resolveType)&&void 0!==a?a:e.typeResolver,u=e.contextValue,c=i(o,u,r,t);return qo(c)?c.then((a=>Yo(e,Xo(a,e,t,n,r,o),n,r,s,o))):Yo(e,Xo(c,e,t,n,r,o),n,r,s,o)}(e,t,n,r,s,o):Se(t)?Yo(e,t,n,r,s,o):void R(!1,"Cannot complete value of unexpected output type: "+f(t))}function Xo(e,t,n,r,s,o){if(null==e)throw new G(`Abstract type "${n.name}" must resolve to an Object type at runtime for field "${s.parentType.name}.${s.fieldName}". Either the "${n.name}" type should provide a "resolveType" function or each possible type should provide an "isTypeOf" function.`,r);if(Se(e))throw new G("Support for returning GraphQLObjectType from resolveType was removed in graphql-js@16.0.0 please return type name instead.");if("string"!=typeof e)throw new G(`Abstract type "${n.name}" must resolve to an Object type at runtime for field "${s.parentType.name}.${s.fieldName}" with value ${f(o)}, received "${f(e)}".`);const a=t.schema.getType(e);if(null==a)throw new G(`Abstract type "${n.name}" was resolved to a type "${e}" that does not exist inside the schema.`,{nodes:r});if(!Se(a))throw new G(`Abstract type "${n.name}" was resolved to a non-object type "${e}".`,{nodes:r});if(!t.schema.isSubType(n,a))throw new G(`Runtime Object type "${a.name}" is not a possible type for "${n.name}".`,{nodes:r});return a}function Yo(e,t,n,r,s,o){const a=Bo(e,t,n);if(t.isTypeOf){const i=t.isTypeOf(o,e.contextValue,r);if(qo(i))return i.then((r=>{if(!r)throw zo(t,o,n);return Jo(e,t,o,s,a)}));if(!i)throw zo(t,o,n)}return Jo(e,t,o,s,a)}function zo(e,t,n){return new G(`Expected value of type "${e.name}" but got: ${f(t)}.`,{nodes:n})}const Zo=function(e,t,n,r){if(S(e)&&"string"==typeof e.__typename)return e.__typename;const s=n.schema.getPossibleTypes(r),o=[];for(let r=0;r<s.length;r++){const a=s[r];if(a.isTypeOf){const s=a.isTypeOf(e,t,n);if(qo(s))o[r]=s;else if(s)return a.name}}return o.length?Promise.all(o).then((e=>{for(let t=0;t<e.length;t++)if(e[t])return s[t].name})):void 0},Qo=function(e,t,n,r){if(S(e)||"function"==typeof e){const s=e[r.fieldName];return"function"==typeof s?e[r.fieldName](t,n,r):s}};function ea(e){arguments.length<2||p(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");const{schema:t,source:n,rootValue:r,contextValue:s,variableValues:o,operationName:a,fieldResolver:i,typeResolver:u}=e,c=mn(t);if(c.length>0)return{errors:c};let d;try{d=un(n)}catch(e){return{errors:[e]}}const l=xr(t,d);return l.length>0?{errors:l}:Go({schema:t,document:d,rootValue:r,contextValue:s,variableValues:o,operationName:a,fieldResolver:i,typeResolver:u})}var ta=n(3288),na=n.n(ta);var ra=n(735),sa=n(9742),oa=(e,t,n)=>{if("number"!=typeof e)throw new Error("Argument "+n+" of "+t+" should be a number, not '"+e+"' ("+typeof e+")")};const aa=class{constructor(e,t){e=e||64,t=t||0,this.growMax=16384,this.length=t,this.byteArray=new Uint8Array(e)}byte(e){if(oa(e,"byte","n"),e>this.length-1)throw Error("Attempt to read byte "+e+" of ByteArray of length "+this.length);return this.byteArray[e]}bytes(e,t){if(oa(e,"bytes","n"),oa(t,"bytes","l"),e+t>this.length)throw Error("Attempt to read "+t+" bytes from start "+e+" of ByteArray of length "+this.length);return this.byteArray.subarray(e,e+t)}setByte(e,t){if(oa(e,"setByte","n"),oa(t,"setByte","v"),e>this.length-1)throw Error("Attempt to set byte "+e+" of ByteArray of length "+this.length);if("number"!=typeof t||t<0||t>255)throw Error("Expected value 0-255 when setting ByteArray, found "+t);this.byteArray[e]=t}setBytes(e,t){if(oa(e,"setBytes","n"),e+t.length>this.length)throw Error("Attempt to set "+t.length+" bytes from start "+e+" of ByteArray of length "+this.length);this.byteArray.set(t,e)}pushByte(e){if("number"!=typeof e||e<0||e>255)throw Error("Expected value 0-255 when pushing to ByteArray, found "+e);this.length===this.byteArray.length&&this.grow(),this.byteArray[this.length]=e,this.length++}grow(e){var t=new Uint8Array(Math.max(e||0,this.byteArray.length+Math.min(this.growMax,Math.max(16,this.byteArray.length))));t.set(this.byteArray),this.byteArray=t}trim(){var e=new Uint8Array(this.length);e.set(this.byteArray.subarray(0,this.length)),this.byteArray=e}pushBytes(e){for(var t of e)this.pushByte(t)}pushNByte(e){if(oa(e,"pushNByte","v"),"number"!=typeof e||e<0)throw Error("Expected positive number in pushNByte, found "+e);if(e<128)this.pushByte(e+128);else{var t=e%128;this.pushByte(t),this.pushNByte(e>>7)}}pushNBytes(e){for(var t of e)try{this.pushNByte(t)}catch(t){throw Error("Error from pushNByte, called as pushNBytes("+JSON.stringify(e)+")")}}nByte(e){if(oa(e,"nByte","n"),e>this.length-1)throw Error("Attempt to read nByte "+e+" of ByteArray of length "+this.length);var t=this.byteArray[e];return t>127?t-128:t+128*this.nByte(e+1)}nBytes(e,t){oa(e,"nBytes","n"),oa(t,"nBytes","nValues");for(var n=[];t>0;){var r=!1,s=0,o=1;do{if(e>this.length-1)throw Error("Attempt to read nByte "+e+" of ByteArray of length "+this.length+" in nBytes("+e+", "+t+")");var a=this.byteArray[e];a>127?(s+=(a-128)*o,n.push(s),s=0,r=!0):(s+=a*o,o*=128),e++}while(!r);t--}return n}nByteLength(e){if(oa(e,"nByteLength","v"),e>=128**4)throw new Error("> 4 bytes found in nByteLength");for(var t=1;e>127;)e>>=7,t+=1;return t}pushCountedString(e){var t=(0,ra.stringToUtf8ByteArray)(e);this.pushByte(t.length),this.pushBytes(t)}countedString(e){oa(e,"countedString","n");var t=this.byte(e);return(0,ra.utf8ByteArrayToString)(this.bytes(e+1,t))}clear(){this.byteArray.fill(0),this.length=0}base64(){return sa.fromByteArray(this.byteArray)}fromBase64(e){this.byteArray=sa.toByteArray(e),this.length=this.byteArray.length}deleteItem(e){oa(e,"deleteItem","n");var t=63&this.byte(e);if(this.length-=t,this.length>e){var n=this.byteArray.slice(e+t);this.byteArray.set(n,e)}}insert(e,t){oa(e,"insert","n");var n=t.length,r=this.length+n;if(r>=this.byteArray.length+n&&this.grow(r),e<r){var s=this.byteArray.slice(e,this.length);this.byteArray.set(s,e+n)}this.byteArray.set(t.byteArray.slice(0,t.length),e),this.length=r}};function ia(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ua(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ia(Object(n),!0).forEach((function(t){ca(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ia(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ca(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var da=[{code:"GEN",categories:["ot","pentateuch"]},{code:"EXO",categories:["ot","pentateuch"]},{code:"LEV",categories:["ot","pentateuch"]},{code:"NUM",categories:["ot","pentateuch"]},{code:"DEU",categories:["ot","pentateuch"]},{code:"JOS",categories:["ot","history"]},{code:"JDG",categories:["ot","history"]},{code:"RUT",categories:["ot","history"]},{code:"1SA",categories:["ot","history"]},{code:"2SA",categories:["ot","history"]},{code:"1KI",categories:["ot","history"]},{code:"2KI",categories:["ot","history"]},{code:"1CH",categories:["ot","history"]},{code:"2CH",categories:["ot","history"]},{code:"EZR",categories:["ot","history"]},{code:"NEH",categories:["ot","history"]},{code:"EST",categories:["ot","history"]},{code:"JOB",categories:["ot","wisdom"]},{code:"PSA",categories:["ot","wisdom"]},{code:"PRO",categories:["ot","wisdom"]},{code:"ECC",categories:["ot","wisdom"]},{code:"SNG",categories:["ot","wisdom"]},{code:"ISA",categories:["ot","prophecy"]},{code:"JER",categories:["ot","prophecy"]},{code:"LAM",categories:["ot","prophecy"]},{code:"EZK",categories:["ot","prophecy"]},{code:"DAN",categories:["ot","prophecy"]},{code:"HOS",categories:["ot","prophecy"]},{code:"JOL",categories:["ot","prophecy"]},{code:"AMO",categories:["ot","prophecy"]},{code:"OBA",categories:["ot","prophecy"]},{code:"JON",categories:["ot","prophecy"]},{code:"MIC",categories:["ot","prophecy"]},{code:"NAM",categories:["ot","prophecy"]},{code:"HAB",categories:["ot","prophecy"]},{code:"ZEP",categories:["ot","prophecy"]},{code:"HAG",categories:["ot","prophecy"]},{code:"ZEC",categories:["ot","prophecy"]},{code:"MAL",categories:["ot","prophecy"]},{code:"MAT",categories:["nt","gospel","synoptic"]},{code:"MRK",categories:["nt","gospel","synoptic"]},{code:"LUK",categories:["nt","gospel","synoptic"]},{code:"JHN",categories:["nt","gospel"]},{code:"ACT",categories:["nt","gospel"]},{code:"ROM",categories:["nt","epistle"]},{code:"1CO",categories:["nt","epistle"]},{code:"2CO",categories:["nt","epistle"]},{code:"GAL",categories:["nt","epistle"]},{code:"EPH",categories:["nt","epistle"]},{code:"PHP",categories:["nt","epistle"]},{code:"COL",categories:["nt","epistle"]},{code:"1TH",categories:["nt","epistle"]},{code:"2TH",categories:["nt","epistle"]},{code:"1TI",categories:["nt","epistle"]},{code:"2TI",categories:["nt","epistle"]},{code:"TIT",categories:["nt","epistle"]},{code:"PHM",categories:["nt","epistle"]},{code:"HEB",categories:["nt","epistle"]},{code:"JAS",categories:["nt","epistle"]},{code:"1PE",categories:["nt","epistle"]},{code:"2PE",categories:["nt","epistle"]},{code:"1JN",categories:["nt","epistle"]},{code:"2JN",categories:["nt","epistle"]},{code:"3JN",categories:["nt","epistle"]},{code:"JUD",categories:["nt","epistle"]},{code:"REV",categories:["nt","epistle"]},{code:"TOB",categories:["dc"]},{code:"JDT",categories:["dc"]},{code:"ESG",categories:["dc","history"]},{code:"WIS",categories:["dc","wisdom"]},{code:"SIR",categories:["dc","wisdom"]},{code:"BAR",categories:["dc","prophecy"]},{code:"LJE",categories:["dc"]},{code:"S3Y",categories:["dc"]},{code:"SUS",categories:["dc"]},{code:"BEL",categories:["dc"]},{code:"1MA",categories:["dc"]},{code:"2MA",categories:["dc"]},{code:"3MA",categories:["dc"]},{code:"4MA",categories:["dc"]},{code:"1ES",categories:["dc"]},{code:"2ES",categories:["dc"]},{code:"MAN",categories:["dc"]},{code:"PS2",categories:["dc"]},{code:"ODA",categories:["dc"]},{code:"PSS",categories:["dc"]},{code:"JSA",categories:["dc"]},{code:"JDB",categories:["dc"]},{code:"TBS",categories:["dc"]},{code:"SST",categories:["dc"]},{code:"DNT",categories:["dc"]},{code:"BLT",categories:["dc"]},{code:"EZA",categories:["dc"]},{code:"5EZ",categories:["dc"]},{code:"6EZ",categories:["dc"]},{code:"DAG",categories:["dc"]},{code:"PS3",categories:["dc"]},{code:"2BA",categories:["dc"]},{code:"LBA",categories:["dc"]},{code:"JUB",categories:["dc"]},{code:"ENO",categories:["dc"]},{code:"1MQ",categories:["dc"]},{code:"2MQ",categories:["dc"]},{code:"3MQ",categories:["dc"]},{code:"REP",categories:["dc"]},{code:"4BA",categories:["dc"]},{code:"LAO",categories:["dc"]}],la={};for(var pa of da.entries())la[pa[1].code]=ua({},pa[1],{position:pa[0]});const fa={ptBooks:la,ptBookArray:da};var ha=(e,t)=>{for(var n=0,r=0;n<e.length;){var s=e.byte(n);if(e.countedString(n)===t)return r;n+=s+1,r+=1}return-1},ma=(e,t)=>{for(var n=0,r=0,s=[];n<e.length;){var o=e.byte(n),a=e.countedString(n);l.default.exec(a,(0,l.default)(t,"i"))&&s.push([r,a]),n+=o+1,r+=1}return s};const Sa=e;var ya=n(3815),ga=n.n(ya),va=n(706),ba=n.n(va),Ea=()=>ba()(new(ga())(4)).substring(0,12);const Aa={graftLocation:{heading:"block",title:"block",endTitle:"block",remark:"block",footnote:"inline",xref:"inline",noteCaller:"inline",esbCat:"inline",table:"block",tree:"block",kv:"block"}};var Ta={wordLike:0,punctuation:1,lineSpace:2,eol:3,softLineBreak:4,noBreakSpace:5,bareSlash:6,unknown:7},wa=Object.entries(Ta).sort(((e,t)=>e[1]-t[1])).map((e=>e[0])),ka={wordLike:"wordLike",punctuation:"notWordLike",lineSpace:"notWordLike",eol:"notWordLike",softLineBreak:"notWordLike",noBreakSpace:"notWordLike",bareSlash:"notWordLike",unknown:"notWordLike"};const Pa=t;var Ia={blockTag:0,inline:1,chapter:2,pubChapter:3,altChapter:4,verses:5,verse:6,pubVerse:7,altVerse:8,esbCat:9,span:10,table:11,cell:12,milestone:13,spanWithAtts:14,attribute:15,hangingGraft:16,orphanTokens:17,tTableRow:18,tTableCol:19,tTreeNode:20,tTreeParent:21,tTreeChild:22,tTreeContent:23,kvPrimary:24,kvSecondary:25,kvField:26},Na=Object.entries(Ia).sort(((e,t)=>e[1]-t[1])).map((e=>e[0])),Oa=(e,t)=>{switch(e){case"blockTag":return"blockTag/"+t[0];case"inline":return"inline/"+t[0];case"chapter":return"chapter/"+t[0];case"verses":return"verses/"+t[0];case"verse":return"verse/"+t[0];case"span":return"span/"+t[0];case"table":return"table";case"cell":return(e=>{var t={th:{type:"colHeading",align:"left"},thr:{type:"colHeading",align:"right"},tc:{type:"body",align:"left"},tcr:{type:"body",align:"right"}},[n,r]=(e=>{var t=l.default.exec(e,(0,l.default)("([^1-9]+)(.*)"));return[t[1],t[2].length>0?t[2]:"1"]})(e),s="1";if(r.includes("-")){var[o,a]=r.split("-");s=""+(parseInt(a)-parseInt(o)+1)}return"cell/"+t[n].type+"/"+t[n].align+"/"+s})(t[0]);case"milestone":return"milestone/"+t[0];case"spanWithAtts":return"spanWithAtts/"+t[0];case"attribute":return"attribute/"+t[0]+"/"+t[1]+"/"+t[2]+"/"+t[3];case"orphanTokens":return"orphanTokens";case"hangingGraft":return"hangingGraft";case"pubChapter":return"pubChapter/"+t[0];case"pubVerse":return"pubVerse/"+t[0];case"altChapter":return"altChapter/"+t[0];case"altVerse":return"altVerse/"+t[0];case"esbCat":return"esbCat/"+t[0];case"tTableRow":return"tTableRow/"+t[0];case"tTableCol":return"tTableCol/"+t[0];case"tTreeNode":return"tTreeNode/"+t[0];case"tTreeParent":return"tTreeParent/"+t[0];case"tTreeChild":return"tTreeChild/"+t[0]+"/"+t[1];case"tTreeContent":return"tTreeContent/"+t[0];case"kvPrimary":return"kvPrimary/"+t[0];case"kvSecondary":return"kvSecondary/"+t[0]+"/"+t[1];case"kvField":return"kvField/"+t[0];default:throw new Error("Unknown scope type '"+e+"' in labelForScope")}},_a=e=>{switch(e){case"orphanTokens":case"hangingGraft":case"table":return 1;case"blockTag":case"inline":case"chapter":case"verses":case"verse":case"span":case"milestone":case"spanWithAtts":case"pubChapter":case"altChapter":case"pubVerse":case"altVerse":case"esbCat":case"tTableRow":case"tTableCol":case"tTreeNode":case"tTreeParent":case"tTreeContent":case"kvPrimary":case"kvField":return 2;case"tTreeChild":case"kvSecondary":return 3;case"cell":return 4;case"attribute":return 6;default:throw new Error("Unknown scope type '"+e+"' in nComponentsForScope")}};const xa=s;var Ca={token:0,graft:1,startScope:2,endScope:3},Da=Object.entries(Ca).sort(((e,t)=>e[1]-t[1])).map((e=>e[0])),$a=e=>({type:e[0],subType:e[1],payload:e[2]}),Ra=e=>[e.type,e.subType,e.payload],qa=e=>e.map((e=>$a(e))),ja=e=>e.map((e=>Ra(e)));const Ma=o;var Ba=(e,t)=>{var n=e.byte(t);return[63&n,n>>6,e.byte(t+1)]},Ga=(e,t,n,r,s)=>{var o=Pa.tokenCategory[Pa.tokenEnumLabels[r]],a=t[o][n.nByte(s+2)];return e[o].countedString(a)},La=(e,t,n,r,s)=>{for(var o=xa.scopeEnumLabels[r],a=xa.nComponentsForScope(o),i=2,u="";a>1;){var c=n.nByte(s+i),d=t.scopeBits[c];u+="/"+e.scopeBits.countedString(d),i+=n.nByteLength(c),a--}return""+o+u},Fa=(e,t,n)=>{var r=t.graftTypes[n];return e.graftTypes.countedString(r)},Va=(e,t,n,r)=>{var s=t.ids[n.nByte(r+2)];return e.ids.countedString(s)},Ua=e=>{var t={};for(var[n,r]of Object.entries(e))t[n]=Ja(n,r);return t},Ja=(e,t)=>{for(var n=new Uint32Array(t.length),r=0,s=0;r<t.length;)n[s]=r,r+=t.byte(r)+1,s+=1;return n},Ha=(e,t)=>{t||(t=!1);for(var n=0,r=0,s=[];n<e.length;){var o=e.byte(n),a=e.countedString(n);s.push(t?[r,a]:a),n+=o+1,r++}return s},Ka=(e,t)=>{throw new Error("Undefined or null argument '"+t+"' in '"+e+"'")},Wa=(e,t,n)=>{null==t&&Ka("pushSuccinctTokenBytes","tokenEnumIndex"),null==n&&Ka("pushSuccinctTokenBytes","charsEnumIndex");var r=e.length;e.pushByte(0),e.pushByte(t),e.pushNByte(n),e.setByte(r,e.length-r|Ma.itemEnum.token<<6)},Xa=(e,t,n)=>{null==t&&Ka("pushSuccinctGraftBytes","graftTypeEnumIndex"),null==n&&Ka("pushSuccinctGraftBytes","seqEnumIndex");var r=e.length;e.pushByte(0),e.pushByte(t),e.pushNByte(n),e.setByte(r,e.length-r|Ma.itemEnum.graft<<6)},Ya=(e,t,n,r)=>{null==t&&Ka("pushSuccinctScopeBytes","itemTypeByte"),null==n&&Ka("pushSuccinctScopeBytes","scopeTypeByte"),null==r&&Ka("pushSuccinctScopeBytes","scopeBitBytes");var s=e.length;for(var o of(e.pushByte(0),e.pushByte(n),r))e.pushNByte(o);e.setByte(s,e.length-s|t<<6)};const za=a;var Za={inspectEnum:e=>{var t=new aa;t.fromBase64(e);var n=[];for(var[r,s]of(n.push("* Char length "+t.length+" *"),za.unpackEnum(t,!0)))n.push(r+'\t"'+s+'"');return n.join("\n")},inspectSuccinct:(e,t)=>{var n=new aa;n.fromBase64(e);var r={};for(var[s,o]of Object.entries(t))r[s]=new aa,r[s].fromBase64(o);var a=za.enumIndexes(r),i=[];i.push("* Char length "+n.length+" *");for(var u=0;u<n.length;){var[c,d,l]=za.headerBytes(n,u),p=l,f="";switch(Ma.itemEnumLabels[d]){case"token":p=Pa.tokenEnumLabels[l],f='"'+za.succinctTokenChars(r,a,n,l,u)+'"';break;case"startScope":case"endScope":p=xa.scopeEnumLabels[l],f=za.succinctScopeLabel(r,a,n,l,u);break;case"graft":p=za.succinctGraftName(r,a,l),f=za.succinctGraftSeqId(r,a,n,u)}i.push(Ma.itemEnumLabels[d]+"\t"+p+"\t("+c+")\t"+f),u+=c}return i.join("\n")}};const Qa=Za,ei={usfm:{baseSequenceTypes:{main:"1",introduction:"*",introTitle:"?",introEndTitle:"?",title:"?",endTitle:"?",heading:"*",header:"*",remark:"*",sidebar:"*",table:"*",tree:"*",kv:"*"},inlineSequenceTypes:{footnote:"*",noteCaller:"*",xref:"*",pubNumber:"*",altNumber:"*",esbCat:"*",fig:"*",temp:"?"}}},ti={serializedSchema:JSON.parse('{"title":"Root","type":"object","description":"Root Element","definitions":{"base64String":{"type":"string","pattern":"^[A-Za-z0-9/+=]*$"},"tagString":{"type":"string","pattern":"^[a-z][a-z0-9]*(:.+)?$"}},"properties":{"id":{"type":"string"},"metadata":{"type":"object","properties":{"selectors":{"type":"object","additionalProperties":{"type":"string"}}},"required":["selectors"],"additionalProperties":false},"tags":{"type":"array","items":{"type":"string","$ref":"#/definitions/tagString"}},"enums":{"type":"object","properties":{"ids":{"$ref":"#/definitions/base64String"},"wordLike":{"$ref":"#/definitions/base64String"},"notWordLike":{"$ref":"#/definitions/base64String"},"scopeBits":{"$ref":"#/definitions/base64String"},"graftTypes":{"$ref":"#/definitions/base64String"}},"required":["ids","wordLike","notWordLike","scopeBits","graftTypes"],"additionalProperties":false},"docs":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"sequences":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string"},"blocks":{"type":"array","items":{"type":"object","properties":{"bs":{"type":"string"},"bg":{"type":"string"},"c":{"type":"string"},"is":{"type":"string"},"os":{"type":"string"},"nt":{"type":"string"}},"required":["bs","bg","c","is","os","nt"],"additionalProperties":false}},"tags":{"type":"array","items":{"type":"string","$ref":"#/definitions/tagString"}},"chapters":{"type":"object","additionalProperties":{"type":"string"}},"chapterVerses":{"type":"object","additionalProperties":{"type":"string"}},"tokensPresent":{"type":"string"}},"required":["blocks","tags"],"additionalProperties":false},"additionalItems":false},"headers":{"type":"object","additionalProperties":{"type":"string"}},"mainId":{"type":"string"},"tags":{"type":"array","items":{"type":"string","$ref":"#/definitions/tagString"}}},"required":["sequences","headers","mainId","tags"],"additionalProperties":false}},"additionalProperties":false},"required":["id","enums","docs","tags"],"additionalProperties":false}')};var ni=e=>{for(var t of e)ri(t)},ri=e=>{if(!l.default.exec(e,/^[a-z][A-za-z0-9]*(:.+)?$/))throw new Error("Tag '"+e+"' is not valid (should be [a-z][A-za-z0-9]*(:.+)?)")},si=(e,t)=>{ri(t),e.add(t)},oi=(e,t)=>{ri(t),e.delete(t)};const ai=i;var ii=["GEN","EXO","LEV","NUM","DEU","JOS","JDG","RUT","1SA","2SA","1KI","2KI","1CH","2CH","EZR","NEH","EST","JOB","PSA","PRO","ECC","SNG","ISA","JER","LAM","EZK","DAN","HOS","JOL","AMO","OBA","JON","MIC","NAM","HAB","ZEP","HAG","ZEC","MAL","MAT","MRK","LUK","JHN","ACT","ROM","1CO","2CO","GAL","EPH","PHP","COL","1TH","2TH","1TI","2TI","TIT","PHM","HEB","JAS","1PE","2PE","1JN","2JN","3JN","JUD","REV","TOB","JDT","ESG","WIS","SIR","BAR","LJE","S3Y","SUS","BEL","1MA","2MA","3MA","4MA","1ES","2ES","MAN","PS2","ODA","PSS","JSA","JDB","TBS","SST","DNT","BLT","EZA","5EZ","6EZ","DAG","PS3","2BA","LBA","JUB","ENO","1MQ","2MQ","3MQ","REP","4BA","LAO"],ui=()=>{var e={};for(var[t,n]of Object.entries(ii))e[n]=parseInt(t);return e},ci=e=>{var t={};for(var n of e.split(/[\n\r]+/).map((e=>e.trim())).map((e=>l.default.exec(e,(0,l.default)("^([A-Z1-6]{3} [0-9]+:[0-9]+(-[0-9]+)?) = ([A-Z1-6]{3} [0-9]+:[0-9]+[a-z]?(-[0-9]+)?)$")))))n&&(n[1]in t||(t[n[1]]=[]),t[n[1]].push(n[3]));return{mappedVerses:t}},di=e=>{var t={};for(var[n,r]of Object.entries(e.mappedVerses))for(var s of r)s in t?t[s].push(n):t[s]=[n];return{reverseMappedVerses:t}},li=e=>{var t={};for(var[n,r]of Object.entries(e)){"string"==typeof r&&(r=[r]);var[s,o]=n.split(" "),a=r[0].split(" ")[0],i=a===s?["cv"]:["bcv"],[u,c]=o.split(":"),d=c;if(c.includes("-")){var l=c.split("-");c=l[0],d=l[1]}for(var p of(i.push([parseInt(c),parseInt(d)]),i.push([]),r.map((e=>e.split(" ")[1])))){var[f,h]=p.split(":"),m=h;if(h.includes("-")){var S=h.split("-");h=S[0],m=S[1]}"cv"===i[0]?i[2].push([parseInt(f),parseInt(h),parseInt(m)]):i[2].push([parseInt(f),parseInt(h),parseInt(m),a])}s in t||(t[s]={}),u in t[s]||(t[s][u]=[]),t[s][u].push(i)}return t},pi=e=>{var t={},n=ui();for(var[r,s]of Object.entries(li(e)))for(var[o,a]of(t[r]={},Object.entries(s)))t[r][o]=fi(a,n);return t},fi=(e,t)=>{var n=(e,t)=>t+64*e,r=new aa(64);for(var[s,[o,a],i]of e){var u=r.length,c="bcv"===s?3:2;if(r.pushNBytes([0,o,a]),3===c){var d=t[i[0][3]];r.pushNByte(d)}for(var[l,p]of(r.pushNByte(i.length),i))r.pushNBytes([l,p]);var f=r.length-u;if(f>63)throw new Error("Mapping in succinctifyVerseMapping "+JSON.stringify(i)+" is too long ("+f+" bytes)");r.setByte(u,n(c,f))}return r.trim(),r},hi=(e,t)=>{var n=e.byte(t);return[n>>6,n%64]},mi=(e,t,n)=>{for(var r=[],s=0;s<e.length;){var o=s,a={},[i,u]=hi(e,s);if(o++,a.fromVerseStart=e.nByte(o),o+=e.nByteLength(a.fromVerseStart),a.fromVerseEnd=e.nByte(o),o+=e.nByteLength(a.fromVerseEnd),a.bookCode=t,3===i){var c=e.nByte(o);a.bookCode=ii[c],o+=e.nByteLength(c)}var d=e.nByte(o);o+=e.nByteLength(d);for(var l=[];l.length<d;){var p={};p.ch=e.nByte(o),o+=e.nByteLength(p.ch),p.verseStart=e.nByte(o),o+=e.nByteLength(p.verseStart),l.push(p)}a.mapping=l,r.push(a),s+=u}return r},Si=(e,t,n,r)=>{for(var s=null,o=0;o<e.length;){var a=o,[i,u]=hi(e,o);a++;var c=e.nByte(a);a+=e.nByteLength(c);var d=e.nByte(a);if(a+=e.nByteLength(d),!(r<c||r>d)){var l=t;if(3===i){var p=e.nByte(a);l=ii[p],a+=e.nByteLength(p)}s=[l,[]];var f=e.nByte(a);for(a+=e.nByteLength(f);s[1].length<f;){var h=e.nByte(a);a+=e.nByteLength(h);var m=e.nByte(a);a+=e.nByteLength(m),s[1].push([h,r-c+m])}break}o+=u}return s||[t,[[n,r]]]};const yi=u,gi=c;var vi=(e,t)=>{if("object"!=typeof t)throw new Error("DocSet constructor expects selectors to be object, found "+typeof e.selectors);var n={};for(var r of e.processor.selectors)n[r.name]=r;for(var[s,o]of Object.entries(t)){if(!(s in n))throw new Error("Unexpected selector '"+s+"' (expected one of ["+Object.keys(n).join(", ")+"])");if("string"==typeof o&&"string"!==n[s].type||"number"==typeof o&&"integer"!==n[s].type)throw new Error("Selector '"+s+"' is of type "+typeof o+" (expected "+n[s].type+")");if("number"==typeof o){if(!Number.isInteger(o))throw new Error("Value '"+o+"' of integer selector '"+s+"' is not an integer");if("min"in n[s]&&o<n[s].min)throw new Error("Value '"+o+"' is less than "+n[s].min);if("max"in n[s]&&o>n[s].max)throw new Error("Value '"+o+"' is greater than "+n[s].max)}else if("regex"in n[s]&&!l.default.exec(o,(0,l.default)(n[s].regex),0))throw new Error("Value '"+o+"' does not match regex '"+n[s].regex+"'");if("enum"in n[s]&&!n[s].enum.includes(o))throw new Error("Value '"+o+"' of selector '"+s+"' is not in enum")}for(var a of Object.keys(n))if(!(a in t))throw new Error("Expected selector '"+a+"' not found");return t},bi=n(5108),Ei=(e,t)=>{for(var n=new Map,r=0,s=0;r<t.length;)n.set(t.countedString(r),{enum:s++,frequency:0}),r+=t.byte(r)+1;return n},Ai=gi.ByteArray,{pushSuccinctGraftBytes:Ti,pushSuccinctScopeBytes:wi,pushSuccinctTokenBytes:ki}=gi.succinct,{itemEnum:Pi}=gi.itemDefs,{scopeEnum:Ii}=gi.scopeDefs,{tokenCategory:Ni,tokenEnum:Oi}=gi.tokenDefs,_i=(e,t,n,r,s,o)=>{var a,i=e.processor.documents[t];if(!i)throw new Error("Document '"+t+"' not found");if(n){if(!(a=i.sequences[n]))throw new Error("Sequence '"+n+"' not found")}else a=i.sequences[i.mainId];if(a.blocks.length<=r)throw new Error("Could not find block "+r+" (length="+a.blocks.length+")");var u=a.blocks[r],c=new Ai(o.length);e.maybeBuildPreEnums();var d=0;r<0&&(d=a.blocks[r-1].nt.nByte(0));var l,p,f,h,m,S=null;for(var y of o)switch(y.type){case"token":l=e.enumForCategoryValue(Ni[y.subType],y.payload,!0),ki(c,Oi[y.subType],l),d++;break;case"graft":p=e.enumForCategoryValue("graftTypes",y.subType,!0),f=e.enumForCategoryValue("ids",y.payload,!0),Ti(c,p,f);break;case"scope":if(h=y.payload.split("/"),!(m=Ii[h[0]])&&0!==m)throw new Error('"'+h[0]+'" is not a scope type');S=h.slice(1).map((t=>e.enumForCategoryValue("scopeBits",t,!0))),wi(c,Pi[y.subType+"Scope"],m,S)}return c.trim(),u[s]=c,"c"===s&&(u.nt.clear(),u.nt.pushNByte(d)),!0},xi=(e,t,n,r,s)=>_i(e,t,n,r,"bg",s),Ci=gi.ByteArray,{addTag:Di,removeTag:$i,validateTags:Ri}=gi.tags,{succinctGraftName:qi,succinctGraftSeqId:ji,succinctScopeLabel:Mi,succinctTokenChars:Bi,headerBytes:Gi,enumIndex:Li,enumIndexes:Fi}=gi.succinct,{itemEnum:Vi}=gi.itemDefs,{tokenEnumLabels:Ui}=gi.tokenDefs;class Ji{constructor(e,t,n,r){this.processor=e,this.preEnums={},this.enumIndexes={},this.docIds=[],r?this.fromSuccinct(e,r):this.fromScratch(e,t,n),Ri(this.tags)}fromScratch(e,t,n){var r=t||e.selectors;this.selectors=vi(this,r),this.id=this.selectorString(),this.tags=new Set(n||[]),this.enums={ids:new Ci(512),wordLike:new Ci(8192),notWordLike:new Ci(256),scopeBits:new Ci(256),graftTypes:new Ci(10)}}fromSuccinct(e,t){var n=e=>{var t=new Ci(256);return t.fromBase64(e),t.trim(),t};this.id=t.id,this.selectors=vi(this,t.metadata.selectors),this.tags=new Set(t.tags),Ri(this.tags),this.preEnums={},this.enums={ids:n(t.enums.ids),wordLike:n(t.enums.wordLike),notWordLike:n(t.enums.notWordLike),scopeBits:n(t.enums.scopeBits),graftTypes:n(t.enums.graftTypes)},this.enumIndexes={},this.docIds=[]}addTag(e){Di(this.tags,e)}removeTag(e){$i(this.tags,e)}selectorString(){return this.processor.selectorString(this.selectors)}documents(){return this.docIds.map((e=>this.processor.documents[e]))}documentWithBook(e){var t=Object.values(this.documents()).filter((t=>"bookCode"in t.headers&&t.headers.bookCode===e));return 1===t.length?t[0]:null}maybeBuildPreEnums(){0===Object.keys(this.preEnums).length&&this.buildPreEnums()}buildPreEnums(){for(var[e,t]of Object.entries(this.enums))this.preEnums[e]=Ei(0,t)}recordPreEnum(e,t){((e,t,n)=>{if(!(t in e.preEnums))throw new Error("Unknown category "+t+" in recordPreEnum. Maybe call buildPreEnums()?");n.length>255&&bi.log("Value length of",n.length,"in recordPreEnum"),e.preEnums[t].has(n)?e.preEnums[t].get(n).frequency++:e.preEnums[t].set(n,{enum:e.preEnums[t].size,frequency:1})})(this,e,t)}sortPreEnums(){for(var e of Object.keys(this.preEnums)){this.preEnums[e]=new Map([...this.preEnums[e].entries()].sort(((e,t)=>t[1].frequency-e[1].frequency)));var t=0;for(var[n,r]of this.preEnums[e])r.enum=t++}}enumForCategoryValue(e,t,n){return((e,t,n,r)=>{if(r||(r=!1),!(t in e.preEnums))throw new Error("Unknown category "+t+" in preEnums. Maybe call buildPreEnums()?");if(e.preEnums[t].has(n))return e.preEnums[t].get(n).enum;if(r)return e.preEnums[t].set(n,{enum:e.preEnums[t].size,frequency:1}),e.enums[t].pushCountedString(n),e.buildEnumIndex(t),e.preEnums[t].get(n).enum;throw new Error("Unknown value '"+n+"' for category "+t+" in enumForCategoryValue. Maybe call buildPreEnums()?")})(this,e,t,n)}buildEnums(){for(var[e,t]of Object.entries(this.preEnums))this.enums[e].clear(),this.buildEnum(e,t)}buildEnum(e,t){((e,t,n)=>{var r=new Map([...n.entries()]);for(var s of r.keys())s.length>255&&bi.log("enum text for",t,"has length",s.length,"in buildEnum - truncating"),e.enums[t].pushCountedString(s.substring(0,255));e.enums[t].trim()})(this,e,t)}maybeBuildEnumIndexes(){0===Object.keys(this.enumIndexes).length&&this.buildEnumIndexes()}buildEnumIndexes(){this.enumIndexes=Fi(this.enums)}buildEnumIndex(e){this.enumIndexes[e]=Li(e,this.enums[e])}unsuccinctifyBlock(e,t){return((e,t,n)=>{e.maybeBuildEnumIndexes();var r=t.bs,[s,o,a]=gi.succinct.headerBytes(r,0),i=e.unsuccinctifyScope(r,o,a,0),u=e.unsuccinctifyGrafts(t.bg),c=e.unsuccinctifyScopes(t.os),d=e.unsuccinctifyScopes(t.is),l=t.nt.nByte(0);return{bs:i,bg:u,c:e.unsuccinctifyItems(t.c,n||{},l),os:c,is:d,nt:l}})(this,e,t)}unsuccinctifyItems(e,t,n,r){return((e,t,n,r,s)=>{if(void 0===r)throw new Error("nextToken (previously includeContext) must now be provided to unsuccinctifyItems");if(null!==r&&"number"!=typeof r)throw new Error("nextToken (previously includeContext) must be null or an integer, not "+typeof r+" '"+JSON.stringify(r)+"' in unsuccinctifyItems");for(var o=[],a=0,i=r||0,u=new Set(s||[]);a<t.length;){var[c,d]=e.unsuccinctifyItem(t,a,{});"token"===c[0]?(0===Object.keys(n).length||n.tokens)&&(null!==r&&(c.push("token"===c[0]&&"wordLike"===c[1]?i++:null),c.push([...u])),o.push(c)):"scope"===c[0]&&"start"===c[1]?(u.add(c[2]),(0===Object.keys(n).length||n.scopes)&&o.push(c)):"scope"===c[0]&&"end"===c[1]?(u.delete(c[2]),(0===Object.keys(n).length||n.scopes)&&o.push(c)):"graft"===c[0]&&(0===Object.keys(n).length||n.grafts)&&o.push(c),a+=d}return o})(this,e,t,n,r)}unsuccinctifyItem(e,t,n){return((e,t,n,r)=>{var s=null,[o,a,i]=gi.succinct.headerBytes(t,n);switch(a){case gi.itemDefs.itemEnum.token:(0===Object.keys(r).length||r.tokens)&&(s=e.unsuccinctifyToken(t,i,n));break;case gi.itemDefs.itemEnum.startScope:case gi.itemDefs.itemEnum.endScope:(0===Object.keys(r).length||r.scopes)&&(s=e.unsuccinctifyScope(t,a,i,n));break;case gi.itemDefs.itemEnum.graft:(0===Object.keys(r).length||r.grafts)&&(s=e.unsuccinctifyGraft(t,i,n))}return[s,o]})(this,e,t,n)}unsuccinctifyPrunedItems(e,t){return((e,t,n)=>{var r=new Set(e.unsuccinctifyScopes(t.os).map((e=>e[2]))),s=n.requiredScopes||[],o=n.anyScope?()=>{for(var e of s)if(r.has(e))return!0;return 0===s.length}:()=>{for(var e of s)if(!r.has(e))return!1;return!0},a=e=>!n.withChars||0===n.withChars.length||"token"===e[0]&&n.withChars.includes(e[2]),i=[];for(var u of e.unsuccinctifyItems(t.c,n,t.nt.nByte(0),r))"scope"===u[0]&&"start"===u[1]&&r.add(u[2]),o()&&a(u)&&i.push(u),"scope"===u[0]&&"end"===u[1]&&r.delete(u[2]);return i})(this,e,t)}unsuccinctifyScopes(e){for(var t=[],n=0;n<e.length;){var[r,s,o]=Gi(e,n);t.push(this.unsuccinctifyScope(e,s,o,n)),n+=r}return t}unsuccinctifyGrafts(e){for(var t=[],n=0;n<e.length;){var[r,s,o]=Gi(e,n);t.push(this.unsuccinctifyGraft(e,o,n)),n+=r}return t}unsuccinctifyToken(e,t,n){try{return["token",Ui[t],this.succinctTokenChars(e,t,n)]}catch(e){throw new Error("Error from unsuccinctifyToken: "+e)}}unsuccinctifyScope(e,t,n,r){try{return["scope",t===Vi.startScope?"start":"end",this.succinctScopeLabel(e,n,r)]}catch(e){throw new Error("Error from unsuccinctifyScope: "+e)}}unsuccinctifyGraft(e,t,n){try{return["graft",this.succinctGraftName(t),this.succinctGraftSeqId(e,n)]}catch(e){throw new Error("Error from unsuccinctifyGraft: "+e)}}unsuccinctifyBlockScopeLabelsSet(e){var[t,n,r]=Gi(e.bs,0),s=this.unsuccinctifyScope(e.bs,n,r,0);return new Set(this.unsuccinctifyScopes(e.os).concat(this.unsuccinctifyScopes(e.is)).concat([s]).map((e=>e[2])))}unsuccinctifyItemsWithScriptureCV(e,t,n){return((e,t,n,r)=>{r=r||{};var s=new Set(e.unsuccinctifyScopes(t.os).map((e=>e[2]))),o=(()=>{if(l.default.exec(n,(0,l.default)("^[1-9][0-9]*$")))return()=>s.has("chapter/"+n);if(l.default.exec(n,(0,l.default)("^[1-9][0-9]*-[1-9][0-9]*$")))return()=>{var[e,t]=n.split("-").map((e=>parseInt(e)));if(e>t)throw new Error("Chapter range must be from min to max, not '"+n+"'");for(var r of[...Array(t-e+1).keys()].map((t=>"chapter/"+(t+e))))if(s.has(r))return!0;return!1};if(l.default.exec(n,(0,l.default)("^[1-9][0-9]*:[0-9]+$")))return()=>{var[e,t]=n.split(":").map((e=>parseInt(e)));if(0===t)return s.has("chapter/"+e)&&0===[...s].filter((e=>e.startsWith("verse"))).length;for(var r of["chapter/"+e,"verse/"+t])if(!s.has(r))return!1;return!0};if(l.default.exec(n,(0,l.default)("^[1-9][0-9]*:[0-9]+-[1-9][0-9]*$")))return()=>{var[e,t]=n.split(":"),[r,o]=t.split("-").map((e=>parseInt(e)));if(r>o)throw new Error("Verse range must be from min to max, not '"+t+"'");var a="chapter/"+e,i=[...Array(o-r+1).keys()].map((e=>"verse/"+(e+r)));if(!s.has(a))return!1;for(var u of i)if(s.has(u))return!0;return 0===r&&0===[...s].filter((e=>e.startsWith("verse"))).length};if(l.default.exec(n,(0,l.default)("^[1-9][0-9]*:[0-9]+-[1-9][0-9]*:[0-9]+$")))return()=>{var[e,t]=n.split("-"),[r,o]=e.split(":").map((e=>parseInt(e))),[a,i]=t.split(":").map((e=>parseInt(e)));if(r>a)throw new Error("Chapter range must be from min to max, not '"+r+"-"+i+"'");var u=[...s],c=u.filter((e=>e.startsWith("chapter/")));if(c.length>1)throw new Error("Expected zero or one chapter for item, found "+c.length);var d=parseInt(c[0].split("/")[1]);return!(d<r||d>a)&&(d===r?u.filter((e=>e.startsWith("verse/")&&parseInt(e.split("/")[1])>=o)).length>0||0===o&&0===u.filter((e=>e.startsWith("verse"))).length:d!==a||u.filter((e=>e.startsWith("verse/")&&parseInt(e.split("/")[1])<=i)).length>0||0===i&&0===u.filter((e=>e.startsWith("verse"))).length)};throw new Error("Bad cv reference '"+n+"'")})(),a=e=>{if(r&&0!==Object.keys(r).length){var t=e[0];return"token"===t&&"tokens"in r||"graft"===t&&"grafts"in r||"scope"===t&&"scopes"in r}return!0},i=[];for(var u of e.unsuccinctifyItems(t.c,{},t.nt.nByte(0)))"scope"===u[0]&&"start"===u[1]&&s.add(u[2]),o()&&a(u)&&i.push(u),"scope"===u[0]&&"end"===u[1]&&s.delete(u[2]);return i})(this,e,t,n)}succinctTokenChars(e,t,n){return Bi(this.enums,this.enumIndexes,e,t,n)}succinctScopeLabel(e,t,n){return Mi(this.enums,this.enumIndexes,e,t,n)}succinctGraftName(e){return qi(this.enums,this.enumIndexes,e)}succinctGraftSeqId(e,t){return ji(this.enums,this.enumIndexes,e,t)}countItems(e){return((e,t)=>{for(var n=0,r=0;r<t.length;)n++,r+=63&t.byte(r);return n})(0,e)}itemsByIndex(e,t,n){return((e,t,n,r)=>{var s=[];if(!n)return s;for(var o=n.startBlock,a=n.nextToken;o<=n.endBlock;){var i=e.unsuccinctifyItems(t.blocks[o].c,{},a),u=e.unsuccinctifyScopes(t.blocks[o].bs)[0],c=e.unsuccinctifyGrafts(t.blocks[o].bg);if(o===n.startBlock&&o===n.endBlock?i=i.slice(n.startItem,n.endItem+1):o===n.startBlock?i=i.slice(n.startItem):o===n.endBlock&&(i=i.slice(0,n.endItem+1)),r){var d=[];for(var l of i)d.push(l.concat(["token"===l[0]&&"wordLike"===l[1]?a++:null]));i=d}s.push([...c,["scope","start",u[2]],...i,["scope","end",u[2]]]),o++}return s})(this,e,t,n)}blocksWithScriptureCV(e,t){return((e,t,n)=>{if(l.default.exec(n,(0,l.default)("^[1-9][0-9]*$"))){var r=["chapter/"+n];return t.filter((t=>e.allScopesInBlock(t,r)))}if(l.default.exec(n,(0,l.default)("^[1-9][0-9]*-[1-9][0-9]*$"))){var[s,o]=n.split("-").map((e=>parseInt(e)));if(s>o)throw new Error("Chapter range must be from min to max, not '"+n+"'");var a=[...Array(o-s+1).keys()].map((e=>"chapter/"+(e+s)));return t.filter((t=>e.anyScopeInBlock(t,a)))}if(l.default.exec(n,(0,l.default)("^[1-9][0-9]*:[0-9]+$"))){var[i,u]=n.split(":").map((e=>parseInt(e)));if(0===u){var c=["chapter/"+i];return t.filter((t=>e.allScopesInBlock(t,c))).filter((t=>0===[...e.allBlockScopes(t)].filter((e=>e.startsWith("verse"))).length))}var d=["chapter/"+i,"verse/"+u];return t.filter((t=>e.allScopesInBlock(t,d)))}if(l.default.exec(n,(0,l.default)("^[1-9][0-9]*:[0-9]+-[1-9][0-9]*$"))){var[p,f]=n.split(":"),[h,m]=f.split("-").map((e=>parseInt(e)));if(h>m)throw new Error("Verse range must be from min to max, not '"+f+"'");var S=["chapter/"+p],y=[...Array(m-h+1).keys()].map((e=>"verse/"+(e+h)));return t.filter((t=>e.allScopesInBlock(t,S))).filter((t=>e.anyScopeInBlock(t,y)||0===h&&0===[...e.allBlockScopes(t)].filter((e=>e.startsWith("verse"))).length))}if(l.default.exec(n,(0,l.default)("^[1-9][0-9]*:[0-9]+-[1-9][0-9]*:[0-9]+$"))){var[g,v]=n.split("-"),[b,E]=g.split(":").map((e=>parseInt(e))),[A,T]=v.split(":").map((e=>parseInt(e)));if(b>A)throw new Error("Chapter range must be from min to max, not '"+b+"-"+T+"'");var w=[...Array(A-b+1).keys()].map((e=>"chapter/"+(e+b)));return t.filter((t=>e.anyScopeInBlock(t,w))).filter((t=>((t,n,r)=>[...e.unsuccinctifyScopes(t.os).map((e=>e[2])),...e.unsuccinctifyScopes(t.is).map((e=>e[2]))].filter((e=>e.startsWith("chapter/"))).map((e=>parseInt(e.split("/")[1]))).filter((e=>e>n&&e<r)).length>0)(t,b,A)||((t,n,r)=>[...e.unsuccinctifyScopes(t.os).map((e=>e[2])),...e.unsuccinctifyScopes(t.is).map((e=>e[2]))].includes("chapter/"+n)&&e.blockHasMatchingItem(t,((e,t)=>!!t.has("chapter/"+n)&&(Array.from(t).filter((e=>e.startsWith("verse/"))).filter((e=>parseInt(e.split("/")[1])>=r)).length>0||0===r&&"token"===e[0]&&e[2]&&0===Array.from(t).filter((e=>e.startsWith("verse"))).length)),{}))(t,b,E)||((t,n,r)=>[...e.unsuccinctifyScopes(t.os).map((e=>e[2])),...e.unsuccinctifyScopes(t.is).map((e=>e[2]))].includes("chapter/"+n)&&e.blockHasMatchingItem(t,((e,t)=>!!t.has("chapter/"+n)&&(Array.from(t).filter((e=>e.startsWith("verse/"))).filter((e=>parseInt(e.split("/")[1])<=r)).length>0||0===r&&"token"===e[0]&&e[2]&&0===Array.from(t).filter((e=>e.startsWith("verse"))).length)),{}))(t,A,T)))}throw new Error("Bad cv reference '"+n+"'")})(this,e,t)}allBlockScopes(e){return((e,t)=>{var[n,r,s]=gi.succinct.headerBytes(t.bs,0),o=e.unsuccinctifyScope(t.bs,r,s,0);return new Set([...e.unsuccinctifyScopes(t.os).map((e=>e[2])),...e.unsuccinctifyScopes(t.is).map((e=>e[2])),o[2]])})(this,e)}allScopesInBlock(e,t){return((e,t,n)=>{var r=this.allBlockScopes(t);for(var s of n)if(!r.has(s))return!1;return!0})(0,e,t)}anyScopeInBlock(e,t){return((e,t,n)=>{var r=this.allBlockScopes(t);for(var s of n)if(r.has(s))return!0;return!1})(0,e,t)}blockHasBlockScope(e,t){return((e,t,n)=>{var[r,s,o]=gi.succinct.headerBytes(t.bs,0);return e.unsuccinctifyScope(t.bs,s,o,0)[2]===n})(this,e,t)}blockHasChars(e,t){return((e,t,n)=>{var r=!1,s=0,o=t.c;if(n.includes(-1))return!1;for(;!r&&s<o.length;){var[a,i]=gi.succinct.headerBytes(o,s);i===gi.itemDefs.itemEnum.token&&n.includes(o.nByte(s+2))&&(r=!0),s+=a}return r})(0,e,t)}blockHasMatchingItem(e,t,n){return((e,t,n,r)=>{var s=new Set(e.unsuccinctifyScopes(t.os).map((e=>e[2])));for(var o of e.unsuccinctifyItems(t.c,r,0)){if("scope"===o[0]&&"start"===o[1]&&s.add(o[2]),n(o,s))return!0;"scope"===o[0]&&"end"===o[1]&&s.delete(o[2])}return!1})(this,e,t,n)}sequenceItemsByScopes(e,t){return((e,t,n)=>{var r=[],s=()=>{for(var e of n)if(!o(e))return!1;return!0},o=e=>{for(var t of r)if(t.startsWith(e))return t;return null};e.maybeBuildEnumIndexes();var a=[],i=new Set([]),u=!0;for(var[c,d]of t.entries()){var[l,p,f]=gi.succinct.headerBytes(d.bs,0),h=e.unsuccinctifyScope(d.bs,p,f,0)[2],m=["scope","start",h],S=["scope","end",h],y=e.unsuccinctifyGrafts(d.bg);for(var g of(r=new Set(e.unsuccinctifyScopes(d.os).map((e=>e[2])).concat([h])),y.concat([m,...e.unsuccinctifyItems(d.c,{},d.nt.nByte(0),r),S]).concat(c!==t.length-1?[["token","lineSpace"," "]]:[]))){if("scope"===g[0]&&"start"===g[1]&&i.add(g[2]),"token"===g[0]&&i.size>0){for(var v of Array.from(i))r.add(v);i.clear()}s()?(u&&a.push([[...r],[]]),a[a.length-1][1].push(g),u=!1):u=!0,"scope"===g[0]&&"end"===g[1]&&(r.delete(g[2]),i.delete(g[2]))}}return a})(this,e,t)}sequenceItemsByMilestones(e,t){return((e,t,n)=>{var r=new Set([]),s=e=>"scope"===e[0]&&"start"===e[1]&&n.includes(e[2]);e.maybeBuildEnumIndexes();var o=[[[],[]]];for(var a of t){var[i,u,c]=gi.succinct.headerBytes(a.bs,0),d=e.unsuccinctifyScope(a.bs,u,c,0)[2],l=e.unsuccinctifyGrafts(a.bg);r.add(d),e.unsuccinctifyScopes(a.os).forEach((e=>r.add(e[2])));var p=l.concat([d].concat(e.unsuccinctifyItems(a.c,{},a.nt.nByte(0))));for(var f of p){if("scope"===f[0]&&"start"===f[1]&&r.add(f[2]),s(f)){for(var h of(o[o.length-1][0]=[...r].sort(),o.push([[],[]]),[...r].filter((e=>["blockTag","verse","verses","chapter"].includes(e.split("/")[0])||n.includes(e)))))r.delete(h);r.add(d)}o[o.length-1][1].push(f)}o[o.length-1][1].push(["scope","end",d]),o[o.length-1][1].push(["token","punctuation","\n"])}return o[o.length-1][0]=[...r].sort(),o})(this,e,t)}rehash(){return(e=>{for(var t of(e.preEnums={},Object.keys(e.enums)))e.preEnums[t]=new Map;for(var n of(e.maybeBuildEnumIndexes(),e.documents()))for(var r of Object.values(n.sequences))n.rerecordPreEnums(e,r);e.sortPreEnums();var s=e.makeRehashEnumMap();for(var o of e.documents())for(var a of Object.values(o.sequences))o.rewriteSequenceBlocks(a.id,s);return e.buildEnums(),e.buildEnumIndexes(),!0})(this)}makeRehashEnumMap(){return(e=>{var t={};for(var[n,r]of Object.entries(e.enums)){t[n]=[];for(var s=0;s<r.length;){var o=r.byte(s),a=r.countedString(s);e.preEnums[n].has(a)?t[n].push(e.preEnums[n].get(a).enum):t[n].push(null),s+=o+1}}return t})(this)}updateItems(e,t,n,r){return((e,t,n,r,s)=>_i(this,t,n,r,"c",s))(0,e,t,n,r)}updateBlockGrafts(e,t,n,r){return xi(this,e,t,n,r)}updateBlockScope(e,t,n,r){return((e,t,n,r,s)=>_i(this,t,n,r,"bs",[s]))(0,e,t,n,r)}updateOpenScopes(e,t,n,r){return((e,t,n,r,s)=>_i(this,t,n,r,"os",s))(0,e,t,n,r)}updateIncludedScopes(e,t,n,r){return((e,t,n,r,s)=>_i(this,t,n,r,"is",s))(0,e,t,n,r)}updateBlockIndexesAfterEdit(e,t){((e,t,n)=>{var r=(e,t,n)=>{var r=n.split("/"),s=Ii[r[0]];if(!s&&0!==s)throw new Error('"'+r[0]+'" is not a scope type');var o=r.slice(1).map((t=>e.enumForCategoryValue("scopeBits",t,!0)));wi(t,Pi.startScope,s,o)},s=t.blocks[n],o=new Set,a=new Set;for(var i of e.unsuccinctifyScopes(s.os))a.add(i[2]);for(var u of e.unsuccinctifyItems(s.c,{scopes:!0},null))"start"===u[1]?(o.add(u[2]),a.add(u[2])):a.delete(u[2]);var c=Array.from(o),d=new Ai(c.length);for(var l of c)r(e,d,l);if(d.trim(),s.is=d,n<t.blocks.length-1){var p=t.blocks[n+1],f=p.os,h=new Set(e.unsuccinctifyScopes(f).map((e=>e[2])));if(!((e,t)=>{for(var n of Array.from(e))if(!t.has(n))return!1;for(var r of Array.from(t))if(!e.has(r))return!1;return!0})(a,h)){var m=new Ai(h.length);for(var S of Array.from(a))r(e,m,S);m.trim(),p.os=m,e.updateBlockIndexesAfterEdit(t,n+1)}}})(this,e,t)}updateBlockIndexesAfterFilter(e){((e,t)=>{var n=(e,t,n)=>{var r=n.split("/"),s=Ii[r[0]];if(!s&&0!==s)throw new Error('"'+r[0]+'" is not a scope type');var o=r.slice(1).map((t=>e.enumForCategoryValue("scopeBits",t,!0)));wi(t,Pi.startScope,s,o)},r=new Set;for(var s of t.blocks){var o=Array.from(r),a=new Ai(o.length);for(var i of o)n(e,a,i);a.trim(),s.os=a;var u=new Set;for(var c of e.unsuccinctifyItems(s.c,{scopes:!0},null))"start"===c[1]?(u.add(c[2]),r.add(c[2])):r.delete(c[2]);var d=Array.from(u),l=new Ai(d.length);for(var p of d)n(e,l,p);l.trim(),s.is=l}})(this,e)}serializeSuccinct(){return(e=>{var t={id:e.id,metadata:{selectors:e.selectors},enums:{},docs:{},tags:Array.from(e.tags)};for(var[n,r]of Object.entries(e.enums))r.trim(),t.enums[n]=r.base64();for(var s of(t.docs={},e.docIds))t.docs[s]=e.processor.documents[s].serializeSuccinct();return t})(this)}checksum(){var e=[...this.docIds].sort().join(" ");return Ro()(e)}}var Hi=n(3755),Ki=n(6705),Wi=[["chapter","chapter",(0,l.default)("([\\r\\n]*\\\\c[ \\t]+(\\d+)[ \\t\\r\\n]*)")],["pubchapter","pubchapter",(0,l.default)("([\\r\\n]*\\\\cp[ \\t]+([^\\r\\n]+)[ \\t\\r\\n]*)")],["verses","verses",(0,l.default)("(\\\\v[ \\t]+([\\d\\-]+)[ \\t\\r\\n]*)")],["attribute","attribute",(0,l.default)('([ \\t]*\\|?[ \\t]*([A-Za-z0-9\\-]+)="([^"]*)"[ \\t]?)')],["attribute","defaultAttribute",(0,l.default)("([ \\t]*\\|[ \\t]*([^\\|\\\\]*))")],["milestone","emptyMilestone",(0,l.default)("(\\\\([a-z1-9]+)\\\\[*])")],["milestone","startMilestoneTag",(0,l.default)("(\\\\([a-z1-9]+)-([se]))")],["milestone","endMilestoneMarker",(0,l.default)("(\\\\([*]))")],["tag","endTag",(0,l.default)("(\\\\([+]?[a-z\\-]+)([1-9]?(-([1-9]))?)[*])")],["tag","startTag",(0,l.default)("(\\\\([+]?[a-z\\-]+)([1-9]?(-([1-9]))?)[ \\t]?)")],["bad","bareSlash",(0,l.default)("(\\\\)")],["printable","eol",(0,l.default)("([ \\t]*[\\r\\n]+[ \\t]*)")],["break","noBreakSpace",(0,l.default)("~")],["break","softLineBreak",(0,l.default)("//")],["printable","wordLike",(0,l.default)("([\\p{Letter}\\p{Number}\\p{Mark}\\u2060]{1,127})")],["printable","lineSpace",(0,l.default)("([\\p{Separator}\t]{1,127})")],["printable","punctuation",(0,l.default)("([\\p{Punctuation}\\p{Math_Symbol}\\p{Currency_Symbol}\\p{Modifier_Symbol}\\p{Other_Symbol}])")],["bad","unknown",(0,l.default)("(.)")]],Xi=l.default.union(Wi.map((e=>e[2]))),Yi=(e,t)=>({subclass:e,printValue:t[0]}),zi={printable:Yi,chapter:(e,t)=>({subclass:e,numberString:t[2],number:parseInt(t[2]),printValue:"\\c "+t[2]+"\n"}),pubchapter:(e,t)=>({subclass:e,numberString:t[2],printValue:"\\cp "+t[2]+"\n"}),verses:(e,t)=>{var n={subclass:e,numberString:t[2],printValue:"\\v "+t[2]+"\n"};if(n.numberString.includes("-")){var[r,s]=n.numberString.split("-").map((e=>parseInt(e)));n.numbers=Array.from(Array(s-r+1).keys()).map((e=>e+r))}else n.numbers=[parseInt(n.numberString)];return n},tag:(e,t)=>{var n={subclass:e,tagName:t[2],isNested:!1};return n.tagName.startsWith("+")&&(n.isNested=!0,n.tagName=n.tagName.substring(1)),n.tagLevel=""!==t[3]?parseInt(t[3]):1,n.fullTagName=""+n.tagName+("1"===t[3]?"":t[3]),n.printValue="startTag"===e?"\\"+n.fullTagName+" ":"\\"+n.fullTagName+"*",n},break:Yi,milestone:(e,t)=>{var n={subclass:e,sOrE:null};return"endMilestoneMarker"===e?n.printValue="\\*":(n.tagName=t[2],"emptyMilestone"===e?n.printValue="\\"+n.tagName+"\\*":(n.printValue="\\"+n.tagName,n.sOrE=t[3])),n},attribute:(e,t)=>{var n;return(n="defaultAttribute"===e?{subclass:e,key:"default",valueString:t[2].trim().replace(/\//g,"÷")}:{subclass:e,key:t[2],valueString:t[3].trim().replace(/\//g,"÷")}).values=n.valueString.split(",").map((e=>e.trim())),n.printValue="| "+n.key+'="'+n.valueString+'"',n},bad:Yi},Zi=(e,t)=>{for(var n=0;n<t.length;n++){var[r,s,o]=t[n],a=l.default.exec(e,o,0,"sticky");if(a)return zi[r](s,a)}throw new Error("Could not match preToken fragment '"+e+"'")},Qi=n(6099),eu=n.n(Qi),tu=n(5108);class nu{constructor(){this.sax=eu().parser(!0),this.sax.ontext=e=>this.handleSaxText(e),this.sax.onopentag=e=>this.handleSaxOpenTag(e),this.sax.onclosetag=e=>this.handleSaxCloseTag(e),this.lexed=[],this.elementStack=[],this.currentText="",this.openTagHandlers={usx:this.ignoreHandler,book:this.handleBookOpen,chapter:this.handleChapter,verse:this.handleVerses,para:this.handleParaOpen,table:this.ignoreHandler,row:this.handleRowOpen,cell:this.handleCellOpen,char:this.handleCharOpen,ms:this.handleMSOpen,note:this.handleNoteOpen,sidebar:this.handleSidebarOpen,periph:this.notHandledHandler,figure:this.handleFigureOpen,optbreak:this.handleOptBreakOpen,ref:this.handleRefOpen},this.closeTagHandlers={usx:this.ignoreHandler,book:this.handleBookClose,chapter:this.ignoreHandler,verse:this.ignoreHandler,para:this.handleParaClose,table:this.ignoreHandler,row:this.handleRowClose,cell:this.handleCellClose,char:this.handleCharClose,ms:this.handleMSClose,note:this.handleNoteClose,sidebar:this.handleSidebarClose,periph:this.notHandledHandler,figure:this.handleFigureClose,optbreak:this.handleOptBreakClose,ref:this.handleRefClose}}lexAndParse(e,t){this.parser=t,this.lexed=[],this.elementStack=[],this.sax.write(e).close()}handleSaxText(e){this.currentText=this.replaceEntities(e),l.default.match(this.currentText,Xi,"all").map((e=>Zi(e,Wi))).forEach((e=>this.parser.parseItem(e)))}replaceEntities(e){return e.replace("<","<").replace(">",">").replace("'","'").replace(""",'"').replace("&","&")}handleSaxOpenTag(e){var t=e.name,n=e.attributes;if(!(t in this.openTagHandlers))throw new Error("Unexpected open element tag '"+t+"' in UsxParser");this.openTagHandlers[t](this,"open",t,n)}handleSaxCloseTag(e){this.closeTagHandlers[e](this,"close",e)}notHandledHandler(e,t,n){tu.error("WARNING: "+t+" element tag '"+n+"' is not handled by UsxParser")}stackPush(e,t){this.elementStack.push([e,t])}stackPop(){return this.elementStack.pop()}splitTagNumber(e){var t=l.default.exec(e,(0,l.default)("([^1-9]+)(.*)"));return[t[1],t[2].length>0?t[2]:"1"]}ignoreHandler(e,t,n){}handleParaOpen(e,t,n,r){e.currentText="";var[s,o]=e.splitTagNumber(r.style);["cp"].includes(s)||e.parser.parseItem(zi.tag("startTag",[null,null,s,o])),e.stackPush(n,r)}handleParaClose(e){var t=e.stackPop()[1],[n,r]=e.splitTagNumber(t.style);["cp"].includes(n)?e.parser.parseItem(zi.pubchapter("pubchapter",[null,null,e.currentText])):e.parser.parseItem(zi.tag("endTag",[null,null,n,r])),e.currentText=""}handleCharOpen(e,t,n,r){var[s,o]=e.splitTagNumber(r.style);e.parser.parseItem(zi.tag("startTag",[null,null,"+"+s,o]));var a=["sid","eid","style","srcloc","link-href","link-title","link-id","closed"];for(var[i,u]of Object.entries(r))a.includes(i)||e.parser.parseItem(zi.attribute("attribute",[null,null,i,u]));e.stackPush(n,r)}handleCharClose(e){var t=e.stackPop()[1],[n,r]=e.splitTagNumber(t.style);e.parser.parseItem(zi.tag("endTag",[null,null,"+"+n,r]))}handleRefOpen(e){e.parser.parseItem(zi.tag("startTag",[null,null,"xt",""]))}handleRefClose(e){e.parser.parseItem(zi.tag("endTag",[null,null,"xt",""]))}handleRowOpen(e,t,n,r){var[s,o]=e.splitTagNumber(r.style);e.parser.parseItem(zi.tag("startTag",[null,null,s,o])),e.stackPush(n,r)}handleRowClose(e){var t=e.stackPop()[1],[n,r]=e.splitTagNumber(t.style);e.parser.parseItem(zi.tag("endTag",[null,null,n,r]))}handleCellOpen(e,t,n,r){var[s,o]=e.splitTagNumber(r.style);e.parser.parseItem(zi.tag("startTag",[null,null,s,o])),e.stackPush(n,r)}handleCellClose(e){var t=e.stackPop()[1],[n,r]=e.splitTagNumber(t.style);e.parser.parseItem(zi.tag("endTag",[null,null,n,r]))}handleBookOpen(e,t,n,r){e.parser.parseItem(zi.tag("startTag",[null,null,"id",""])),e.parser.parseItem(zi.printable("wordLike",[r.code])),e.parser.parseItem(zi.printable("lineSpace",[" "])),e.stackPush(n,r)}handleBookClose(e){e.stackPop(),e.parser.parseItem(zi.tag("endTag",[null,null,"id",""]))}handleChapter(e,t,n,r){r.number&&(e.parser.parseItem(zi.chapter("chapter",[null,null,r.number])),r.pubnumber&&e.parser.parseItem(zi.pubchapter("pubchapter",[null,null,r.pubnumber])),r.altnumber&&(e.parser.parseItem(zi.tag("startTag",[null,null,"+ca",""])),e.parser.parseItem(zi.printable("wordLike",[r.altnumber])),e.parser.parseItem(zi.tag("endTag",[null,null,"+ca",""]))))}handleVerses(e,t,n,r){r.number&&(e.parser.parseItem(zi.verses("verses",[null,null,r.number])),r.pubnumber&&(e.parser.parseItem(zi.tag("startTag",[null,null,"+vp",""])),e.parser.parseItem(zi.printable("wordLike",[r.pubnumber])),e.parser.parseItem(zi.tag("endTag",[null,null,"+vp",""]))),r.altnumber&&(e.parser.parseItem(zi.tag("startTag",[null,null,"+va",""])),e.parser.parseItem(zi.printable("wordLike",[r.altnumber])),e.parser.parseItem(zi.tag("endTag",[null,null,"+va",""]))))}handleNoteOpen(e,t,n,r){e.parser.parseItem(zi.tag("startTag",[null,null,r.style,""])),e.parser.parseItem(zi.printable("punctuation",[r.caller])),e.stackPush(n,r)}handleNoteClose(e){var t=e.stackPop()[1];e.parser.parseItem(zi.tag("endTag",[null,null,t.style,""]))}handleSidebarOpen(e,t,n,r){e.parser.parseItem(zi.tag("startTag",[null,null,"esb",""])),"category"in r&&(e.parser.parseItem(zi.tag("startTag",[null,null,"cat",""])),e.parser.parseItem(zi.printable("wordLike",[r.category])),e.parser.parseItem(zi.tag("endTag",[null,null,"cat",""]))),e.stackPush(n,r)}handleSidebarClose(e){e.stackPop(),e.parser.parseItem(zi.tag("startTag",[null,null,"esbe",""]))}handleMSOpen(e,t,n,r){var s=l.default.exec(r.style,(0,l.default)("(([a-z1-9]+)-([se]))"));if(s){var o=zi.milestone("startMilestoneTag",[null,null,s[2],s[3]]);e.parser.parseItem(o);var a=["sid","eid","style","srcloc","link-href","link-title","link-id"];for(var[i,u]of Object.entries(r))a.includes(i)||e.parser.parseItem(zi.attribute("attribute",[null,null,i,u]));e.parser.parseItem(zi.milestone("endMilestoneMarker"))}else{var c=zi.milestone("emptyMilestone",[null,null,r.style,""]);e.parser.parseItem(c)}e.stackPush(n,r)}handleMSClose(e){e.stackPop()}handleFigureOpen(e,t,n,r){for(var[s,o]of(e.parser.parseItem(zi.tag("startTag",[null,null,"+fig",""])),Object.entries(r)))if("style"!==s){var a="file"===s?"src":s;e.parser.parseItem(zi.attribute("attribute",[null,null,a,o]))}e.stackPush(n,r)}handleFigureClose(e){e.stackPop()[1],e.parser.parseItem(zi.tag("endTag",[null,null,"+fig",""]))}handleOptBreakOpen(e,t,n,r){e.parser.parseItem(zi.printable("softLineBreak",["//"])),e.stackPush(n,r)}handleOptBreakClose(e){e.stackPop()}}var ru=gi.ByteArray,{pushSuccinctGraftBytes:su,pushSuccinctScopeBytes:ou,pushSuccinctTokenBytes:au}=gi.succinct,{addTag:iu}=gi.tags,{labelForScope:uu}=gi.scopeDefs,{itemEnum:cu}=gi.itemDefs,{scopeEnum:du}=gi.scopeDefs,{tokenCategory:lu,tokenEnum:pu}=gi.tokenDefs,fu=class{constructor(e){this.id=gi.generateId(),this.type=e,this.tags=new Set([]),this.blocks=[],this.activeScopes=[]}addTag(e){iu(this.tags,e)}plainText(){return this.blocks.map((e=>e.plainText())).join("").trim()}addItem(e){this.lastBlock().addItem(e)}addBlockGraft(e){this.newBlock("hangingGraft"),this.lastBlock().bg.push(e)}lastBlock(){return 0===this.blocks.length&&this.newBlock("orphanTokens"),this.blocks[this.blocks.length-1]}newBlock(e){this.blocks.length>0&&["orphanTokens","hangingGraft"].includes(this.blocks[this.blocks.length-1].bs.payload)?this.lastBlock().bs={type:"scope",subType:"start",payload:e}:this.blocks.push(new class{constructor(e){this.id=gi.generateId(),this.items=[],this.bg=[],this.bs={type:"scope",subType:"start",payload:e},this.os=[]}addItem(e){this.items.push(e)}plainText(){return this.items.filter((e=>"token"===e.type)).map((e=>e.payload)).join("")}trim(){this.items=this.trimEnd(this.trimStart(this.items))}reorderSpanWithAtts(){var e=[];for(var[t,n]of this.items.entries())"start"===n.subType&&n.payload.startsWith("spanWithAtts")&&e.push(t+1);for(var r of e){for(var s=r,o=[],a=[];!(s>=this.items.length);){var i=this.items[s];if("token"===i.type)o.push(i);else{if("start"!==i.subType||!i.payload.startsWith("attribute/spanWithAtts"))break;a.push(i)}s++}if(0!==o.length&&0!==a.length){var u=r;for(var c of a)this.items[u]=c,u++;for(var d of o)this.items[u]=d,u++}}}inlineToEnd(){var e=null;for(var[t,n]of this.items.entries())if("end"===n.subType&&["inline/f","inline/fe","inline/x"].includes(n.payload)){e=n,this.items.splice(t,1);break}e&&this.addItem(e)}makeNoteGrafts(e){var t=[];for(var[n,r]of this.items.entries())"start"===r.subType&&(r.payload.startsWith("inline/f")||r.payload.startsWith("inline/x"))&&t.push(n);for(var s of t){var o=this.items[s].payload,a=this.items[s+1];if("token"===a.type&&1===a.payload.length){var i=new fu("noteCaller");i.newBlock(o),i.addItem(a),e.sequences.noteCaller.push(i),this.items[s+1]={type:"graft",subType:"noteCaller",payload:i.id}}}}trimStart(e){if(0===e.length)return e;var t=e[0];return["lineSpace","eol"].includes(t.subType)?this.trimStart(e.slice(1)):"token"===t.type?e:[t,...this.trimStart(e.slice(1))]}trimEnd(e){if(0===e.length)return e;var t=e[e.length-1];return["lineSpace","eol"].includes(t.subType)?this.trimEnd(e.slice(0,e.length-1)):"token"===t.type?e:[...this.trimEnd(e.slice(0,e.length-1)),t]}filterGrafts(e){var t=[],n=[];for(var[r,s]of this.grafts())this.graftPassesOptions(s,e)?t.push(s.payload):n.push(r);for(var[o,a]of Array.from(n.entries()))this.items.splice(a-o,1);for(var[i,u]of(n=[],this.bg.entries()))this.graftPassesOptions(u,e)?t.push(u.payload):n.push(i);for(var[c,d]of Array.from(n.entries()))this.bg.splice(d-c,1);return t}filterScopes(e){var t=[];for(var[n,r]of this.scopes())this.scopePassesOptions(r,e)||t.push(n);for(var[s,o]of Array.from(t.entries()))this.items.splice(o-s,1)}graftPassesOptions(e,t){return(!("includeGrafts"in t)||t.includeGrafts.includes(e.subType))&&(!("excludeGrafts"in t)||!t.excludeGrafts.includes(e.subType))}scopePassesOptions(e,t){return(!("includeScopes"in t)||this.scopeMatchesOptionArray(e.payload,t.includeScopes))&&(!("excludeScopes"in t)||!this.scopeMatchesOptionArray(e.payload,t.excludeScopes))}scopeMatchesOptionArray(e,t){for(var n of t)if(e.startsWith(n))return!0;return!1}removeGraftsToEmptySequences(e){var t=[];for(var[n,r]of this.grafts())e.includes(r.payload)&&t.push(n);for(var[s,o]of Array.from(t.entries()))this.items.splice(o-s,1);for(var[a,i]of(t=[],this.bg.entries()))e.includes(i.payload)&&t.push(a);for(var[u,c]of Array.from(t.entries()))this.bg.splice(c-u,1);return[]}grafts(){return Array.from(this.items.entries()).filter((e=>"graft"===e[1].type))}scopes(){return Array.from(this.items.entries()).filter((e=>"scope"===e[1].type))}tokens(){return Array.from(this.items.entries()).filter((e=>!["scope","graft"].includes(e[1].type)))}text(){return this.tokens().map((e=>e[1].payload)).join("")}}(e))}trim(){this.blocks.forEach((e=>e.trim()))}reorderSpanWithAtts(){this.blocks.forEach((e=>e.reorderSpanWithAtts()))}makeNoteGrafts(e){this.blocks.forEach((t=>t.makeNoteGrafts(e)))}close(e){for(var t of this.activeScopes.filter((()=>!0)).reverse())this.closeActiveScope(e,t);this.activeScopes=[]}closeActiveScope(e,t){this.addItem({type:"scope",subType:"end",payload:t.label}),t.onEnd&&t.onEnd(e,t.label)}filterGrafts(e){return this.blocks.map((t=>t.filterGrafts(e))).reduce(((e,t)=>e.concat(t)),[])}filterScopes(e){this.blocks.forEach((t=>t.filterScopes(e)))}text(){return this.blocks.map((e=>e.text())).join("")}addTableScopes(){var e=!1;for(var[t,n]of this.blocks.entries())e||"blockTag/tr"!==n.bs.payload?e&&"blockTag/tr"!==n.bs.payload&&(e=!1,this.blocks[t-1].items.push({type:"scope",subType:"end",payload:uu("table",[])})):(e=!0,this.blocks[t].items.unshift({type:"scope",subType:"start",payload:uu("table",[])}));e&&this.lastBlock().items.push({type:"scope",subType:"end",payload:uu("table",[])})}graftifyIntroductionHeadings(e){var t=[...this.blocks.entries()];t.reverse();var n=["iot","is"].concat(e.customTags.introHeading);for(var[r,s]of t){var o=s.bs.payload.split("/")[1].replace(/[0-9]/g,"");if(n.includes(o)){var a=new fu("heading");e.sequences.heading.push(a),a.blocks.push(s);var i={type:"graft",subType:"heading",payload:a.id};this.blocks.length<r+2&&this.newBlock("blockTag/hangingGraft"),this.blocks[r+1].bg.unshift(i),this.blocks.splice(r,1)}else if(o.startsWith("imt")){var u=o.startsWith("imte")?"introEndTitle":"introTitle",c=void 0;if(e.sequences[u])c=e.sequences[u];else{var d=o.startsWith("imte")?"endTitle":"title";c=new fu(d),e.sequences[u]=c;var l={type:"graft",subType:d,payload:c.id};this.blocks.length<r+2&&this.newBlock("blockTag/hangingGraft"),this.blocks[r+1].bg.unshift(l)}this.blocks.splice(r,1),c.blocks.unshift(s)}}}moveOrphanScopes(){this.blocks.length>1&&(this.moveOrphanStartScopes(),this.moveOrphanEndScopes())}moveOrphanStartScopes(){for(var[e,t]of this.blocks.entries())if(!(e>=this.blocks.length-1))for(var n of[...t.items].reverse()){if("start"!==n.subType||n.payload.startsWith("altChapter"))break;this.blocks[e+1].items.unshift(this.blocks[e].items.pop())}}moveOrphanStartScopes2(){for(var[e,t]of this.blocks.entries())if(!(e>=this.blocks.length-1))for(var n of[...t.items].reverse()){if("start"!==n.subType)break;this.blocks[e+1].items.unshift(this.blocks[e].items.pop())}}moveOrphanEndScopes(){for(var[e,t]of this.blocks.entries())if(0!==e)for(var n of[...t.items]){if("end"!==n.subType)break;this.blocks[e-1].items.push(this.blocks[e].items.shift())}}removeEmptyBlocks(e){var t=["blockTag/b","blockTag/ib"].concat(e),n=[],r=!1;for(var s of this.blocks.entries())0!==s[1].tokens().length||t.includes(s[1].bs.payload)||n.push(s);for(var[o,a]of n.reverse())if(o<this.blocks.length-1){for(var i of[...a.bg].reverse())this.blocks[o+1].bg.unshift(i);for(var u of a.items.reverse())this.blocks[o+1].items.unshift(u);this.blocks.splice(o,1),r=!0}else 0===a.bg.length&&0===a.items.length&&(this.blocks.splice(o,1),r=!0);r&&this.removeEmptyBlocks(e)}removeGraftsToEmptySequences(e){this.blocks.forEach((t=>t.removeGraftsToEmptySequences(e)))}succinctifyBlocks(e){var t=[],n=[],r=e=>{"start"===e.subType?0===n.filter((t=>t.payload===e.payload)).length&&n.push(e):n=n.filter((t=>t.payload!==e.payload))},s=0;for(var o of this.blocks){var a=new ru(o.length),i=new ru(1),u=new ru(1),c=new ru(1),d=new ru(1);for(var l of(d.pushNByte(s),o.bg))this.pushSuccinctGraft(i,e,l);for(var p of n)this.pushSuccinctScope(u,e,p);var f=[];for(var h of o.items)switch(h.type){case"token":this.pushSuccinctToken(a,e,h),"wordLike"===h.subType&&s++;break;case"graft":this.pushSuccinctGraft(a,e,h);break;case"scope":this.pushSuccinctScope(a,e,h),r(h),"start"===h.subType&&f.push(h);break;default:throw new Error("Item type "+h.type+" is not handled in succinctifyBlocks")}var m=new ru(10);for(var S of(this.pushSuccinctScope(m,e,o.bs),f))this.pushSuccinctScope(c,e,S);a.trim(),i.trim(),m.trim(),u.trim(),c.trim(),t.push({c:a,bs:m,bg:i,os:u,is:c,nt:d})}return t}pushSuccinctToken(e,t,n){var r=t.enumForCategoryValue(lu[n.subType],n.payload);au(e,pu[n.subType],r)}pushSuccinctGraft(e,t,n){var r=t.enumForCategoryValue("graftTypes",n.subType),s=t.enumForCategoryValue("ids",n.payload);su(e,r,s)}pushSuccinctScope(e,t,n){var r=n.payload.split("/"),s=du[r[0]],o=r.slice(1).map((e=>t.enumForCategoryValue("scopeBits",e)));ou(e,cu[n.subType+"Scope"],s,o)}},hu={},mu=[];for(var Su of Wi)["wordLike","eol","lineSpace","punctuation","unknown"].includes(Su[1])&&(hu[Su[1]]=(0,l.default)("^"+Su[2].xregexp.source+"$"),mu.push(Su[2]));var yu=e=>{var t=l.default.union(mu),n=[];for(var r of l.default.match(e,t,"all")){var s;s=l.default.test(r,hu.wordLike)?"wordLike":l.default.test(r,hu.punctuation)?"punctuation":l.default.test(r,hu.lineSpace)?"lineSpace":l.default.test(r,hu.eol)?"eol":"unknown",n.push([r,s])}return n},{labelForScope:gu}=gi.scopeDefs;function vu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function bu(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var{labelForScope:Eu}=gi.scopeDefs,Au=0,Tu=(e,t)=>{"number"!=typeof t&&(Au=0);var n=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?vu(Object(n),!0).forEach((function(t){bu(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):vu(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},e,{id:Au,parentId:"number"==typeof t?t:"none"});return Au++,e.children&&(n.children=e.children.map((e=>Tu(e,n.id)))),n},wu=e=>{var t=[{}];if(t[0].id=e.id,t[0].parentId=e.parentId,e.content&&(t[0].content=e.content),e.children)for(var n of(t[0].children=[],e.children))t[0].children.push(n.id),wu(n).forEach((e=>t.push(e)));return t},{labelForScope:ku}=gi.scopeDefs,Pu=n(5108),Iu=n(4155);function Nu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ou(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Nu(Object(n),!0).forEach((function(t){_u(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Nu(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function _u(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var{labelForScope:xu}=gi.scopeDefs,Cu=gi.parserConstants;const Du={perf2usfmPipeline:JSON.parse('[{"id":0,"type":"Inputs","inputs":{"perf":"json"}},{"id":1,"title":"Generate report","name":"calculateUsfmChapterPositions","type":"Transform","inputs":[{"name":"perf","type":"json","source":"Input perf"}],"outputs":[{"name":"report","type":"json"}],"description":"Generate report from perf to calculate the position of the chapters"},{"id":2,"title":"PERF to USFM","name":"perf2usfm","type":"Transform","inputs":[{"name":"perf","type":"json","source":"Input perf"},{"name":"report","type":"json","source":"Transform 1 report"}],"outputs":[{"name":"usfm","type":"text"}],"description":"PERF=>USFM: Conversion via Proskomma"},{"id":999,"type":"Outputs","outputs":[{"name":"usfm","type":"text","source":"Transform 2 usfm"}]}]'),perf2PkJsonPipeline:JSON.parse('[{"id":0,"type":"Inputs","inputs":{"perf":"json"}},{"id":1,"title":"PERF to PkJSON","name":"perf2PkJson","type":"Transform","inputs":[{"name":"perf","type":"json","source":"Input perf"}],"outputs":[{"name":"pkJson","type":"json"}],"documentation":"","description":"PERF=>JSON: Converts PERF to current Proskomma input format"},{"id":999,"type":"Outputs","outputs":[{"name":"pkJson","type":"json","source":"Transform 1 pkJson"}]}]')};var $u=e=>({type:e.sequences[0].block.type,subType:e.sequences[0].block.subType,pos:e.sequences[0].block.blockN,perfChapter:null}),Ru={startDocument:[{description:"Set up storage",test:()=>!0,action:e=>{var{workspace:t,output:n}=e;t.blockRecords=[],n.report={}}}],startParagraph:[{description:"Set up block record",test:()=>!0,action:e=>{var{context:t,workspace:n}=e;n.blockRecords.push($u(t))}}],blockGraft:[{description:"Set up block record",test:()=>!0,action:e=>{var{context:t,workspace:n}=e;n.blockRecords.push($u(t))}}],mark:[{description:"Add chapter number to block record",test:e=>{var{context:t}=e;return"chapter"===t.sequences[0].element.subType},action:e=>{var{context:t,workspace:n}=e;n.blockRecords[n.blockRecords.length-1].perfChapter=t.sequences[0].element.atts.number}}],endDocument:[{description:"Populate report",test:()=>!0,action:e=>{var{workspace:t,output:n}=e;for(var[r,s]of Object.entries(t.blockRecords))if(s.perfChapter){for(var o=r,a=!1;o>0&&!a;)"paragraph"===t.blockRecords[o-1].type||"title"===t.blockRecords[o-1].subType?a=!0:o--;n.report[o.toString()]=s.perfChapter}}}]};const qu={name:"calculateUsfmChapterPositions",type:"Transform",description:"PERF=>JSON: Generates positions for inserting chapter numbers into USFM",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"report",type:"json"}],code:function(e){var{perf:t}=e,n={};return new Hi.PerfRenderFromJson({srcJson:t,actions:Ru}).renderDocument({docId:"",config:{maxLength:60},output:n}),{report:n.report}}};var ju=e=>["toc","toca","mt","imt","s","ms","mte","sd"].includes(e)?e+"1":e,Mu={startDocument:[{description:"Set up environment",test:()=>!0,action:e=>{var{context:t,workspace:n}=e;for(var[r,s]of(n.usfmBits=[""],n.nestedWrapper=0,Object.entries(t.document.metadata.document).filter((e=>!["tags","properties","bookCode","cl"].includes(e[0])))))n.usfmBits.push("\\"+ju(r)+" "+s+"\n")}}],blockGraft:[{description:"Follow block grafts",test:e=>{var{context:t}=e;return["title","heading","introduction"].includes(t.sequences[0].block.subType)},action:e=>{var t=e.context.sequences[0],n=e.config.report[t.block.blockN.toString()],r=t.block.target;n&&"main"===t.type&&e.workspace.usfmBits.push("\n\\c "+n+"\n"),r&&e.context.renderer.renderSequenceId(e,r)}}],inlineGraft:[{description:"Follow inline grafts",test:()=>!0,action:e=>{var t=e.context.sequences[0].element.target;t&&e.context.renderer.renderSequenceId(e,t)}}],startParagraph:[{description:"Output footnote paragraph tag (footnote)",test:e=>{var{context:t}=e;return"usfm:f"===t.sequences[0].block.subType&&"footnote"===t.sequences[0].type||"usfm:x"===t.sequences[0].block.subType&&"xref"===t.sequences[0].type},action:e=>{var{context:t,workspace:n}=e;n.nestedWrapper=0;var r=t.sequences[0];n.usfmBits.push("\\"+ju(r.block.subType.split(":")[1])+" ")}},{description:"Output footnote note_caller tag (footnote)",test:e=>{var{context:t}=e;return"usfm:f"===t.sequences[0].block.subType||"usfm:x"===t.sequences[0].block.subType},action:e=>{var{workspace:t}=e;t.nestedWrapper=0}},{description:"Output paragraph tag (main)",test:()=>!0,action:e=>{var{context:t,workspace:n,config:r}=e;n.nestedWrapper=0;var s=t.sequences[0],o=r.report[s.block.blockN.toString()];o&&"main"===s.type&&n.usfmBits.push("\n\\c "+o+"\n"),n.usfmBits.push("\n\\"+ju(s.block.subType.split(":")[1])+"\n")}}],endParagraph:[{description:"Output footnote paragraph tag (footnote)",test:e=>{var{context:t}=e;return"usfm:f"===t.sequences[0].block.subType&&"footnote"===t.sequences[0].type||"usfm:x"===t.sequences[0].block.subType&&"xref"===t.sequences[0].type},action:e=>{var{context:t,workspace:n}=e,r=t.sequences[0];n.usfmBits.push("\\"+ju(r.block.subType.split(":")[1])+"*")}},{description:"Output footnote note_caller tag (footnote)",test:e=>{var{context:t}=e;return"usfm:f"===t.sequences[0].block.subType||"usfm:x"===t.sequences[0].block.subType},action:()=>{}},{description:"Output nl",test:()=>!0,action:e=>{var{workspace:t}=e;t.usfmBits.push("\n")}}],startMilestone:[{description:"Output start milestone",test:()=>!0,action:e=>{var{context:t,workspace:n}=e,r=t.sequences[0].element,s=((e,t)=>{var n="\\"+t+"-s |";for(var[r,s]of Object.entries(e))n="x-morph"===r?n+ju(r)+'="'+s.join(",")+'" ':n+ju(r)+'="'+s+'" ';return n+"\\*"})(r.atts,ju(r.subType.split(":")[1]));n.usfmBits.push(s)}}],endMilestone:[{description:"Output end milestone",test:()=>!0,action:e=>{var{context:t,workspace:n}=e;n.usfmBits.push("\\"+ju(t.sequences[0].element.subType.split(":")[1])+"-e\\*")}}],text:[{description:"Output text",test:()=>!0,action:e=>{var{context:t,workspace:n}=e,r=t.sequences[0].element.text;n.usfmBits.push(r)}}],mark:[{description:"Output chapter or verses",test:()=>!0,action:e=>{var{context:t,workspace:n}=e,r=t.sequences[0].element;"verses"===r.subType&&n.usfmBits.push("\n\\v "+r.atts.number+"\n")}}],endSequence:[{description:"Output \\cl",test:e=>{var{context:t}=e;return t.document.metadata.document.cl&&"title"===t.sequences[0].type},action:e=>{var{context:t,workspace:n}=e;n.usfmBits.push("\n\\cl "+t.document.metadata.document.cl+"\n")}}],startWrapper:[{description:"Output start tag",test:()=>!0,action:e=>{var{workspace:t,context:n}=e,r=n.sequences[0];t.nestedWrapper>0?t.usfmBits.push("\\+"+ju(r.element.subType.split(":")[1])+" "):t.usfmBits.push("\\"+ju(r.element.subType.split(":")[1])+" "),t.nestedWrapper+=1}}],endWrapper:[{description:"Output end tag",test:e=>{var{context:t}=e;return!["fr","fq","fqa","fk","fl","fw","fp","ft","xo","xk","xq","xt","xta"].includes(t.sequences[0].element.subType.split(":")[1])},action:e=>{var{workspace:t,context:n}=e;t.nestedWrapper-=1;var r=n.sequences[0],s=r.element.subType.split(":")[1],o=t.nestedWrapper>0;if("w"===s){var a=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r="|";for(var[s,o]of Object.entries(e))r=r+ju(s)+'="'+o+'" ';return r+="\\",n&&(r+="+"),r+t+"*"}(r.element.atts,ju(s),o);t.usfmBits.push(a)}else o?t.usfmBits.push("\\+"+ju(r.element.subType.split(":")[1])+"*"):t.usfmBits.push("\\"+ju(r.element.subType.split(":")[1])+"*")}},{description:"Do NOT output end tag",test:()=>!0,action:e=>{var{workspace:t}=e;t.nestedWrapper-=1}}],endDocument:[{description:"Build output",test:()=>!0,action:e=>{var{workspace:t,output:n}=e;n.usfm=t.usfmBits.join("").replace(/(\s*)\n(\s*)/gm,"\n")}}]};const Bu={name:"perf2usfm",type:"Transform",description:"PERF=>USFM",inputs:[{name:"perf",type:"json",source:""},{name:"report",type:"json",source:""}],outputs:[{name:"usfm",type:"text"}],code:function(e){var{perf:t,report:n}=e,r={};return new Hi.PerfRenderFromJson({srcJson:t,actions:Mu}).renderDocument({docId:"",config:{report:n},output:r}),{usfm:r.usfm}}};var Gu=Wi.filter((e=>"wordLike"===e[1]))[0][2],Lu=Wi.filter((e=>"lineSpace"===e[1]))[0][2],Fu=Wi.filter((e=>"punctuation"===e[1]))[0][2],Vu=e=>{[...e.os.filter((e=>["verse","verses"].includes(e.split("/")[0])))].reverse().forEach((t=>{e.block.items.push({type:"scope",subType:"end",payload:t}),e.os=[...e.os.filter((e=>e!==t))]}))},Uu={startDocument:[{description:"Set up word object",test:()=>!0,action:e=>{var{workspace:t,output:n}=e;n.pkJson={},t.sequenceId=null,t.block=null,t.os=[],t.waitingBlockGrafts=[]}}],startSequence:[{description:"Add sequence array to output",test:()=>!0,action:e=>{e.output.pkJson[e.context.sequences[0].id]=[],e.workspace.sequenceId=e.context.sequences[0].id}}],endSequence:[{description:"Reset sequenceId pointer",test:()=>!0,action:e=>{var t,n;[...(n=e.workspace).os].reverse().forEach((e=>{n.block.items.push({type:"scope",subType:"end",payload:e})})),n.os=[],e.workspace.sequenceId=null==(t=e.context.sequences[1])?void 0:t.id}}],unresolvedBlockGraft:[{description:"Stash for next para",test:()=>!0,action:e=>{var{context:t,workspace:n}=e;t.sequences[0].block.target&&n.waitingBlockGrafts.push({type:"graft",subType:t.sequences[0].block.subType,payload:t.sequences[0].block.target})}}],unresolvedInlineGraft:[{description:"Follow inline grafts",test:()=>!0,action:e=>{var{context:t,workspace:n}=e;t.sequences[0].element.target&&n.block.items.push({type:"graft",subType:t.sequences[0].element.subType,payload:t.sequences[0].element.target})}}],startParagraph:[{description:"Add object for paragraph block",test:()=>!0,action:e=>{var{context:t,workspace:n,output:r}=e;n.block={os:[...n.os],is:[],bs:{type:"scope",subType:"start",payload:"blockTag/"+t.sequences[0].block.subType.split(":")[1]},bg:[...n.waitingBlockGrafts],items:[]},r.pkJson[n.sequenceId].push(n.block)}}],endParagraph:[{description:"Close open scopes",test:()=>!0,action:e=>{var{workspace:t}=e;(e=>{[...e.os.filter((e=>["span"].includes(e.split("/")[1])))].reverse().forEach((t=>{e.block.items.push({type:"scope",subType:"end",payload:t}),e.os=[...e.os.filter((e=>e!==t))]}))})(t),t.waitingBlockGrafts=[]}}],mark:[{description:"ts mark as milestone",test:e=>{var{context:t}=e;return["usfm:ts"].includes(t.sequences[0].element.subType)},action:e=>{var{workspace:t}=e,n="milestone/ts";t.block.is.includes(n)||t.block.is.push(n),t.os.push(n),t.block.items.push({type:"scope",subType:"start",payload:n}),t.block.items.push({type:"scope",subType:"end",payload:n})}},{description:"Chapter",test:e=>{var{context:t}=e;return["chapter"].includes(t.sequences[0].element.subType)},action:e=>{var{context:t,workspace:n}=e;Vu(n),(e=>{[...e.os.filter((e=>["chapter"].includes(e.split("/")[0])))].reverse().forEach((t=>{e.block.items.push({type:"scope",subType:"end",payload:t}),e.os=[...e.os.filter((e=>e!==t))]}))})(n);var r="chapter/"+t.sequences[0].element.atts.number;n.block.is.includes(r)||n.block.is.push(r),n.os.push(r),n.block.items.push({type:"scope",subType:"start",payload:r})}},{description:"Verses",test:e=>{var{context:t}=e;return["verses"].includes(t.sequences[0].element.subType)},action:e=>{var{context:t,workspace:n}=e;Vu(n);var r=t.sequences[0].element,s=r.atts.number,o=[parseInt(s)];if(s.includes("-")){var[a,i]=s.split("-").map((e=>parseInt(e)));for(o=[a];a<=i;)a++,o.push(a)}for(var u of o){var c="verse/"+u;n.os.push(c),n.block.is.includes(c)||n.block.is.push(c),n.block.items.push({type:"scope",subType:"start",payload:c})}var d="verses/"+r.atts.number;n.block.is.includes(d)||n.block.is.push(d),n.os.push(d),n.block.items.push({type:"scope",subType:"start",payload:d})}}],startMilestone:[{description:"Add scope and update state",test:()=>!0,action:e=>{var{context:t,workspace:n}=e,r=t.sequences[0].element,s="milestone/"+r.subType.split(":")[1];for(var[o,a]of(n.block.is.includes(s)||n.block.is.push(s),n.os.push(s),n.block.items.push({type:"scope",subType:"start",payload:s}),Object.entries(r.atts||{}))){var i=a.toString().split(",");for(var[u,c]of i.entries()){var d="attribute/milestone/"+r.subType.split(":")[1]+"/"+o+"/"+u+"/"+c;n.block.is.includes(d)||n.block.is.push(d),n.os.push(d),n.block.items.push({type:"scope",subType:"start",payload:d})}}}}],endMilestone:[{description:"Remove scope and update state",test:()=>!0,action:e=>{var{context:t,workspace:n}=e,r=t.sequences[0].element,s="attribute/milestone/"+r.subType.split(":")[1],o=function(e){n.os=n.os.filter((t=>t!==e)),n.block.items.push({type:"scope",subType:"end",payload:e})};for(var a of[...n.os.filter((e=>e.startsWith(s)))].reverse())o(a);var i="milestone/"+r.subType.split(":")[1];n.os=n.os.filter((e=>e!==i)),n.block.items.push({type:"scope",subType:"end",payload:i})}}],startWrapper:[{description:"Add scope and update state",test:()=>!0,action:e=>{var{context:t,workspace:n}=e,r=t.sequences[0].element,s=("usfm:w"===r.subType?"spanWithAtts":"span")+"/"+r.subType.split(":")[1];for(var[o,a]of(n.block.is.includes(s)||n.block.is.push(s),n.os.push(s),n.block.items.push({type:"scope",subType:"start",payload:s}),Object.entries(r.atts||{}))){var i=a.toString().split(",");for(var[u,c]of i.entries()){var d="attribute/spanWithAtts/w/"+o+"/"+u+"/"+c;n.block.is.includes(d)||n.block.is.push(d),n.os.push(d),n.block.items.push({type:"scope",subType:"start",payload:d})}}}}],endWrapper:[{description:"Remove scope and update state",test:()=>!0,action:e=>{var{context:t,workspace:n}=e,r=t.sequences[0].element;for(var[s,o]of[...Object.entries(r.atts||{})].reverse()){var a=o.toString().split(","),i=function(e,t){var r="attribute/spanWithAtts/w/"+s+"/"+e+"/"+t;n.os=n.os.filter((e=>e!==r)),n.block.items.push({type:"scope",subType:"end",payload:r})};for(var[u,c]of[...a.entries()].reverse())i(u,c)}var d=("usfm:w"===r.subType?"spanWithAtts":"span")+"/"+r.subType.split(":")[1];n.os=n.os.filter((e=>e!==d)),n.block.items.push({type:"scope",subType:"end",payload:d})}}],text:[{description:"Log occurrences",test:()=>!0,action:e=>{var{context:t,workspace:n}=e,r=t.sequences[0].element.text,s=l.default.union(Wi.map((e=>e[2]))),o=l.default.match(r,s,"all");for(var a of o){var i=void 0;l.default.test(a,Gu)?i="wordLike":l.default.test(a,Lu)?i="lineSpace":l.default.test(a,Fu)&&(i="punctuation"),n.block.items.push({type:"token",subType:i,payload:a})}}}],endDocument:[{description:"Rework hanging end cv scopes",test:()=>!0,action:e=>{for(var{output:t}=e,n=Object.values(t.pkJson)[0],r=1;r<n.length;r++){for(var s=n[r].items,o=n[r-1].items,a=0;a<s.length;){var i=s[a];if("scope"!==i.type||"end"!==i.subType)break;a++}for(var u=function(){var e=s.shift();o.push(e),n[r].os=n[r].os.filter((t=>t!==e.payload)),a--};a>0;)u()}}}]};const Ju={calculateUsfmChapterPositions:qu,perf2usfm:Bu,perf2PkJson:{name:"perf2PkJson",type:"Transform",description:"PERF=>JSON: Converts PERF to current Proskomma input format",documentation:"",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"pkJson",type:"json"}],code:function(e){var{perf:t}=e,n={};return new Hi.PerfRenderFromJson({srcJson:t,ignoreMissingSequences:!0,actions:Uu}).renderDocument({docId:"",config:{},output:n}),{pkJson:n.pkJson}}}};var Hu=n(5108),Ku=gi.ByteArray,{itemEnum:Wu}=gi.itemDefs,{tokenEnum:Xu}=gi.tokenDefs,Yu=e=>{var t=e.sequences[e.mainId],n=e.processor.docSets[e.docSetId];n.buildPreEnums(),n.buildEnumIndexes();var r={},s={},o="0",a="0",i="1",u=0;if(t.chapterVerses={},0===n.enums.wordLike.length)throw new Error("No wordLike content in docSet - probably a USFM issue, maybe missing \\mt?");for(var[c,d]of(t.tokensPresent=new(na())(new Array(n.enums.wordLike.length).fill(0).map((e=>e.toString())).join("")),t.blocks.entries()))for(var l=0,p=d.c,f=-1;l<p.length;){f++;var[h,m,S]=gi.succinct.headerBytes(p,l);if(m===Wu.startScope){var y=n.succinctScopeLabel(p,S,l);y.startsWith("chapter/")?(r[o=y.split("/")[1]]={},s[o]={startBlock:c,startItem:f,nextToken:u}):y.startsWith("verse/")?("1"!==(a=y.split("/")[1])||"0"in r[o]||s[o].nextToken<u&&(r[o][0]=[{startBlock:s[o].startBlock,startItem:s[o].startItem,endBlock:c,endItem:Math.max(f-1,0),nextToken:s[o].nextToken,verses:"0"}]),a in r[o]||(r[o][a]=[]),r[o][a].push({startBlock:c,startItem:f,nextToken:u})):y.startsWith("verses/")&&(i=y.split("/")[1])}else if(m===Wu.endScope){var g=n.succinctScopeLabel(p,S,l);if(g.startsWith("chapter/")){var v=s[o=g.split("/")[1]];v&&(v.endBlock=c,v.endItem=f)}else if(g.startsWith("verse/")&&(a=g.split("/")[1],r[o][a])){var b=r[o][a][r[o][a].length-1];b.endBlock=c,b.endItem=f,b.verses=i}}else m===Wu.token&&S===Xu.wordLike&&(t.tokensPresent.set(p.nByte(l+2),1),u++);l+=h}for(var[E,A]of Object.entries(r)){var T=new Ku;t.chapterVerses[E]=T;var w=Object.keys(A).map((e=>parseInt(e))).sort(((e,t)=>e-t));if(0!==w.length){var k=w[w.length-1],P=Array.from(Array(k+1).keys()),I=0;for(var N of P){var O=""+N;if(O in A){var _=A[O],x=_.length;for(var[C,D]of _.entries())if(D.verses){var $=n.enumForCategoryValue("scopeBits",D.verses),R=D.startBlock===D.endBlock?2:3;T.pushByte(0),2===R?T.pushNBytes([D.startBlock,D.startItem,D.endItem,D.nextToken,$]):T.pushNBytes([D.startBlock,D.endBlock,D.startItem,D.endItem,D.nextToken,$]),T.setByte(I,Qu(R,C===x-1,T.length-I)),I=T.length}else Hu.log("** VerseElement without verses for "+N+" in buildChapterVerseIndex")}else T.pushByte(Qu(0,!0,1)),I++}T.trim()}}for(var[q,j]of(t.chapters={},Object.entries(s)))if("startBlock"in j&&"endBlock"in j){var M=new Ku;t.chapters[q]=M;var B=j.startBlock===j.endBlock?2:3;M.pushByte(0),2===B?M.pushNBytes([j.startBlock,j.startItem,j.endItem,j.nextToken]):M.pushNBytes([j.startBlock,j.endBlock,j.startItem,j.endItem,j.nextToken]),M.setByte(0,Qu(B,!0,M.length)),M.trim()}},zu=(e,t)=>{var n=e.processor.docSets[e.docSetId];n.buildEnumIndexes();var r=[],s=e.sequences[e.mainId].chapterVerses[t];if(s)for(var o=0,a=[];o<s.length;){var[i,u,c]=ec(s,o);if(2===i){var d=s.nBytes(o+1,5);a.push({startBlock:d[0],endBlock:d[0],startItem:d[1],endItem:d[2],nextToken:d[3],verses:n.enums.scopeBits.countedString(n.enumIndexes.scopeBits[d[4]])})}else if(3===i){var l=s.nBytes(o+1,6);a.push({startBlock:l[0],endBlock:l[1],startItem:l[2],endItem:l[3],nextToken:l[4],verses:n.enums.scopeBits.countedString(n.enumIndexes.scopeBits[l[5]])})}u&&(r.push(a),a=[]),o+=c}return r},Zu=(e,t)=>{var n=e.sequences[e.mainId].chapters[t];if(n){var r=ec(n,0)[0];if(2===r){var s=n.nBytes(1,4);return{startBlock:s[0],endBlock:s[0],startItem:s[1],endItem:s[2],nextToken:s[3]}}if(3===r){var o=n.nBytes(1,5);return{startBlock:o[0],endBlock:o[1],startItem:o[2],endItem:o[3],nextToken:o[4]}}}},Qu=(e,t,n)=>n+(t?32:0)+64*e,ec=(e,t)=>{var n=e.byte(t);return[n>>6,(n>>5)%2==1,n%32]},tc=n(9748),nc=n.n(tc),rc=(e,t,n)=>{var r=e.processor.docSets[e.docSetId];for(var s of Object.values(e.sequences))for(var o of s.blocks)for(var a="block"===t?o.bg:o.c,i=0;i<a.length;){var[u,c]=gi.succinct.headerBytes(a,i);c!==gi.itemDefs.itemEnum.graft?i+=u:gi.succinct.succinctGraftSeqId(r.enums,r.enumIndexes,a,i)===n?a.deleteItem(i):i+=u}},sc=(e,t,n,r,s,o)=>{for(var a=0,i=-1;a<n.c.length;){i++;var[u,c,d]=gi.succinct.headerBytes(n.c,a);s(e,t,n,i,c,d,a)&&o(e,t,n,r,i,u,c,d,a),a+=u}},oc=gi.ByteArray,{pushSuccinctGraftBytes:ac,pushSuccinctScopeBytes:ic,pushSuccinctTokenBytes:uc}=gi.succinct,{itemEnum:cc}=gi.itemDefs,{scopeEnum:dc,scopeEnumLabels:lc,nComponentsForScope:pc}=gi.scopeDefs,{tokenCategory:fc,tokenEnum:hc}=gi.tokenDefs,{headerBytes:mc}=gi.succinct,Sc=gi.ByteArray,{itemEnum:yc}=gi.itemDefs,gc=e=>{var t={type:e.type,blocks:e.blocks.map((e=>vc(e))),tags:Array.from(e.tags)};if("main"===e.type){for(var[n,r]of(t.chapters={},Object.entries(e.chapters||{})))r.trim(),t.chapters[n]=r.base64();for(var[s,o]of(t.chapterVerses={},Object.entries(e.chapterVerses||{})))o.trim(),t.chapterVerses[s]=o.base64();"tokensPresent"in e&&(t.tokensPresent="0x"+e.tokensPresent.toString(16))}return t},vc=e=>{for(var t of["bs","bg","c","is","os","nt"])e[t].trim();return{bs:e.bs.base64(),bg:e.bg.base64(),c:e.c.base64(),is:e.is.base64(),os:e.os.base64(),nt:e.nt.base64()}},bc=(e,t)=>{for(var n of e.unsuccinctifyItems(t,{},0))if("token"===n[0])"wordLike"===n[1]?e.recordPreEnum("wordLike",n[2]):e.recordPreEnum("notWordLike",n[2]);else if("graft"===n[0])e.recordPreEnum("graftTypes",n[1]);else if("scope"===n[0]&&"start"===n[1]){var r=n[2].split("/");if(r.length!==gi.scopeDefs.nComponentsForScope(r[0]))throw new Error("Scope "+n[2]+" has unexpected number of components");for(var s of r.slice(1))e.recordPreEnum("scopeBits",s)}},Ec=n(5108);function Ac(e,t,n,r,s,o,a){try{var i=e[o](a),u=i.value}catch(e){return void n(e)}i.done?t(u):Promise.resolve(u).then(r,s)}var{addTag:Tc,removeTag:wc,validateTags:kc}=gi.tags,Pc=gi.parserConstants;class Ic{constructor(e,t,n,r,s,o,a,i){if(this.processor=e,this.docSetId=t,this.baseSequenceTypes=Pc.usfm.baseSequenceTypes,n)switch(this.id=gi.generateId(),this.filterOptions=s,this.customTags=o,this.emptyBlocks=a,this.tags=new Set(i||[]),kc(this.tags),this.headers={},this.mainId=null,this.sequences={},n.toLowerCase()){case"usfm":case"sfm":this.processUsfm(r);break;case"usx":this.processUsx(r);break;case"tsv":this.processTSV(r);break;case"nodes":this.processNodes(r);break;default:throw new Error("Unknown document contentType '"+n+"'")}}addTag(e){Tc(this.tags,e)}removeTag(e){wc(this.tags,e)}makeParser(){return new class{constructor(e,t,n){var r;this.filterOptions=e,this.customTags=t,this.emptyBlocks=n,this.specs=[{contexts:[["startTag","tagName",["id","usfm","ide","sts","h","toc","toca","cl"]]],parser:{baseSequenceType:"header",forceNewSequence:!0,newBlock:!0,useTempSequence:!0,newScopes:[{label:e=>e.fullTagName,endedBy:["baseSequenceChange"],onEnd:(e,t)=>{if(e.headers[t]=e.current.sequence.plainText(),"id"===t&&(3===e.headers[t].length||e.headers[t].length>3&&" "===e.headers[t].substring(3,4))){var n=e.headers[t].substring(0,3);e.headers.bookCode=n}}}]}},{contexts:[["startTag","tagName",["ms","mr","s","sr","r","qa","sp","sd"].concat((r=this).customTags.heading)]],parser:{baseSequenceType:"heading",forceNewSequence:!0,newBlock:!0,newScopes:[]}},{contexts:[["startTag","tagName",["mt"]]],parser:{baseSequenceType:"title",newBlock:!0,newScopes:[]}},{contexts:[["startTag","tagName",["mte"]]],parser:{baseSequenceType:"endTitle",newBlock:!0,newScopes:[]}},{contexts:[["startTag","tagName",["imt","is","ip","ipi","im","imi","ipq","imq","ipr","iq","ib","ili","iot","io","iex","imte"].concat(r.customTags.intro)]],parser:{baseSequenceType:"introduction",newBlock:!0,newScopes:[]}},{contexts:[["startTag","tagName",["esb"]]],parser:{baseSequenceType:"sidebar",newBlock:!0,newScopes:[],after:e=>{e.mainLike=e.current.sequence}}},{contexts:[["startTag","tagName",["esbe"]]],parser:{baseSequenceType:"main",newBlock:!0,newScopes:[],after:e=>{e.mainLike=e.sequences.main}}},{contexts:[["startTag","tagName",["cat"]]],parser:{inlineSequenceType:"esbCat",forceNewSequence:!0,newScopes:[{label:e=>ku("inline",[e.fullTagName]),endedBy:["endTag/cat","endBlock","implicitEnd"],onEnd:e=>e.returnToBaseSequence()}],during:(e,t)=>{var n=gi.generateId(),r={label:()=>ku("esbCat",[n]),endedBy:["startTag/esbe"]};e.openNewScope(t,r,!0,e.mainLike)}}},{contexts:[["startTag","tagName",["rem"]]],parser:{baseSequenceType:"remark",forceNewSequence:!0,newScopes:[]}},{contexts:[["startTag","tagName",["cd","p","m","po","pr","cls","pmo","pm","pmc","pmr","pi","mi","nb","pc","ph","b","q","qr","qc","qa","qm","qd","lh","li","lf","lim","d"].concat(r.customTags.paragraph)]],parser:{baseSequenceType:"mainLike",newBlock:!0,newScopes:[]}},{contexts:[["startTag","tagName",["tr"]]],parser:{newBlock:!0,newScopes:[]}},{contexts:[["startTag","tagName",["f","fe"]]],parser:{inlineSequenceType:"footnote",forceNewSequence:!0,newScopes:[{label:e=>ku("inline",[e.fullTagName]),endedBy:["endTag/f","endTag/fe","endBlock"],onEnd:e=>e.returnToBaseSequence()}]}},{contexts:[["startTag","tagName",["x"]]],parser:{inlineSequenceType:"xref",forceNewSequence:!0,newScopes:[{label:e=>ku("inline",[e.fullTagName]),endedBy:["endTag/x","endBlock"],onEnd:e=>e.returnToBaseSequence()}]}},{contexts:[["startTag","tagName",["fig"]]],parser:{inlineSequenceType:"fig",forceNewSequence:!0,newScopes:[{label:e=>ku("spanWithAtts",[e.tagName]),endedBy:["endBlock","endTag/$tagName$"],onEnd:e=>e.clearAttributeContext()}],during:(e,t)=>{e.setAttributeContext(ku("spanWithAtts",[t.tagName]))}}},{contexts:[["chapter"]],parser:{mainSequence:!0,newScopes:[{label:e=>ku("chapter",[e.number]),endedBy:["chapter"]}]}},{contexts:[["pubchapter"]],parser:{mainSequence:!0,newScopes:[{label:e=>ku("pubChapter",[e.numberString]),endedBy:["pubchapter","chapter"]}]}},{contexts:[["startTag","tagName",["ca"]]],parser:{inlineSequenceType:"altNumber",forceNewSequence:!0,newScopes:[{label:e=>ku("inline",[e.fullTagName]),endedBy:["endTag/ca","endBlock","implicitEnd"],onEnd:e=>e.returnToBaseSequence()}],during:(e,t)=>{var n=gi.generateId(),r={label:()=>ku("altChapter",[n]),endedBy:["startTag/ca","chapter"]};e.openNewScope(t,r,!0,e.sequences.main)}}},{contexts:[["verses"]],parser:{mainSequence:!0,newScopes:[{label:e=>ku("verses",[e.numberString]),endedBy:["verses","chapter","pubchapter"]}],during:(e,t)=>{t.numbers.forEach((n=>{var r={label:()=>ku("verse",[n]),endedBy:["verses","chapter","pubchapter"]};e.openNewScope(t,r,!0,e.sequences.main)}))}}},{contexts:[["startTag","tagName",["vp"]]],parser:{inlineSequenceType:"pubNumber",forceNewSequence:!0,newScopes:[{label:e=>ku("inline",[e.fullTagName]),endedBy:["endTag/vp","endBlock","implicitEnd"],onEnd:e=>e.returnToBaseSequence()}],during:(e,t)=>{var n=gi.generateId(),r={label:()=>ku("pubVerse",[n]),endedBy:["startTag/vp","verses","chapter","pubchapter"]};e.openNewScope(t,r,!0,e.sequences.main)}}},{contexts:[["startTag","tagName",["va"]]],parser:{inlineSequenceType:"altNumber",forceNewSequence:!0,newScopes:[{label:e=>ku("inline",[e.fullTagName]),endedBy:["endTag/va","endBlock","implicitEnd"],onEnd:e=>e.returnToBaseSequence()}],during:(e,t)=>{var n=gi.generateId(),r={label:()=>ku("altVerse",[n]),endedBy:["startTag/va","verses","chapter","pubchapter"]};e.openNewScope(t,r,!0,e.sequences.main)}}},{contexts:[["startTag","tagName",["qs","qac","litl","lik","liv","fr","fq","fqa","fk","fl","fw","fp","fv","ft","fdc","fm","xo","xk","xq","xt","xta","xop","xot","xnt","xdc","rq","add","bk","dc","k","nd","ord","pn","png","qt","sig","sls","tl","wj","em","bd","it","bdit","no","sc","sup","ior","iqt"].concat(r.customTags.char)]],parser:{newScopes:[{label:e=>ku("span",[e.fullTagName]),endedBy:["endBlock","endTag/$fullTagName$","implicitEnd"]}]}},{contexts:[["startTag","tagName",["th","thr","tc","tcr"]]],parser:{newScopes:[{label:e=>ku("cell",[e.fullTagName]),endedBy:["startTag/th","startTag/thr","startTag/tc","startTag/tcr","startTag/th2","startTag/thr2","startTag/tc2","startTag/tcr2","startTag/th3","startTag/thr3","startTag/tc3","startTag/tcr3","endBlock","endTag/$fullTagName$"]}]}},{contexts:[["emptyMilestone"]],parser:{during:(e,t)=>e.addEmptyMilestone(ku("milestone",[t.tagName]))}},{contexts:[["startMilestoneTag","sOrE","s"]],parser:{newScopes:[{label:e=>ku("milestone",[e.tagName]),endedBy:["endMilestone/$tagName$"]}],during:(e,t)=>{e.setAttributeContext(ku("milestone",[t.tagName]))}}},{contexts:[["endMilestoneMarker"]],parser:{during:e=>e.clearAttributeContext()}},{contexts:[["attribute"],["defaultAttribute"]],parser:{during:(e,t)=>{if(e.current.attributeContext){var n=e.current.attributeContext.split("/");"default"===t.key&&2===n.length&&(t.key={w:"lemma",rb:"gloss",xt:"link-href"}[n[1]]||"unknownDefault_"+n[1],t.printValue=t.printValue.replace(/default/,t.key)),[...t.values.entries()].forEach((n=>{var r={label:t=>ku("attribute",[e.current.attributeContext,t.key,n[0],n[1]]),endedBy:["$attributeContext$"]};e.openNewScope(t,r)}))}else e.addToken(zi.printable("unknown",[t.printValue]))}}},{contexts:[["startTag","tagName",["w","rb"].concat(r.customTags.word)]],parser:{newScopes:[{label:e=>ku("spanWithAtts",[e.tagName]),endedBy:["endBlock","endTag/$tagName$"],onEnd:e=>e.clearAttributeContext()}],during:(e,t)=>{e.setAttributeContext(ku("spanWithAtts",[t.tagName]))}}},{contexts:[["wordLike"],["lineSpace"],["punctuation"],["eol"]],parser:{during:(e,t)=>e.addToken(t)}},{contexts:[["noBreakSpace"]],parser:{during:e=>{e.addToken(zi.printable("lineSpace",[" "]))}}},{contexts:[["softLineBreak"]],parser:{during:e=>{e.addToken(zi.printable("softLineBreak",["//"]))}}},{contexts:[["bareSlash"]],parser:{during:e=>{e.addToken(zi.printable("bareSlash",["\\"]))}}},{contexts:[["unknown"]],parser:{during:(e,t)=>{e.addToken(zi.printable("unknown",[t.printValue]))}}}],this.specLookup=(e=>{var t={};for(var n of e)for(var r of n.contexts){r[0]in t||(t[r[0]]={});var s=r[1];if(s)for(var o of(s in t[r[0]]||(t[r[0]][s]={}),r[2]))t[r[0]][s][o]=n.parser;else t[r[0]]._noAccessor=n.parser}return t})(this.specs),this.headers={},this.baseSequenceTypes=Cu.usfm.baseSequenceTypes,this.inlineSequenceTypes=Cu.usfm.inlineSequenceTypes,this.setSequences(),this.setCurrent()}setSequences(){for(var[e,t]of(this.sequences={},Object.entries(Ou({},this.baseSequenceTypes,this.inlineSequenceTypes))))switch(t){case"1":this.sequences[e]=new fu(e);break;case"?":this.sequences[e]=null;break;case"*":this.sequences[e]=[];break;default:throw new Error("Unexpected sequence arity '"+t+"' for '"+e+"'")}this.mainLike=this.sequences.main}setCurrent(){this.current={sequence:this.sequences.main,parentSequence:null,baseSequenceType:"main",inlineSequenceType:null,attributeContext:null}}parseItem(e){var t=!1;["startTag"].includes(e.subclass)&&(this.closeActiveScopes("startTag/"+e.fullTagName),e.isNested||this.closeActiveScopes("implicitEnd")),["endTag"].includes(e.subclass)&&this.closeActiveScopes("endTag/"+e.fullTagName),["startMilestoneTag"].includes(e.subclass)&&"e"===e.sOrE&&this.closeActiveScopes("endMilestone/"+e.tagName),["chapter","pubchapter","verses"].includes(e.subclass)&&this.closeActiveScopes(e.subclass,this.sequences.main);var n=this.specForItem(e);n&&("before"in n.parser&&n.parser.before(this,e),t=!1,n.parser.baseSequenceType&&(t=("mainLike"===n.parser.baseSequenceType?this.mainLike.type:n.parser.baseSequenceType)!==this.current.baseSequenceType||n.parser.forceNewSequence),t?(this.closeActiveScopes("baseSequenceChange"),this.changeBaseSequence(n.parser),"newBlock"in n.parser&&n.parser.newBlock&&(this.closeActiveScopes("endBlock"),this.current.sequence.newBlock(xu("blockTag",[e.fullTagName])))):n.parser.inlineSequenceType?(this.current.inlineSequenceType=n.parser.inlineSequenceType,this.current.parentSequence=this.current.sequence,"header"===this.current.parentSequence.type&&(this.current.parentSequence=this.sequences.main),this.current.sequence=new fu(this.current.inlineSequenceType),this.current.sequence.newBlock(xu("inline",n.parser.inlineSequenceType)),this.sequences[this.current.inlineSequenceType].push(this.current.sequence),this.current.parentSequence.addItem({type:"graft",subType:this.current.inlineSequenceType,payload:this.current.sequence.id})):"newBlock"in n.parser&&n.parser.newBlock&&this.current.sequence.newBlock(xu("blockTag",[e.fullTagName])),"during"in n.parser&&n.parser.during(this,e),this.openNewScopes(n.parser,e),"after"in n.parser&&n.parser.after(this,e))}tidy(){for(var e of this.sequences.introduction)e.graftifyIntroductionHeadings(this);var t=this.allSequences();for(var n of t)n.trim(),n.reorderSpanWithAtts(),n.makeNoteGrafts(this),n.moveOrphanScopes(),n.removeEmptyBlocks(this.emptyBlocks);var r=this.emptySequences(t);for(var s of t)r&&s.removeGraftsToEmptySequences(r),s.addTableScopes(),s.close(this),this.substitutePubNumberScopes(s),s.moveOrphanStartScopes2(),"sidebar"===s.type&&this.substituteEsbCatScopes(s),["footnote","xref"].includes(s.type)&&s.lastBlock().inlineToEnd()}emptySequences(e){return e.filter((e=>0===e.blocks.length)).map((e=>e.id))}substitutePubNumberScopes(e){var t={},n=this.sequenceById();for(var r of e.blocks){var s=0,o=[...r.items];for(var[a,i]of o.entries())if("graft"===i.type&&["pubNumber","altNumber"].includes(i.subType)){var u=n[i.payload].text().trim();t[o[a+1].payload.split("/")[1]]=u,r.items.splice(a-s,1),s++}}if(Object.keys(t).length>0)for(var c of e.blocks)for(var d of c.items.filter((e=>"scope"===e.type))){var l=d.payload.split("/");["altChapter","pubVerse","altVerse"].includes(l[0])&&(d.payload=l[0]+"/"+t[l[1]])}}substituteEsbCatScopes(e){var t={},n=this.sequenceById();for(var r of e.blocks){var s=0,o=[...r.items];for(var[a,i]of o.entries())if("graft"===i.type&&"esbCat"===i.subType){var u=n[i.payload].text().trim();t[o[1].payload.split("/")[1]]=u,r.items.splice(a-s,1),s++}}if(Object.keys(t).length>0)for(var c of e.blocks)for(var d of c.items.filter((e=>"scope"===e.type))){var l=d.payload.split("/");"esbCat"===l[0]&&(d.payload=l[0]+"/"+t[l[1]])}}allSequences(){var e=[];for(var[t,n]of Object.entries(Ou({},this.baseSequenceTypes,this.inlineSequenceTypes)))switch(n){case"1":case"?":this.sequences[t]&&e.push(this.sequences[t]);break;case"*":this.sequences[t].forEach((t=>{e.push(t)}));break;default:throw new Error("Unexpected sequence arity '"+n+"' for '"+t+"'")}return e}sequenceById(){var e={};return this.allSequences().forEach((t=>{e[t.id]=t})),e}filter(){var e=[],t=this.sequenceById();this.filterGrafts(this.sequences.main.id,t,e,this.filterOptions),this.removeUnusedSequences(e),this.filterScopes(Object.values(t),this.filterOptions)}filterGrafts(e,t,n,r){n.push(e);var s=t[e].filterGrafts(r);for(var o of s)"main"===t[o].type&&(Pu.log("MAIN is child!"),Pu.log(JSON.stringify(t[e],null,2)),Iu.exit(1)),this.filterGrafts(o,t,n,r)}removeUnusedSequences(e){var t=this,n=function(n){if(!e.includes(n.id)){var r=Ou({},t.baseSequenceTypes,t.inlineSequenceTypes)[n.type];switch(r){case"1":throw new Error("Attempting to remove sequence with arity of 1");case"?":t.sequences[n.type]=null;break;case"*":t.sequences[n.type]=t.sequences[n.type].filter((e=>e.id!==n.id));break;default:throw new Error("Unexpected sequence arity '"+r+"' for '"+n.type+"'")}}};for(var r of this.allSequences())n(r)}filterScopes(e,t){e.forEach((e=>e.filterScopes(t)))}specForItem(e){var t=e.subclass;if(!(t in this.specLookup))return null;for(var n of["tagName","sOrE"])if(n in e&&n in this.specLookup[t]&&e[n]in this.specLookup[t][n])return{parser:this.specLookup[t][n][e[n]]};return"_noAccessor"in this.specLookup[t]?{parser:this.specLookup[t]._noAccessor}:null}closeActiveScopes(e,t){void 0===t&&(t=this.current.sequence);var n=t.activeScopes.filter((t=>t.endedBy.includes(e))).reverse();t.activeScopes=t.activeScopes.filter((t=>!t.endedBy.includes(e))),n.forEach((e=>this.closeActiveScope(e,t)))}closeActiveScope(e,t){this.addScope("end",e.label,t),e.onEnd&&e.onEnd(this,e.label)}changeBaseSequence(e){var t=e.baseSequenceType;if("mainLike"!==t){this.current.baseSequenceType=t;var n=this.baseSequenceTypes[t];switch(n){case"1":this.current.sequence=this.sequences[t];break;case"?":this.sequences[t]||(this.sequences[t]=new fu(t)),this.current.sequence=this.sequences[t];break;case"*":this.current.sequence=new fu(t),e.useTempSequence||this.sequences[t].push(this.current.sequence);break;default:throw new Error("Unexpected base sequence arity '"+n+"' for '"+t+"'")}e.useTempSequence||"main"===this.current.sequence.type||this.mainLike.addBlockGraft({type:"graft",subType:this.current.baseSequenceType,payload:this.current.sequence.id})}else this.current.sequence=this.mainLike}returnToBaseSequence(){this.current.inlineSequenceType=null,this.current.sequence=this.current.parentSequence,this.current.parentSequence=null}openNewScopes(e,t){if(e.newScopes){var n=this.current.sequence;"mainSequence"in e&&e.mainSequence&&(n=this.sequences.main),e.newScopes.forEach((e=>this.openNewScope(t,e,!0,n)))}}openNewScope(e,t,n,r){void 0===n&&(n=!0),void 0===r&&(r=this.current.sequence),n&&r.addItem({type:"scope",subType:"start",payload:t.label(e)});var s={label:t.label(e),endedBy:this.substituteEndedBys(t.endedBy,e)};"onEnd"in t&&(s.onEnd=t.onEnd),r.activeScopes.push(s)}substituteEndedBys(e,t){return e.map((e=>{var n=e.replace("$fullTagName$",t.fullTagName).replace("$tagName$",t.tagName);return this.current.attributeContext&&(n=n.replace("$attributeContext$",this.current.attributeContext.replace("milestone","endMilestone").replace("spanWithAtts","endTag"))),n}))}addToken(e){this.current.sequence.addItem({type:"token",subType:e.subclass,payload:e.printValue})}addScope(e,t,n){void 0===n&&(n=this.current.sequence),n.addItem({type:"scope",subType:e,payload:t})}addEmptyMilestone(e){this.mainLike.addItem({type:"scope",subType:"start",payload:e}),this.mainLike.addItem({type:"scope",subType:"end",payload:e})}setAttributeContext(e){this.current.attributeContext=e}clearAttributeContext(){this.current.attributeContext=null}}(this.filterOptions,this.customTags,this.emptyBlocks)}processUsfm(e){var t=this.makeParser();Date.now(),((e,t)=>{for(var n=l.default.match(e,Xi,"all"),r=0;r<n.length;r++)t.parseItem(Zi(n[r],Wi))})(e,t),Date.now(),this.postParseScripture(t),Date.now(),Date.now()}processUsx(e){var t=this.makeParser();Date.now(),((e,t)=>{(new nu).lexAndParse(e,t)})(e,t),Date.now(),this.postParseScripture(t),Date.now(),Date.now()}processTSV(e){var t=this.makeParser(),n="T"+(this.processor.nextTable>9?this.processor.nextTable:"0"+this.processor.nextTable);this.processor.nextTable++,((e,t,n)=>{var{rows:r}=JSON.parse(e);t.headers.id=n,t.headers.bookCode=n;var s=new fu("table");for(var[o,a]of r.entries())for(var[i,u]of a.entries()){s.newBlock(gu("tTableRow",[""+o]));var c=s.lastBlock();for(var[d,l]of(c.addItem({type:"scope",subType:"start",payload:"tTableCol/"+i}),yu(u)))c.addItem({type:"token",subType:l,payload:d});c.addItem({type:"scope",subType:"end",payload:"tTableCol/"+i})}t.sequences.table.push(s),t.sequences.main.addBlockGraft({type:"graft",subType:"table",payload:s.id})})(e,t,n),this.headers=t.headers,this.succinctPass1(t),this.succinctPass2(t),Yu(this);var r=Object.values(this.sequences).filter((e=>"table"===e.type))[0];for(var[s,o]of JSON.parse(e).headings.entries())r.tags.add("col"+s+":"+o)}processNodes(e){var t=this.makeParser(),n="N"+(this.processor.nextNodes>9?this.processor.nextNodes:"0"+this.processor.nextNodes);this.processor.nextNodes++,((e,t,n)=>{t.headers.id=n,t.headers.bookCode=n;var r=new fu("tree");for(var s of wu(Tu(JSON.parse(e)))){r.newBlock(Eu("tTreeNode",[""+s.id]));var o=Eu("tTreeParent",[""+s.parentId]);if(r.lastBlock().items.push({type:"scope",subType:"start",payload:o}),s.content)for(var[a,i]of Object.entries(s.content)){var u=r.lastBlock().items.length,c=yu(i),d=Eu("tTreeContent",[a,s.id,""+u,""+c.length]);for(var[l,p]of(r.lastBlock().items.push({type:"scope",subType:"start",payload:d}),c))r.lastBlock().items.push({type:"token",subType:p,payload:l});r.lastBlock().items.push({type:"scope",subType:"end",payload:d})}if(s.children)for(var[f,h]of s.children.entries()){var m=Eu("tTreeChild",[f,h]);r.lastBlock().items.push({type:"scope",subType:"start",payload:m}),r.lastBlock().items.push({type:"scope",subType:"end",payload:m})}r.lastBlock().items.push({type:"scope",subType:"end",payload:o})}t.sequences.tree.push(r),t.sequences.main.addBlockGraft({type:"graft",subType:"tree",payload:r.id})})(e,t,n),this.headers=t.headers,this.succinctPass1(t),this.succinctPass2(t),Yu(this)}postParseScripture(e){Date.now(),e.tidy(),Date.now(),Date.now();var t=e.filterOptions;this.headers=e.headers,this.succinctPass1(e),Date.now(),Date.now(),this.succinctPass2(e),Date.now(),Date.now(),this.succinctFilter(t),Date.now(),Date.now(),Yu(this),Date.now()}succinctFilter(e){((e,t)=>{if(t&&0!==Object.keys(t).length){var n=e.processor.docSets[e.docSetId],r=(e,r,s,o,a,i,u)=>{if(a===yc.token)return!0;if(a===yc.startScope||a===yc.endScope){if(t.includeScopes||t.excludeScopes){var c=n.unsuccinctifyScope(s.c,a,i,u);return(!t.includeScopes||t.includeScopes.filter((e=>c[2].startsWith(e))).length>0)&&(!t.excludeScopes||0===t.excludeScopes.filter((e=>c[2].startsWith(e))).length)}return!0}if(!t.includeGrafts&&!t.excludeGrafts)return!0;var d=n.unsuccinctifyGraft(s.c,i,u);return(!t.includeGrafts||t.includeGrafts.filter((e=>d[1].startsWith(e))).length>0)&&(!t.excludeGrafts||0===t.excludeGrafts.filter((e=>d[1].startsWith(e))).length)},s=(e,r,s)=>{for(var o=new Sc(s.bg.length),a=0,i=function(){var[e,r,i]=gi.succinct.headerBytes(s.bg,a),u=n.unsuccinctifyGraft(s.bg,i,a);if((!t.includeGrafts||t.includeGrafts.filter((e=>u[1].startsWith(e))).length>0)&&(!t.excludeGrafts||0===t.excludeGrafts.filter((e=>u[1].startsWith(e))).length))for(var c=0;c<e;c++)o.pushByte(s.bg.byte(a+c));a+=e};a<s.bg.length;)i();return o.trim(),s.bg=o,s};Object.keys(e.sequences).forEach((t=>{e.modifySequence(t,null,null,r,s,null)})),Object.values(e.sequences).forEach((e=>n.updateBlockIndexesAfterFilter(e))),e.gcSequences()}})(this,e)}succinctPass1(e){var t=this.processor.docSets[this.docSetId];for(var n of(Date.now(),e.allSequences()))t.recordPreEnum("ids",n.id),this.recordPreEnums(t,n);Date.now(),Date.now(),0===t.enums.wordLike.length&&(t.sortPreEnums(),Date.now(),Date.now()),t.buildEnums(),Date.now()}recordPreEnums(e,t){((e,t)=>{for(var[n,r]of(e.recordPreEnum("scopeBits","0"),t.blocks.entries()))for(var[s,o]of[...r.items,r.bs,...r.bg].entries())if("wordLike"===o.subType)e.recordPreEnum("wordLike",o.payload);else if(["lineSpace","eol","punctuation","softLineBreak","bareSlash","unknown"].includes(o.subType))e.recordPreEnum("notWordLike",o.payload);else if("graft"===o.type)e.recordPreEnum("graftTypes",o.subType);else if("start"===o.subType){var a=o.payload.split("/");if(a.length!==gi.scopeDefs.nComponentsForScope(a[0]))throw new Error("Scope "+o.payload+" has unexpected number of components");for(var i of a.slice(1))e.recordPreEnum("scopeBits",i)}})(e,t)}rerecordPreEnums(e,t){((e,t)=>{for(var n of(e.recordPreEnum("scopeBits","0"),e.recordPreEnum("ids",t.id),t.blocks))for(var r of["bs","bg","c","is","os"])bc(e,n[r])})(e,t)}succinctPass2(e){var t=this.processor.docSets[this.docSetId];for(var n of(this.mainId=e.sequences.main.id,e.allSequences()))this.sequences[n.id]={id:n.id,type:n.type,tags:new Set(n.tags),isBaseType:n.type in e.baseSequenceTypes,blocks:n.succinctifyBlocks(t)};this.sequences[this.mainId].verseMapping={}}modifySequence(e,t,n,r,s,o){((e,t,n,r,s,o,a)=>{e.processor.docSets[e.docSetId].maybeBuildEnumIndexes(),n=n||(e=>e);var i=e.sequences[t],u=n({id:t,type:i.type,tags:i.tags,isBaseType:i.isBaseType,verseMapping:i.verseMapping});((e,t,n,r,s,o)=>{for(var[a,i]of(n=n||((e,t,n)=>!!n),r=r||((e,t,n,r,s,o,a)=>!!n||a),s=s||((e,t,n)=>n),o=o||((e,t,n,r,s,o,a,i,u)=>{for(var c=0;c<o;c++)r.c.pushByte(n.c.byte(u+c))}),t.blocks=[],e.blocks.entries()))if(n(e,a,i)){var u=s(e,a,nc()(i));u.c.clear(),sc(e,a,i,u,r,o),t.blocks.push(u)}})(i,u,r,s,o,a),e.sequences[t]=u,"main"===u.type&&e.buildChapterVerseIndex()})(this,e,t,n,r,s,o)}buildChapterVerseIndex(){Yu(this)}chapterVerseIndexes(){var e={};for(var t of Object.keys(this.sequences[this.mainId].chapterVerses))e[t]=zu(this,t);return e}chapterVerseIndex(e){return zu(this,e)}chapterIndexes(){var e={};for(var t of Object.keys(this.sequences[this.mainId].chapters))e[t]=Zu(this,t);return e}chapterIndex(e){return Zu(this,e)}rewriteSequenceBlocks(e,t){var n=this.sequences[e];for(var r of n.blocks)this.rewriteSequenceBlock(r,t)}rewriteSequenceBlock(e,t){((e,t)=>{for(var n of["bs","bg","c","is","os"]){for(var r=e[n],s=new oc(r.length),o=0;o<r.length;){var[a,i,u]=mc(r,o);if(i===cc.token)u===hc.wordLike?uc(s,u,t.wordLike[r.nByte(o+2)]):uc(s,u,t.notWordLike[r.nByte(o+2)]);else if(i===cc.graft)ac(s,t.graftTypes[u],t.ids[r.nByte(o+2)]);else{for(var c=pc(lc[u]),d=[],l=2;c>1;){var p=t.scopeBits[r.nByte(o+l)];d.push(p),l+=r.nByteLength(p),c--}ic(s,i,u,d)}o+=a}s.trim(),e[n]=s}})(e,t)}serializeSuccinct(){return(e=>{var t={sequences:{}};for(var[n,r]of(t.headers=e.headers,t.mainId=e.mainId,t.tags=Array.from(e.tags),Object.entries(e.sequences)))t.sequences[n]=gc(r);return t})(this)}gcSequences(){return(e=>{var t=new Set,n=e.processor.docSets[e.docSetId];n.maybeBuildEnumIndexes();var r=(e,t,s)=>{for(var o of(s.add(t.id),t.blocks)){for(var a of n.unsuccinctifyGrafts(o.bg))s.has(a[2])||r(e,e.sequences[a[2]],s);for(var i of n.unsuccinctifyItems(o.c,{grafts:!0},0))s.has(i[2])||r(e,e.sequences[i[2]],s)}};r(e,e.sequences[e.mainId],t);var s=!1;for(var o of Object.keys(e.sequences))t.has(o)||(delete e.sequences[o],s=!0);return s})(this)}newSequence(e,t){return((e,t,n)=>{var r=gi.generateId();return e.sequences[r]={id:r,type:t,tags:new Set(n||[]),isBaseType:t in e.baseSequenceTypes,blocks:[]},r})(this,e,t)}deleteSequence(e){return((e,t)=>{if(!(t in e.sequences))return!1;if("main"===e.sequences[t].type)throw new Error("Cannot delete main sequence");return e.sequences[t].type in e.baseSequenceTypes?rc(e,"block",t):rc(e,"inline",t),delete e.sequences[t],e.buildChapterVerseIndex(void 0),e.gcSequences(),!0})(this,e)}deleteBlock(e,t,n){return((e,t,n,r)=>{if(!1!==r&&(r=!0),!(t in e.sequences))return!1;var s=e.sequences[t];return!(n<0||n>=s.blocks.length||(s.blocks.splice(n,1),r&&e.buildChapterVerseIndex(void 0),0))})(this,e,t,n)}newBlock(e,t,n,r,s){return((e,t,n,r,s,o)=>{if(!1!==o&&(o=!0),!(t in e.sequences))return!1;var a=e.sequences[t];if(n<0||n>a.blocks.length)return!1;var i=e.processor.docSets[e.docSetId];i.maybeBuildPreEnums();var u={bs:new oc(0),bg:new oc(0),c:new oc(0),os:new oc(0),is:new oc(0),nt:new oc(0)},c=r.split("/"),d=dc[c[0]],l=pc(c[0]);if(c.length!==l)throw new Error("Scope "+r+" has "+c.length+" component(s) (expected "+l);var p=c.slice(1).map((e=>i.enumForCategoryValue("scopeBits",e,!0)));return ic(u.bs,cc.startScope,d,p),u.bs.trim(),s&&xi(i,e.id,t,n,s),a.blocks.splice(n,0,u),o&&e.buildChapterVerseIndex(),!0})(this,e,t,n,r,s)}perf(e){var t={};return new Hi.PerfRenderFromProskomma({proskomma:this.processor,actions:Hi.transforms.perf2perf.identityActions}).renderDocument({docId:this.id,config:{},output:t}),e?JSON.stringify(t.perf,null,e):JSON.stringify(t.perf)}usfm(){var e,t=this;return(e=function*(){var e=JSON.parse(t.perf());try{var n=new Ki.PipelineHandler({pipelines:Du,transforms:Ju,proskomma:t.processor});return(yield n.runPipeline("perf2usfmPipeline",{perf:e})).usfm}catch(e){Ec.error("pipelineHandler Error :\n",e)}},function(){var t=this,n=arguments;return new Promise((function(r,s){var o=e.apply(t,n);function a(e){Ac(o,r,s,a,i,"next",e)}function i(e){Ac(o,r,s,a,i,"throw",e)}a(void 0)}))})()}sofria(e,t){var n=new Hi.SofriaRenderFromProskomma({proskomma:this.processor,actions:Hi.transforms.sofria2sofria.identityActions}),r={},s={};t&&(s.chapters=[""+t]);try{n.renderDocument({docId:this.id,config:s,output:r})}catch(e){throw Ec.log(e),e}return e?JSON.stringify(r.sofria,null,e):JSON.stringify(r.sofria)}}var Nc=e=>e.map((e=>(e=>{var t;switch(e[0]){case"token":return"|"+e[2];case"scope":return(t="start"===e[1]?"+":"-")+e[2]+t;case"graft":return">"+e[1]+"<"}})(e))).join(""),Oc={items:e=>e[1],tokens:(e,t)=>e[1].filter((e=>"token"===e[0]&&(!t.withChars||t.withChars.includes(e[2]))&&(!t.withSubTypes||t.withSubTypes.includes(e[1])))),text:(e,t)=>{var n=e[1].filter((e=>"token"===e[0])).map((e=>e[2])).join("");return t.normalizeSpace?n.replace(/[ \t\n\r]+/g," "):n},scopeLabels:(e,t)=>e[0].filter((e=>!t.startsWith||((e,t)=>{if(0===e.length)return!0;for(var n of e)if(t.startsWith(n))return!0;return!1})(t.startsWith,e))),dump:e=>{return(n=["ItemGroup:"]).push(" Open Scopes "+(t=e)[0].join(", ")),n.push(" "+Nc(t[1])),n.join("\n");var t,n},includedScopes:e=>Array.from(new Set(e[1].filter((e=>"scope"===e[0]&&"start"===e[1])).map((e=>e[2]))))},_c={orig:(e,t,n)=>{var r=n.doc.headers.bookCode,s=n.cvIndex[0],o=e.number,a=n.doc.sequences[n.doc.mainId];if(a.verseMapping&&"forward"in a.verseMapping&&""+s in a.verseMapping.forward){var i=gi.versification.mapVerse(a.verseMapping.forward[""+s],r,s,o);return{book:i[0],cvs:i[1]}}return{book:r,cvs:[[s,o]]}}},xc={chapter:e=>e[0],startBlock:e=>e[1].startBlock,endBlock:e=>e[1].endBlock,startItem:e=>e[1].startItem,endItem:e=>e[1].endItem,nextToken:e=>e[1].nextToken,items:(e,t,n)=>n.docSet.itemsByIndex(n.doc.sequences[n.doc.mainId],e[1],t.includeContext).reduce(((e,t)=>e.concat([["token","lineSpace"," "]].concat(t))),[]),dumpItems:(e,t,n)=>{var r=n.docSet.itemsByIndex(n.doc.sequences[n.doc.mainId],e[1],!1);return r.length>0?Nc(r.reduce(((e,t)=>e.concat([["token","lineSpace"," ",null]].concat(t))))):""},tokens:(e,t,n)=>n.docSet.itemsByIndex(n.doc.sequences[n.doc.mainId],e[1],t.includeContext).reduce(((e,t)=>e.concat([["token","lineSpace"," "]].concat(t))),[]).filter((e=>"token"===e[0]&&(!t.withChars||t.withChars.includes(e[2]))&&(!t.withSubTypes||t.withSubTypes.includes(e[1])))),text:(e,t,n)=>{var r=n.docSet.itemsByIndex(n.doc.sequences[n.doc.mainId],e[1]).reduce(((e,t)=>e.concat([["token","lineSpace"," "]].concat(t))),[]).filter((e=>"token"===e[0])).map((e=>"lineSpace"===e[1]?" ":e[2])).join("").trim();return t.normalizeSpace&&(r=r.replace(/[ \t\n\r]+/g," ")),r}},Cc={startBlock:e=>e.startBlock,endBlock:e=>e.endBlock,startItem:e=>e.startItem,endItem:e=>e.endItem,nextToken:e=>e.nextToken,verseRange:e=>e.verses,items:(e,t,n)=>n.docSet.itemsByIndex(n.doc.sequences[n.doc.mainId],e,t.includeContext).reduce(((e,t)=>e.concat([["token","lineSpace"," ",null]].concat(t)))),dumpItems:(e,t,n)=>Nc(n.docSet.itemsByIndex(n.doc.sequences[n.doc.mainId],e,t.includeContext).reduce(((e,t)=>e.concat([["token","lineSpace"," ",null]].concat(t))))),tokens:(e,t,n)=>n.docSet.itemsByIndex(n.doc.sequences[n.doc.mainId],e,t.includeContext).reduce(((e,t)=>e.concat([["token","lineSpace"," ",null]].concat(t)))).filter((e=>"token"===e[0]&&(!t.withChars||t.withChars.includes(e[2]))&&(!t.withSubTypes||t.withSubTypes.includes(e[1])))),text:(e,t,n)=>{var r=n.docSet.itemsByIndex(n.doc.sequences[n.doc.mainId],e).reduce(((e,t)=>e.concat([["token","lineSpace"," ",null]].concat(t)))).filter((e=>"token"===e[0])).map((e=>"lineSpace"===e[1]?" ":e[2])).join("").trim();return t.normalizeSpace&&(r=r.replace(/[ \t\n\r]+/g," ")),r}},Dc=(e,t)=>{var n=parseInt(e[0]),r=parseInt(e[1]);if(e[3].length<=r||0===e[3][r].length)return null;for(var s=null,o=n,a=r,i=e[3],u=i[r][0].verses,c=!1;!s;)if((a+=1)>=i.length){if(c||!e[4])break;a=-1,o+=1,i=e[4],c=!0}else i[a].length>0&&(!t||c||i[a][0].verses!==u)&&(s=[o,a]);return s},$c=(e,t)=>{var n=parseInt(e[0]),r=parseInt(e[1]);if(e[3].length<=r||0===e[3][r].length)return null;for(var s=null,o=n,a=r,i=e[3],u=i[r][0].verses,c=!1;!s;)if((a-=1)<0){if(c||!e[2])break;a=e[2].length,o-=1,i=e[2],c=!0}else i[a].length>0&&(!t||c||i[a][0].verses!==u)&&(s=[o,a]);return s},Rc={nextVerse:e=>Dc(e,!1),previousVerse:e=>$c(e,!1),nextVerseRangeVerse:e=>Dc(e,!0),previousVerseRangeVerse:e=>$c(e,!0),nextChapter:e=>e[3].length>0&&e[4].length>0?(parseInt(e[0])+1).toString():null,previousChapter:e=>e[2].length>0&&e[3].length>0?(parseInt(e[0])-1).toString():null},qc={id:(e,t,n)=>{var[r,s,o]=gi.succinct.headerBytes(e.bs,0);return n.docSet.unsuccinctifyScope(e.bs,s,o,0)[2].split("/")[1]},parentId:(e,t,n)=>{var r=n.docSet.unsuccinctifyScopes(e.is).filter((e=>e[2].startsWith("tTreeParent")))[0][2].split("/")[1];return"none"===r?null:r},keys:(e,t,n)=>n.docSet.unsuccinctifyScopes(e.is).filter((e=>e[2].startsWith("tTreeContent"))).map((e=>e[2].split("/")[1])),itemGroups:(e,t,n)=>n.docSet.sequenceItemsByScopes([e],["tTreeContent/"],t.includeContext||!1),childIds:(e,t,n)=>n.docSet.unsuccinctifyScopes(e.is).filter((e=>e[2].startsWith("tTreeChild"))).map((e=>e[2].split("/")[2]))},jc={nEntries:e=>e.blocks.length,entries:(e,t,n)=>{var r=e.blocks.map((e=>[n.docSet.unsuccinctifyScopes(e.bs).map((e=>e[2].split("/")[1]))[0],n.docSet.unsuccinctifyScopes(e.is).filter((e=>e[2].startsWith("kvSecondary/"))).map((e=>[e[2].split("/")[1],e[2].split("/")[2]])),n.docSet.sequenceItemsByScopes([e],["kvField/"],!1)]));if(t.keyMatches&&(r=r.filter((e=>l.default.test(e[0],(0,l.default)(t.keyMatches))))),t.keyEquals&&(r=r.filter((e=>t.keyEquals.includes(e[0])))),t.secondaryMatches){var s={};t.secondaryMatches.forEach((e=>s[e.key]=e.matches)),r=r.filter((e=>{var t={};for(var n of(e[1].forEach((e=>t[e[0]]=e[1])),Object.entries(s))){var r=t[n[0]];if(!r||!l.default.test(r,(0,l.default)(n[1])))return!1}return!0}))}if(t.secondaryEquals){var o={};t.secondaryEquals.forEach((e=>o[e.key]=e.values)),r=r.filter((e=>{var t={};for(var n of(e[1].forEach((e=>t[e[0]]=e[1])),Object.entries(o))){var r=t[n[0]];if(!r||!n[1].includes(r))return!1}return!0}))}if(t.contentMatches){var a={};t.contentMatches.forEach((e=>a[e.key]=e.matches)),r=r.filter((e=>{var t={};for(var n of(e[2].forEach((e=>t[e[0].filter((e=>e.startsWith("kvField")))[0].split("/")[1]]=e[1].filter((e=>"token"===e[0])).map((e=>e[2])).join(""))),Object.entries(a))){var r=t[n[0]];if(!r||!l.default.test(r,(0,l.default)(n[1])))return!1}return!0}))}if(t.contentEquals){var i={};t.contentEquals.forEach((e=>i[e.key]=e.values)),r=r.filter((e=>{var t={};for(var n of(e[2].forEach((e=>t[e[0].filter((e=>e.startsWith("kvField")))[0].split("/")[1]]=e[1].filter((e=>"token"===e[0])).map((e=>e[2])).join(""))),Object.entries(i))){var r=t[n[0]];if(!r||!r.includes(n[1]))return!1}return!0}))}return r},tags:e=>Array.from(e.tags),tagsKv:e=>Array.from(e.tags).map((e=>e.includes(":")?[e.substring(0,e.indexOf(":")),e.substring(e.indexOf(":")+1)]:[e,""])),hasTag:(e,t)=>e.tags.has(t.tagName)},Mc={nCells:e=>e.blocks.length,nRows:(e,t,n)=>{var r=new Set([]);for(var s of e.blocks){var[o,a,i]=gi.succinct.headerBytes(s.bs,0),u=n.docSet.unsuccinctifyScope(s.bs,a,i,0)[2];r.add(u.split("/")[1])}return r.size},nColumns:(e,t,n)=>{var r=new Set([]);for(var s of e.blocks)for(var o of n.docSet.unsuccinctifyScopes(s.is).map((e=>e[2])))o.startsWith("tTableCol")&&r.add(o.split("/")[1]);return r.size},cells:(e,t,n)=>{var r=[];for(var s of e.blocks)r.push([n.docSet.unsuccinctifyScopes(s.bs).map((e=>parseInt(e[2].split("/")[1]))),Array.from(new Set(n.docSet.unsuccinctifyScopes(s.is).filter((e=>e[2].startsWith("tTableCol"))).map((e=>parseInt(e[2].split("/")[1]))))),n.docSet.unsuccinctifyItems(s.c,{},0)]);return r},rows:(e,t,n)=>{var r=(e,t)=>0===t.length||!!((e,t)=>{if(void 0===e[t.colN])return!1;var n=e[t.colN][2].filter((e=>"token"===e[0])).map((e=>e[2])).join("");return l.default.test(n,(0,l.default)(t.matching))})(e,t[0])&&r(e,t.slice(1)),s=(e,t)=>0===t.length||!!((e,t)=>{if(void 0===e[t.colN])return!1;var n=e[t.colN][2].filter((e=>"token"===e[0])).map((e=>e[2])).join("");return t.values.includes(n)})(e,t[0])&&s(e,t.slice(1)),o=[],a=-1;for(var i of e.blocks){var u=n.docSet.unsuccinctifyScopes(i.bs).map((e=>parseInt(e[2].split("/")[1])));t.positions&&!t.positions.includes(u[0])||(u[0]!==a&&(o.push([]),a=u[0]),o[o.length-1].push([u,Array.from(new Set(n.docSet.unsuccinctifyScopes(i.is).filter((e=>e[2].startsWith("tTableCol"))).map((e=>parseInt(e[2].split("/")[1]))))),n.docSet.unsuccinctifyItems(i.c,{},0)]))}return t.matches&&(o=o.filter((e=>r(e,t.matches)))),t.equals&&(o=o.filter((e=>s(e,t.equals)))),t.columns&&(o=o.map((e=>[...e.entries()].filter((e=>t.columns.includes(e[0]))).map((e=>e[1]))))),o},tags:e=>Array.from(e.tags),tagsKv:e=>Array.from(e.tags).map((e=>e.includes(":")?[e.substring(0,e.indexOf(":")),e.substring(e.indexOf(":")+1)]:[e,""])),hasTag:(e,t)=>e.tags.has(t.tagName),headings:e=>Array.from(e.tags).filter((e=>e.startsWith("col"))).sort(((e,t)=>parseInt(e.split(":")[0].substring(3))-parseInt(t.split(":")[0].substring(3)))).map((e=>e.split(":")[1]))},Bc={equals:(e,t,n,r)=>n===r,notEqual:(e,t,n,r)=>n!==r,and:function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),s=2;s<n;s++)r[s-2]=arguments[s];return 0===r.filter((e=>!e)).length},or:function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),s=2;s<n;s++)r[s-2]=arguments[s];return r.filter((e=>e)).length>0},not:(e,t,n)=>!n,idRef:(e,t)=>e.unsuccinctifyScopes(t.bs)[0][2].split("/")[1],parentIdRef:(e,t)=>e.unsuccinctifyScopes(t.is).filter((e=>e[2].startsWith("tTreeParent")))[0][2].split("/")[1],nChildren:(e,t)=>e.unsuccinctifyScopes(t.is).filter((e=>e[2].startsWith("tTreeChild"))).length,contentRef:(e,t,n)=>{var r=e.sequenceItemsByScopes([t],["tTreeContent/"],!1).filter((e=>e[0].filter((e=>e.startsWith("tTreeContent")))[0].split("/")[1]===n));return r[0]?r[0][1].filter((e=>"token"===e[0])).map((e=>e[2])).join(""):""},hasContent:(e,t,n)=>e.sequenceItemsByScopes([t],["tTreeContent/"],!1).filter((e=>e[0].filter((e=>e.startsWith("tTreeContent")))[0].split("/")[1]===n)).length>0,concat:function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),s=2;s<n;s++)r[s-2]=arguments[s];return r.join("")},startsWith:(e,t,n,r)=>n.startsWith(r),endsWith:(e,t,n,r)=>n.endsWith(r),contains:(e,t,n,r)=>n.includes(r),matches:(e,t,n,r)=>l.default.test(n,(0,l.default)(r)),int:(e,t,n)=>parseInt(n),string:(e,t,n)=>""+n,left:(e,t,n,r)=>n.substring(0,r),right:(e,t,n,r)=>n.substring(n.length-r),length:(e,t,n)=>n.length,indexOf:(e,t,n,r)=>n.indexOf(r),add:function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),s=2;s<n;s++)r[s-2]=arguments[s];return r.reduce(((e,t)=>e+t))},mul:function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),s=2;s<n;s++)r[s-2]=arguments[s];return r.reduce(((e,t)=>e*t))},sub:(e,t,n,r)=>n-r,div:(e,t,n,r)=>Math.floor(n/r),mod:(e,t,n,r)=>n%r,gt:(e,t,n,r)=>n>r,lt:(e,t,n,r)=>n<r,ge:(e,t,n,r)=>n>=r,le:(e,t,n,r)=>n<=r},Gc={quotedString:e=>e.substring(1,e.length-1),int:e=>parseInt(e),true:()=>!0,false:()=>!1},Lc={expression:{oneOf:["stringExpression","intExpression","booleanExpression"]},booleanExpression:{oneOf:["booleanPrimitive","equals","notEqual","and","or","not","contains","startsWith","endsWith","matches","gt","lt","ge","le","hasContent"]},stringExpression:{oneOf:["concat","left","right","string","idRef","parentIdRef","contentRef","stringPrimitive"]},intExpression:{oneOf:["length","indexOf","int","nChildren","intPrimitive","add","sub","mul","div","mod"]},equals:{regex:(0,l.default)("^==\\((.+)\\)$"),doc:{operator:"==",args:["expression","expression"],result:"boolean",description:"Are the arguments strictly equal?"},argStructure:[["expression",[2,2]]]},notEqual:{regex:(0,l.default)("^!=\\((.+)\\)$"),doc:{operator:"!=",args:["expression","expression"],result:"boolean",description:"Are the arguments not strictly equal?"},argStructure:[["expression",[2,2]]]},and:{regex:(0,l.default)("^and\\((.+)\\)$"),doc:{operator:"and",args:["boolean","boolean","..."],result:"boolean",description:"Are all the arguments true?"},breakOn:!1,argStructure:[["booleanExpression",[2,null]]]},or:{regex:(0,l.default)("^or\\((.+)\\)$"),doc:{operator:"or",args:["boolean","boolean"],result:"boolean",description:"Are any arguments true?"},breakOn:!0,argStructure:[["booleanExpression",[2,null]]]},concat:{regex:(0,l.default)("^concat\\((.+)\\)$"),doc:{operator:"concat",args:["string","string","..."],result:"string",description:"Concatenates string arguments"},argStructure:[["stringExpression",[2,null]]]},contentRef:{regex:(0,l.default)("^content\\((.+)\\)$"),doc:{operator:"content",args:["string"],result:"string",description:"String value of the specified content for the node"},argStructure:[["stringExpression",[1,1]]]},hasContent:{regex:(0,l.default)("^hasContent\\((.+)\\)$"),doc:{operator:"hasContent",args:["string"],result:"boolean",description:"Does the node have this content?"},argStructure:[["stringExpression",[1,1]]]},contains:{regex:(0,l.default)("^contains\\((.+)\\)$"),doc:{operator:"contains",args:["string","string"],result:"boolean",description:"Does the first string contain the second string?"},argStructure:[["stringExpression",[2,2]]]},startsWith:{regex:(0,l.default)("^startsWith\\((.+)\\)$"),doc:{operator:"startsWith",args:["string","string"],result:"boolean",description:"Does the first string start with the second string?"},argStructure:[["stringExpression",[2,2]]]},endsWith:{regex:(0,l.default)("^endsWith\\((.+)\\)$"),doc:{operator:"endsWith",args:["string","string"],result:"boolean",description:"Does the first string end with the second string?"},argStructure:[["stringExpression",[2,2]]]},matches:{regex:(0,l.default)("^matches\\((.+)\\)$"),doc:{operator:"matches",args:["string","regex"],result:"boolean",description:"Does the first string match the regex in the second string?"},argStructure:[["stringExpression",[2,2]]]},left:{regex:(0,l.default)("^left\\((.+)\\)$"),doc:{operator:"left",args:["string","integer"],result:"string",description:"The first n characters of the string"},argStructure:[["stringExpression",[1,1]],["intExpression",[1,1]]]},right:{regex:(0,l.default)("^right\\((.+)\\)$"),doc:{operator:"right",args:["string","integer"],result:"string",description:"The last n characters of the string"},argStructure:[["stringExpression",[1,1]],["intExpression",[1,1]]]},length:{regex:(0,l.default)("^length\\((.+)\\)$"),doc:{operator:"length",args:["string"],result:"integer",description:"The number of characters in the string"},argStructure:[["stringExpression",[1,1]]]},indexOf:{regex:(0,l.default)("^indexOf\\((.+)\\)$"),doc:{operator:"indexOf",args:["string","string"],result:"number",description:"The integer position at which the second string starts in the first string"},argStructure:[["stringExpression",[2,2]]]},not:{regex:(0,l.default)("^not\\((.+)\\)$"),doc:{operator:"not",args:["boolean"],result:"boolean",description:"The inverse boolean value of the argument"},argStructure:[["booleanExpression",[1,1]]]},int:{regex:(0,l.default)("^int\\((.+)\\)$"),doc:{operator:"int",args:["string"],result:"integer",description:"The integer value of the string"},argStructure:[["stringExpression",[1,1]]]},string:{regex:(0,l.default)("^string\\((.+)\\)$"),doc:{operator:"string",args:["integer"],result:"string",description:"The string value of the integer"},argStructure:[["intExpression",[1,1]]]},idRef:{regex:(0,l.default)("^id$"),doc:{operator:"id",args:[],result:"string",description:"The node ID"},argStructure:[]},parentIdRef:{regex:(0,l.default)("^parentId$"),doc:{operator:"parentId",args:[],result:"string",description:"The node's parent ID"},argStructure:[]},nChildren:{regex:(0,l.default)("^nChildren$"),doc:{operator:"nChildren",args:[],result:"int",description:"The number of children of the node"},argStructure:[]},add:{regex:(0,l.default)("^add\\((.+)\\)$"),doc:{operator:"add",args:["integer","..."],result:"integer",description:"The numeric sum of the arguments"},argStructure:[["intExpression",[2,null]]]},mul:{regex:(0,l.default)("^mul\\((.+)\\)$"),doc:{operator:"mul",args:["integer","..."],result:"integer",description:"The numeric product of the arguments"},argStructure:[["intExpression",[2,null]]]},sub:{regex:(0,l.default)("^sub\\((.+)\\)$"),doc:{operator:"sub",args:["integer","integer"],result:"integer",description:"The first integer minus the second"},argStructure:[["intExpression",[2,2]]]},div:{regex:(0,l.default)("^div\\((.+)\\)$"),doc:{operator:"div",args:["integer","integer"],result:"integer",description:"The first integer divided by the second"},argStructure:[["intExpression",[2,2]]]},mod:{regex:(0,l.default)("^mod\\((.+)\\)$"),doc:{operator:"mod",args:["integer","integer"],result:"integer",description:"The modulus of the first integer when divided by the second"},argStructure:[["intExpression",[2,2]]]},gt:{regex:(0,l.default)("^>\\((.+)\\)$"),doc:{operator:">",args:["integer","integer"],result:"boolean",description:"Is the first integer numerically greater than the second?"},argStructure:[["intExpression",[2,2]]]},lt:{regex:(0,l.default)("^<\\((.+)\\)$"),doc:{operator:"<",args:["integer","integer"],result:"boolean",description:"Is the first integer numerically less than the second?"},argStructure:[["intExpression",[2,2]]]},ge:{regex:(0,l.default)("^>=\\((.+)\\)$"),doc:{operator:">=",args:["integer","integer"],result:"boolean",description:"Is the first integer numerically greater than or equal to the second?"},argStructure:[["intExpression",[2,2]]]},le:{regex:(0,l.default)("^<=\\((.+)\\)$"),doc:{operator:"<=",args:["integer","integer"],result:"boolean",description:"Is the first integer numerically less than or equal to the second?"},argStructure:[["intExpression",[2,2]]]},stringPrimitive:{regex:(0,l.default)("^('([^']|\\\\')*')$"),parseFunctions:[null,"quotedString"]},intPrimitive:{regex:(0,l.default)("^(-?[0-9]+)$"),parseFunctions:[null,"int"]},booleanPrimitive:{regex:(0,l.default)("^(true)|(false)$"),parseFunctions:[null,"true","false"]}},Fc=(e,t,n,r)=>{var s=Lc[r];if(!s)throw new Error("Unknown expression "+r+" for predicate "+n);if(s.oneOf){var o=null;for(var a of s.oneOf){var i=Fc(e,t,n,a);if(!i.errors)return i;(!o||i.errors.length<o.length)&&(o=i.errors)}return{errors:o}}var u=l.default.exec(n,s.regex);if(u){var c=((e,t,n,r,s)=>{var o=Lc[r];if(!o)throw new Error("Unknown expression "+r+" for predicate "+n);if(!o.parseFunctions){var a=(e=>{for(var t=[[]],n=0,r=0,s=!1;e&&n<e.length;){switch(e[n]){case"\\":t[t.length-1].push(e[n]),"'"===e[n+1]&&(t[t.length-1].push(e[n+1]),n++);break;case"'":t[t.length-1].push(e[n]),s=!s;break;case"(":s?t[t.length-1].push(e[n]):(t[t.length-1].push(e[n]),r++);break;case")":s?t[t.length-1].push(e[n]):(t[t.length-1].push(e[n]),r--);break;case",":if(s||0!==r)t[t.length-1].push(e[n]);else for(t.push([]);" "===e[n+1];)n++;break;default:t[t.length-1].push(e[n])}n++}return t.map((e=>e.join("")))})(s[1]),i=o.argStructure,u=[];if(i.length>0){var c=[(S=i).map((e=>e[1][0])).reduce(((e,t)=>e+t)),S.filter((e=>null===e[1][1])).length>0];if(a.length<c[0])return{errors:"Expected at least "+c[0]+" args for '"+r+"', found "+a.length};if(!c[1]&&a.length>c[0])return{errors:"Expected at most "+c[0]+" args for '"+r+"', found "+a.length};for(var d=0,l=0,p=0;d<a.length;){var f=a[d],h=Fc(e,t,f,i[l][0]);if("breakOn"in o&&!f.errors&&h.data===o.breakOn)return h;u.push(h),d++,p++,i[l][1][1]&&p>=i[l][1][1]&&(l++,p=0)}}if(0===u.filter((e=>e.errors)).length){var m=u.map((e=>e.data));return{data:Bc[r](e,t,...m)}}return{errors:"Could not parse arguments to "+r+": "+a.filter((e=>e.errors)).map((e=>e.errors)).join("; ")}}var S,y=!1;for(var[g,v]of o.parseFunctions.entries())if(v&&s[g])return y=!0,{data:Gc[v](s[g])};if(!y)return{errors:"Could not parse predicate "+n}})(e,t,n,r,u);return c}return{errors:"Could not match "+n}},Vc=(e,t,n)=>({data:t.data.filter((t=>{var r=Fc(e,t,n,"booleanExpression");if(r.errors)throw new Error("Predicate - "+r.errors);return r.data}))}),Uc="(\\[(([^\\]']|'([^']|\\\\')*')+)\\])*",Jc=(e,t,n,r,s,o)=>{var a={};(0===s.size||s.has("id"))&&(a.id=e.unsuccinctifyScopes(t.bs)[0][2].split("/")[1]),(0===s.size||s.has("parentId"))&&(a.parentId=e.unsuccinctifyScopes(t.is).filter((e=>e[2].startsWith("tTreeParent"))).map((e=>e[2].split("/")[1]))[0]);var i={};for(var[u,c]of e.sequenceItemsByScopes([t],["tTreeContent/"],!1)){var d=u.filter((e=>e.startsWith("tTreeContent")))[0].split("/")[1];(0===s.size||s.has("content")||s.has("@"+d))&&(i[d]=c.filter((e=>"token"===e[0])).map((e=>e[2])).join(""))}Object.keys(i).length>0&&(a.content=i);var l=[];if(s.has("children"))for(var p of e.unsuccinctifyScopes(t.is).filter((e=>e[2].startsWith("tTreeChild"))).map((e=>e[2].split("/")[2])))l.push(p);return l.length>0&&(a.children=o?l.map((e=>n[r.get(e)])).map((t=>Jc(e,t,n,r,s,!0))):l),a},Hc=[{regex:(0,l.default)("^#\\{([^}]+)\\}"+Uc+"$"),doc:{title:"Nodes by Id",syntax:"#(id, id, ...)",description:"Returns nodes whose id is listed"},predicateCapture:3,inputType:null,outputType:"nodes",function:(e,t,n,r,s,o)=>{var a=o[1].split(",").map((e=>e.trim()));return{data:Array.from(a).map((e=>t[n.get(e)]))}}},{regex:(0,l.default)("^root"+Uc+"$"),doc:{title:"Root Node",syntax:"root",description:"Returns the root node"},predicateCapture:2,inputType:null,outputType:"nodes",function:(e,t)=>({data:[t[0]]})},{regex:(0,l.default)("^nodes"+Uc+"$"),doc:{title:"Nodes",syntax:"nodes",description:"Returns all the nodes"},predicateCapture:2,function:(e,t)=>({data:t}),inputType:null,outputType:"nodes"},{regex:(0,l.default)("^children(\\((\\d+)\\))?"+Uc+"$"),doc:{title:"Children",syntax:"children; children(pos)",description:"Returns the children of the current node(s), optionally filtered by position within the parent node"},predicateCapture:4,inputType:"nodes",outputType:"nodes",function:(e,t,n,r,s,o)=>{var a=o[2],i=new Set([]);for(var u of r.data){var c=e.unsuccinctifyScopes(u.is).map((e=>e[2].split("/"))).filter((e=>"tTreeChild"===e[0])).filter((e=>!a||e[1]===a)).map((e=>e[2]));for(var d of c)i.add(d)}return{data:Array.from(i).map((e=>t[n.get(e)]))}}},{regex:(0,l.default)("^descendants((\\((\\d+)(,\\s*(\\d+))?\\))?)"+Uc+"$"),doc:{title:"Descendants",syntax:"descendants; descendants(depth); descendants(depth, pos)",description:"Returns the descendants of the current node(s), optionally at the specified level, optionally filtered by position"},predicateCapture:7,inputType:"nodes",outputType:"nodes",function:(e,t,n,r,s,o)=>{var a=new Set([]),i=(r,s)=>{var o=e.unsuccinctifyScopes(r.is).filter((e=>e[2].startsWith("tTreeChild"))).map((e=>e[2].split("/")[2]));(s<=1||null===s)&&o.forEach((e=>a.add(e))),(null===s||s>1)&&o.map((e=>t[n.get(e)])).forEach((e=>i(e,s-1)))},u=null;o[3]&&(u=parseInt(o[3]));var c=-1;for(var d of(o[5]&&(c=parseInt(o[5])),r.data))i(d,u);return{data:[...Array.from(a).entries()].filter((e=>c<0||e[0]===c)).map((e=>e[1])).map((e=>t[n.get(e)]))}}},{regex:(0,l.default)("^leaves"+Uc+"$"),doc:{title:"Leaves",syntax:"leaves",description:"Returns the leaves (ie the nodes with no children) below the current node"},predicateCapture:2,inputType:"nodes",outputType:"nodes",function:(e,t,n,r)=>{var s=new Set([]),o=r=>{var a=e.unsuccinctifyScopes(r.is).filter((e=>e[2].startsWith("tTreeChild"))).map((e=>e[2].split("/")[2]));0===a.length?s.add(e.unsuccinctifyScopes(r.bs)[0][2].split("/")[1]):a.map((e=>t[n.get(e)])).forEach((e=>o(e)))};for(var a of r.data)o(a);return{data:Array.from(s).map((e=>t[n.get(e)]))}}},{regex:(0,l.default)("^parent"+Uc+"$"),doc:{title:"Parent",syntax:"parent",description:"Returns the parent of the current node"},predicateCapture:2,inputType:"nodes",outputType:"nodes",function:(e,t,n,r)=>{var s=new Set([]);for(var o of r.data){var a=e.unsuccinctifyScopes(o.is).filter((e=>e[2].startsWith("tTreeParent"))).map((e=>e[2].split("/")[1]))[0];s.add(a)}return{data:Array.from(s).map((e=>t[n.get(e)]))}}},{regex:(0,l.default)("^ancestor(\\((\\d+)\\))"+Uc+"$"),doc:{title:"Ancestor",syntax:"ancestor(depth)",description:"Returns the nth ancestor of the node"},predicateCapture:5,inputType:"nodes",outputType:"nodes",function:(e,t,n,r,s,o)=>{var a=parseInt(o[2]);if(a<1)return{errors:"Expected a positive integer argument for ancestor, found "+s};for(var i=r.data;a>0;){var u=new Set([]);for(var c of i){var d=e.unsuccinctifyScopes(c.is).filter((e=>e[2].startsWith("tTreeParent"))).map((e=>e[2].split("/")[1]))[0];u.add(d)}i=Array.from(u).map((e=>t[n.get(e)])),a--}return{data:i}}},{regex:(0,l.default)("^siblings"+Uc+"$"),doc:{title:"Siblings",syntax:"siblings",description:"Returns the children of the parent of the current node"},predicateCapture:2,inputType:"nodes",outputType:"nodes",function:(e,t,n,r)=>{var s=new Set([]);for(var o of r.data){var a=e.unsuccinctifyScopes(o.is).filter((e=>e[2].startsWith("tTreeParent"))).map((e=>e[2].split("/")[1]))[0];s.add(a)}var i=t.filter((t=>s.has(e.unsuccinctifyScopes(t.bs)[0][2].split("/")[1]))),u=new Set([]);for(var c of i){var d=e.unsuccinctifyScopes(c.is).filter((e=>e[2].startsWith("tTreeChild"))).map((e=>e[2].split("/")[2]));for(var l of d)u.add(l)}return{data:Array.from(u).map((e=>t[n.get(e)]))}}},{regex:(0,l.default)("^node(\\{([^}]+)\\})?"+Uc+"$"),doc:{title:"Node Details",syntax:"node; node{ id, parentId, content, children, @foo }",description:"Returns an object containing the specified content"},predicateCapture:4,inputType:"nodes",outputType:"node",function:(e,t,n,r,s,o)=>{var a=[],i=new Set([]);for(var u of(o[2]&&(i=new Set(o[2].split(",").map((e=>e.trim())))),r.data))a.push(Jc(e,u,t,n,i,!1));return{data:a}}},{regex:(0,l.default)("^branch(\\{([^}]+)\\})?"+Uc+"$"),doc:{title:"Branch",syntax:"branch; branch{ id, parentId, content, children, @foo }",description:"Returns nested objects containing the specified content"},predicateCapture:4,inputType:"nodes",outputType:"node",function:(e,t,n,r,s,o)=>{var a=[],i=new Set([]);for(var u of(o[2]&&(i=new Set(o[2].split(",").map((e=>e.trim())))),r.data))a.push(Jc(e,u,t,n,i,!0));return{data:a}}},{regex:(0,l.default)("^values(\\{([^}]+)\\})?"+Uc+"$"),doc:{title:"Values",syntax:"values{ @foo ... }",description:"Returns all values across nodes for the specified fields"},predicateCapture:4,inputType:"nodes",outputType:"values",function:(e,t,n,r,s,o)=>{var a=[],i=new Set([]);for(var u of(o[2]&&(i=new Set(o[2].split(",").map((e=>e.trim())).filter((e=>e.startsWith("@"))))),r.data))a.push(Jc(e,u,t,n,i,!0));var c={},d=function(e){c[e]=Array.from(new Set(a.filter((e=>e.content)).map((e=>e.content)).filter((t=>e in t)).map((t=>t[e])).sort()))};for(var l of Array.from(i).map((e=>e.substring(1))))d(l);return{data:c}}}];const Kc=class{constructor(){this.currentStepType=null}doStep(e,t,n,r,s){for(var o of Hc){var a=l.default.exec(s,o.regex);if(a&&o.inputType===this.currentStepType){var i=o.function(e,t,n,r,s,a);return a[o.predicateCapture]&&(i=Vc(e,i,a[o.predicateCapture])),this.currentStepType=o.outputType,i}}return{errors:"Unable to match step "+s}}parse1(e,t,n,r,s){if(s.length>0){var o=this.doStep(e,t,n,r,s[0]);return o.errors||0===o.data.length?o:this.parse1(e,t,n,o,s.slice(1))}return r}queryArray(e){var t=[];for(var n of e.split("/"))t.push(n);return t}indexNodes(e,t){var n=new Map;for(var[r,s]of t.entries()){var o=e.unsuccinctifyScopes(s.bs)[0][2].split("/")[1];n.set(o,r)}return n}doc(){return"** Steps **\n\n"+Hc.map((e=>e.doc)).map((e=>"* "+e.title+" *\n"+e.syntax+"\n"+e.description)).join("\n\n")+"** Predicate Operators **\n\n"+Object.values(Lc).filter((e=>e.doc)).map((e=>e.doc.operator+"("+e.doc.args.map((e=>"<"+e+">")).join(", ")+") => "+e.doc.result+"\n"+e.doc.description)).join("\n\n")}parse(e,t,n){var r=this.parse1(e,t,this.indexNodes(e,t),{data:t},this.queryArray(n));return r.data&&"nodes"===this.currentStepType&&(r.data=r.data.map((t=>({id:e.unsuccinctifyScopes(t.bs)[0][2].split("/")[1]})))),JSON.stringify(r,null,2)}};var Wc={nNodes:e=>e.blocks.length,nodes:e=>e.blocks,tribos:(e,t,n)=>(new Kc).parse(n.docSet,e.blocks,t.query),triboi:(e,t,n)=>t.queries.map((t=>(new Kc).parse(n.docSet,e.blocks,t))),tribosDoc:()=>(new Kc).doc(),tags:e=>Array.from(e.tags),tagsKv:e=>Array.from(e.tags).map((e=>e.includes(":")?[e.substring(0,e.indexOf(":")),e.substring(e.indexOf(":")+1)]:[e,""])),hasTag:(e,t)=>e.tags.has(t.tagName)},Xc={cBL:e=>e.c.length,bgBL:e=>e.bg.length,osBL:e=>e.os.length,isBL:e=>e.is.length,ntBL:e=>e.nt.length,cL:(e,t,n)=>n.docSet.countItems(e.c),bgL:(e,t,n)=>n.docSet.countItems(e.bg),osL:(e,t,n)=>n.docSet.countItems(e.os),isL:(e,t,n)=>n.docSet.countItems(e.is),is:(e,t,n)=>n.docSet.unsuccinctifyScopes(e.is),os:(e,t,n)=>n.docSet.unsuccinctifyScopes(e.os),bs:(e,t,n)=>{var[r,s,o]=gi.succinct.headerBytes(e.bs,0);return n.docSet.unsuccinctifyScope(e.bs,s,o,0)},bg:(e,t,n)=>n.docSet.unsuccinctifyGrafts(e.bg),nt:e=>e.nt.nByte(0),items:(e,t,n)=>{if(t.withScopes&&t.withScriptureCV)throw new Error("Cannot specify both withScopes and withScriptureCV");return t.withScriptureCV?n.docSet.unsuccinctifyItemsWithScriptureCV(e,t.withScriptureCV,{},t.includeContext||!1):n.docSet.unsuccinctifyPrunedItems(e,{tokens:!0,scopes:!0,grafts:!0,requiredScopes:t.withScopes||[],anyScope:t.anyScope||!1})},tokens:(e,t,n)=>{if(Object.keys(t).filter((e=>e.includes("Chars"))).length>1)throw new Error('Only one of "withChars", "withAnyCaseChars" and "withCharsMatchingRegex" may be specified');var r;return r=t.withScriptureCV?n.docSet.unsuccinctifyItemsWithScriptureCV(e,t.withScriptureCV,{tokens:!0},t.includeContext||!1):n.docSet.unsuccinctifyPrunedItems(e,{tokens:!0,scopes:!0,requiredScopes:t.withScopes||[],anyScope:t.anyScope||!1}),t.withSubTypes&&(r=r.filter((e=>t.withSubTypes.includes(e[1])))),t.withChars?r=r.filter((e=>t.withChars.includes(e[2]))):t.withMatchingChars&&(r=r.filter((e=>{for(var n of t.withMatchingChars)if(l.default.test(e,(0,l.default)(n)))return!0;return!1}))),r.filter((e=>"token"===e[0]))},text:(e,t,n)=>{var r=(t.withScriptureCV?n.docSet.unsuccinctifyItemsWithScriptureCV(e,t.withScriptureCV,{tokens:!0},!1):n.docSet.unsuccinctifyItems(e.c,{tokens:!0},null)).map((e=>e[2])).join("").trim();return t.normalizeSpace&&(r=r.replace(/[ \t\n\r]+/g," ")),r},itemGroups:(e,t,n)=>{if(t.byScopes&&t.byMilestones)throw new Error("Cannot specify both byScopes and byMilestones");if(!t.byScopes&&!t.byMilestones)throw new Error("Must specify either byScopes or byMilestones");return t.byScopes?n.docSet.sequenceItemsByScopes([e],t.byScopes):n.docSet.sequenceItemsByMilestones([e],t.byMilestones)},dump:(e,t,n)=>{return r=n.docSet.unsuccinctifyBlock(e,{},null),s=["Block:"],r.bg.length>0&&r.bg.forEach((e=>s.push(" "+e[1]+" graft to "+e[2]))),s.push(" Scope "+r.bs[2]),s.push(" "+Nc(r.c)),s.join("\n");var r,s},scopeLabels:(e,t,n)=>[...n.docSet.unsuccinctifyBlockScopeLabelsSet(e)].filter((e=>!t.startsWith||((e,t)=>{if(0===e.length)return!0;for(var n of e)if(t.startsWith(n))return!0;return!1})(t.startsWith,e)))},Yc=(e,t,n)=>{var r=[t.map((t=>[gi.enums.enumStringIndex(e.enums.wordLike,t)]))];return n?r[0]:r.map((e=>e.reduce(((e,t)=>e.concat(t)))))},zc=(e,t,n)=>{var r=[t.map((t=>gi.enums.enumRegexIndexTuples(e.enums.wordLike,t).map((e=>e[0]))))];return n?r[0]:r.map((e=>e.reduce(((e,t)=>e.concat(t)))))},Zc=(e,t,n)=>{if(n&&t.filter((e=>0===e.length)).length>0)return!1;if(0===(t=t.filter((e=>e.length>0))).length)return!1;for(var r of t){var s=!1;for(var o of r)if(o>=0&&e.tokensPresent.get(o)>0){s=!0;break}if(n&&!s)return!1;if(!n&&s)return!0}return n},Qc=(e,t,n,r)=>{var s=Yc(e,n,r);return Zc(t,s,r)},ed=(e,t,n,r)=>{var s=zc(e,n,r);return Zc(t,s,r)},td={tokens:!1,scopes:!0,grafts:!1,requiredScopes:[]},nd={nBlocks:e=>e.blocks.length,blocks:(e,t,n)=>{if(n.docSet.maybeBuildEnumIndexes(),t.withScopes&&t.withScriptureCV)throw new Error("Cannot specify both withScopes and withScriptureCV");if(t.attSpecs&&!t.attValues)throw new Error("Cannot specify attSpecs without attValues");if(!t.attSpecs&&t.attValues)throw new Error("Cannot specify attValues without attSpecs");if(t.attSpecs&&t.attValues&&t.attSpecs.length!==t.attValues.length)throw new Error("attSpecs and attValues must be same length");if(t.withChars&&t.withMatchingChars)throw new Error("Cannot specify both withChars and withMatchingChars");var r=e.blocks;if(t.positions&&(r=Array.from(r.entries()).filter((e=>t.positions.includes(e[0]))).map((e=>e[1]))),t.withScopes&&(r=r.filter((e=>n.docSet.allScopesInBlock(e,t.withScopes)))),t.withScriptureCV&&(r=n.docSet.blocksWithScriptureCV(r,t.withScriptureCV)),t.attSpecs&&(r=r.filter((e=>((e,t,n,r,s)=>{var o=new Set([]);for(var a of e.unsuccinctifyPrunedItems(t,td,!1)){var[i,u,c,d,l,p]=a[2].split("/");for(var[f,h]of n.entries()){for(var m of h)if(u===m.attType&&c===m.tagName&&d===m.attKey&&parseInt(l)===m.valueN&&r[f].includes(p)){if(!s)return!0;o.add(f);break}if(o.size===n.length)return!0}}return!1})(n.docSet,e,t.attSpecs,t.attValues,t.allAtts||!1)))),t.withBlockScope&&(r=r.filter((e=>n.docSet.blockHasBlockScope(e,t.withBlockScope)))),t.withChars){if("main"===e.type&&!Qc(n.docSet,e,t.withChars,t.allChars))return[];var s=Yc(n.docSet,t.withChars,t.allChars),o=function(e){r=r.filter((t=>n.docSet.blockHasChars(t,e)))};for(var a of s)o(a)}if(t.withMatchingChars){if("main"===e.type&&!ed(n.docSet,e,t.withMatchingChars,t.allChars))return[];var i=zc(n.docSet,t.withMatchingChars,t.allChars),u=function(e){r=r.filter((t=>n.docSet.blockHasChars(t,e)))};for(var c of i)u(c)}return r},blocksItems:(e,t,n)=>e.blocks.map((e=>n.docSet.unsuccinctifyItems(e.c,{},null))),blocksTokens:(e,t,n)=>e.blocks.map((e=>n.docSet.unsuccinctifyItems(e.c,{tokens:!0},null))),blocksText:(e,t,n)=>e.blocks.map((e=>{var r=n.docSet.unsuccinctifyItems(e.c,{tokens:!0},null).map((e=>e[2])).join("");return t.normalizeSpace&&(r=r.replace(/[ \t\n\r]+/g," ")),r})),text:(e,t,n)=>{var r=e.blocks.map((e=>n.docSet.unsuccinctifyItems(e.c,{tokens:!0},null).map((e=>e[2])).join(""))).join("\n");return t.normalizeSpace&&(r=r.replace(/[ \t\n\r]+/g," ")),r},itemGroups:(e,t,n)=>{if(t.byScopes&&t.byMilestones)throw new Error("Cannot specify both byScopes and byMilestones");if(!t.byScopes&&!t.byMilestones)throw new Error("Must specify either byScopes or byMilestones");return t.byScopes?n.docSet.sequenceItemsByScopes(e.blocks,t.byScopes):n.docSet.sequenceItemsByMilestones(e.blocks,t.byMilestones)},tags:e=>Array.from(e.tags),tagsKv:e=>Array.from(e.tags).map((e=>e.includes(":")?[e.substring(0,e.indexOf(":")),e.substring(e.indexOf(":")+1)]:[e,""])),hasTag:(e,t)=>e.tags.has(t.tagName),wordLikes:(e,t,n)=>{if("main"!==e.type)throw new Error("Only available for the main sequence, not "+e.type);if(t.coerceCase&&!["toLower","toUpper","none"].includes(t.coerceCase))throw new Error("coerceCase, when present, must be 'toLower', 'toUpper' or 'none', not '"+t.coerceCase+"'");n.docSet.maybeBuildEnumIndexes();var r=new Set,s=0;for(var o of e.tokensPresent){if(o){var a=n.docSet.enumIndexes.wordLike[s],i=n.docSet.enums.wordLike.countedString(a);"toLower"===t.coerceCase&&(i=i.toLowerCase()),"toUpper"===t.coerceCase&&(i=i.toUpperCase()),r.add(i)}s++}return Array.from(r).sort()},hasChars:(e,t,n)=>{if("main"!==e.type)throw new Error("Only available for the main sequence, not "+e.type);return Qc(n.docSet,e,t.chars,t.allChars||!1)},hasMatchingChars:(e,t,n)=>{if("main"!==e.type)throw new Error("Only available for the main sequence, not "+e.type);return ed(n.docSet,e,t.chars,t.allChars)}},rd=(e,t)=>{var n=e,r=function(e){"scope"===e[0]&&("start"===e[1]?0===n.filter((t=>t===e[2])).length&&n.push(e[2]):n=n.filter((t=>t!==e[2])))};for(var s of t)r(s);return n},sd=(e,t)=>0!==t.length&&(!(!e.includes("chapter/"+t[0][0])||t[0][1]&&!(e.filter((e=>e.startsWith("verse/")&&parseInt(e.split("/")[1])>=t[0][1])).length>0)||t[0][2]&&!(e.filter((e=>e.startsWith("verse/")&&parseInt(e.split("/")[1])<=t[0][2])).length>0))||sd(e,t.slice(1))),od=(e,t,n,r,s,o)=>{var[a,i]=r.split(":").map((e=>parseInt(e))),[u,c]=s.split(":").map((e=>parseInt(e)));if(u<a)throw new Error("cv chapterVerses requires fromChapter <= toChapter, not "+a+" to "+u);for(var d=[],l=a;l<=u;)d.push([l,l===a?i:null,l===u?c:null]),l++;return t.docSet.sequenceItemsByScopes(n.blocks,["chapter/","verse/"],o).filter((e=>sd(e[0],d)))},ad=(e,t,n,r,s)=>{n.docSet=e.processor.docSets[e.docSetId];var o=e.sequences[e.mainId];if(!t.chapter&&!t.chapterVerses)throw new Error("Must specify either chapter or chapterVerses for cv");if(t.chapter&&t.chapterVerses)throw new Error("Must not specify both chapter and chapterVerses for cv");if(t.chapterVerses&&t.verses)throw new Error("Must not specify both chapterVerses and verses for cv");return t.chapter?((e,t,n,r,s,o)=>{if(t.chapter&&!t.verses)return((e,t,n,r,s)=>{var o=e.chapterIndex(r);if(o){var a=n.blocks[o.startBlock];return[[rd(t.docSet.unsuccinctifyScopes(a.os).map((e=>e[2])),t.docSet.unsuccinctifyItems(a.c,{},0,[]).slice(0,o.startItem+1).filter((e=>"scope"===e[0]))),t.docSet.itemsByIndex(n,o,s||!1).reduce(((e,t)=>e.concat([["token","lineSpace"," "]].concat(t))))]]}return[]})(e,n,r,t.chapter,t.includeContext);if(t.verses)return((e,t,n,r,s,o,a,i)=>{var u=t.docSet,c=e.headers.bookCode,d=s.map((e=>[parseInt(r),parseInt(e)]));if(a){var l=e.processor.docSets[i];if(l&&(u=l),"forward"in n.verseMapping&&r in n.verseMapping.forward){var p=[];for(var f of s)p.push(gi.versification.mapVerse(n.verseMapping.forward[r],e.headers.bookCode,r,f));var h=p[0];c=h[0],d=h[1]}var m=u.documentWithBook(c);if(m){var S=m.sequences[m.mainId];if(S.verseMapping&&"reversed"in S.verseMapping){var y=[];for(var[g,v]of d)""+g in S.verseMapping.reversed?y.push(gi.versification.mapVerse(S.verseMapping.reversed[""+g],c,g,v)):y.push([c,[[g,v]]]),c=y[0][0],d=y.map((e=>e[1])).reduce(((e,t)=>e.concat(t)))}}}var b={},E=u.documentWithBook(c);if(!E)return[];var A=E.sequences[E.mainId];for(var T of d.map((e=>e[0])))T in b||(b[T]=E.chapterVerseIndex(T));var w=[];for(var[k,P]of d)if(b[k]){var I=[],N=void 0,O=void 0;if(b[k][P]){for(var _ of b[k][P])N||(N=_.startBlock,O=_.startItem),I=I.concat(u.itemsByIndex(A,_,o||null).reduce(((e,t)=>e.concat([["token","lineSpace"," "]].concat(t)))));var x=A.blocks[N];w.push([rd(u.unsuccinctifyScopes(x.os).map((e=>e[2])),u.unsuccinctifyItems(x.c,{},0,[]).slice(0,O+1).filter((e=>"scope"===e[0]))),I])}}return w})(e,n,r,t.chapter,t.verses,t.includeContext,s,o);throw new Error("Unexpected args to do_cv_separate_args")})(e,t,n,o,r,s):((e,t,n,r)=>{if(l.default.test(t.chapterVerses,(0,l.default)("^[0-9]+:[0-9]+-[0-9]+:[0-9]+$"))){var[s,o]=t.chapterVerses.split("-");return od(0,n,r,s,o,t.includeContext)}if(l.default.test(t.chapterVerses,(0,l.default)("^[0-9]+:[0-9]+-[0-9]+$"))){var[a,i]=t.chapterVerses.split(":"),[u,c]=i.split("-");return od(0,n,r,a+":"+u,a+":"+c,t.includeContext)}if(l.default.test(t.chapterVerses,(0,l.default)("^[0-9]+:[0-9]+$"))){var[d,p]=t.chapterVerses.split(":");return od(0,n,r,d+":"+p,d+":"+p,t.includeContext)}if(l.default.test(t.chapterVerses,(0,l.default)("^[0-9]+$"))){var f=t.chapterVerses,h=e.chapterVerseIndex(f);if(!h)throw new Error("No chapter "+f+" found");var m=h.map(((e,t)=>[t,e])).filter((e=>e[1].length>0)).map((e=>e[0]));return od(0,n,r,f+":"+Math.min(m),f+":"+Math.max(m),t.includeContext)}throw new Error("Could not parse chapterVerses string '"+t.chapterVerses+"'")})(e,t,n,o)};function id(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ud(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var cd=(e,t)=>t in e.headers?e.headers[t]:null,dd={idParts:e=>{var t=cd(e,"id");if(!t)return[null,null];var n=l.default.exec(t,/^(P\d\d)\s+([A-Z0-6]{3})\s+(\S+)\s+-\s+(.*)/);if(n)return["periph",n.slice(1)];var r=l.default.exec(t,/^([A-Z0-6]{3})\s+(.*)/);return r?["book",r.slice(1)]:[null,[t]]},headers:e=>Object.entries(e.headers),header:(e,t)=>cd(e,t.id),mainSequence:(e,t,n)=>(n.docSet=e.processor.docSets[e.docSetId],e.sequences[e.mainId]),nSequences:(e,t,n)=>(n.docSet=e.processor.docSets[e.docSetId],Object.keys(e.sequences).length),sequences:(e,t,n)=>{n.docSet=e.processor.docSets[e.docSetId];var r=Object.values(e.sequences);return t.ids&&(r=r.filter((e=>t.ids.includes(e.id)))),t.types&&(r=r.filter((e=>t.types.includes(e.type)))),t.withTags&&(r=r.filter((e=>t.withTags.filter((t=>e.tags.has(t))).length===t.withTags.length))),t.withoutTags&&(r=r.filter((e=>0===t.withoutTags.filter((t=>e.tags.has(t))).length))),r},tableSequences:(e,t,n)=>{n.docSet=e.processor.docSets[e.docSetId];var r=Object.values(e.sequences);return r=r.filter((e=>"table"===e.type)),t.ids&&(r=r.filter((e=>t.ids.includes(e.id)))),t.withTags&&(r=r.filter((e=>t.withTags.filter((t=>e.tags.has(t))).length===t.withTags.length))),t.withoutTags&&(r=r.filter((e=>0===t.withoutTags.filter((t=>e.tags.has(t))).length))),r},treeSequences:(e,t,n)=>{n.docSet=e.processor.docSets[e.docSetId];var r=Object.values(e.sequences);return r=r.filter((e=>"tree"===e.type)),t.ids&&(r=r.filter((e=>t.ids.includes(e.id)))),t.withTags&&(r=r.filter((e=>t.withTags.filter((t=>e.tags.has(t))).length===t.withTags.length))),t.withoutTags&&(r=r.filter((e=>0===t.withoutTags.filter((t=>e.tags.has(t))).length))),r},kvSequences:(e,t,n)=>{n.docSet=e.processor.docSets[e.docSetId];var r=Object.values(e.sequences);return r=r.filter((e=>"kv"===e.type)),t.ids&&(r=r.filter((e=>t.ids.includes(e.id)))),t.withTags&&(r=r.filter((e=>t.withTags.filter((t=>e.tags.has(t))).length===t.withTags.length))),t.withoutTags&&(r=r.filter((e=>0===t.withoutTags.filter((t=>e.tags.has(t))).length))),r},textSequences:(e,t,n)=>{n.docSet=e.processor.docSets[e.docSetId];var r=Object.values(e.sequences);return r=r.filter((e=>"tree"!==e.type&&"table"!==e.type&&"kv"!==e.type)),t.ids&&(r=r.filter((e=>t.ids.includes(e.id)))),t.withTags&&(r=r.filter((e=>t.withTags.filter((t=>e.tags.has(t))).length===t.withTags.length))),t.withoutTags&&(r=r.filter((e=>0===t.withoutTags.filter((t=>e.tags.has(t))).length))),r},sequence:(e,t,n)=>{n.docSet=e.processor.docSets[e.docSetId];var r=Object.values(e.sequences);return(r=r.filter((e=>t.id.includes(e.id))))[0]||null},tableSequence:(e,t,n)=>{n.docSet=e.processor.docSets[e.docSetId];var r=Object.values(e.sequences);if((r=r.filter((e=>t.id.includes(e.id))))[0]&&"table"!==r[0].type)throw new Error("Expected sequence id "+r[0].id+" to be of type 'table', not '"+r[0].type+"'");return r[0]||null},treeSequence:(e,t,n)=>{n.docSet=e.processor.docSets[e.docSetId];var r=Object.values(e.sequences);if((r=r.filter((e=>t.id.includes(e.id))))[0]&&"tree"!==r[0].type)throw new Error("Expected sequence id "+r[0].id+" to be of type 'tree', not '"+r[0].type+"'");return r[0]||null},kvSequence:(e,t,n)=>{n.docSet=e.processor.docSets[e.docSetId];var r=Object.values(e.sequences);if((r=r.filter((e=>t.id.includes(e.id))))[0]&&"vk"!==r[0].type)throw new Error("Expected sequence id "+r[0].id+" to be of type 'kv', not '"+r[0].type+"'");return r[0]||null},mainBlocks:(e,t,n)=>(n.docSet=e.processor.docSets[e.docSetId],e.sequences[e.mainId].blocks),mainBlocksItems:(e,t,n)=>(n.docSet=e.processor.docSets[e.docSetId],e.sequences[e.mainId].blocks.map((e=>n.docSet.unsuccinctifyItems(e.c,{},null)))),mainBlocksTokens:(e,t,n)=>(n.docSet=e.processor.docSets[e.docSetId],e.sequences[e.mainId].blocks.map((e=>n.docSet.unsuccinctifyItems(e.c,{tokens:!0},null)))),mainBlocksText:(e,t,n)=>(n.docSet=e.processor.docSets[e.docSetId],e.sequences[e.mainId].blocks.map((e=>{var r=n.docSet.unsuccinctifyItems(e.c,{tokens:!0},null).map((e=>e[2])).join("").trim();return t.normalizeSpace&&(r=r.replace(/[ \t\n\r]+/g," ")),r}))),mainText:(e,t,n)=>(n.docSet=e.processor.docSets[e.docSetId],e.sequences[e.mainId].blocks.map((e=>{var r=n.docSet.unsuccinctifyItems(e.c,{tokens:!0},null).map((e=>e[2])).join("").trim();return t.normalizeSpace&&(r=r.replace(/[ \t\n\r]+/g," ")),r})).join("\n")),tags:e=>Array.from(e.tags),tagsKv:e=>Array.from(e.tags).map((e=>e.includes(":")?[e.substring(0,e.indexOf(":")),e.substring(e.indexOf(":")+1)]:[e,""])),hasTag:(e,t)=>e.tags.has(t.tagName),cv:(e,t,n)=>ad(e,t,n,!1),mappedCv:(e,t,n)=>{if(1!==t.verses.length)throw new Error("mappedCv expects exactly one verse, not "+t.verses.length);return ad(e,t,n,!0,t.mappedDocSetId)},mappedCvs:(e,t,n)=>{var r=e.chapterVerseIndex(t.chapter).filter((e=>e.length>0)).map((e=>e[0].verses)),s=[],o=function(r){s.push(ad(e,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?id(Object(n),!0).forEach((function(t){ud(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):id(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},t,{verses:[r]}),n,!0,t.mappedDocSetId).map((e=>[["fromChapter/"+t.chapter,"fromVerse/"+r,...e[0]],e[1]])))};for(var a of r)o(a);return s},cvNavigation:(e,t)=>[t.chapter,t.verse,e.chapterVerseIndex((parseInt(t.chapter)-1).toString()),e.chapterVerseIndex(t.chapter),e.chapterVerseIndex((parseInt(t.chapter)+1).toString())],cvIndexes:(e,t,n)=>(n.docSet=e.processor.docSets[e.docSetId],n.doc=e,Object.entries(e.chapterVerseIndexes())),cvIndex:(e,t,n)=>(n.docSet=e.processor.docSets[e.docSetId],n.doc=e,[t.chapter,e.chapterVerseIndex(t.chapter)||[]]),cIndexes:(e,t,n)=>(n.docSet=e.processor.docSets[e.docSetId],n.doc=e,Object.entries(e.chapterIndexes())),cIndex:(e,t,n)=>{n.docSet=e.processor.docSets[e.docSetId],n.doc=e;var r=e.chapterIndex(t.chapter);return[t.chapter,r||{}]},cvMatching:(e,t,n)=>{if(!t.withChars&&!t.withMatchingChars&&!t.withScopes)throw new Error("Must specify at least one of withChars or withMatchingChars or withScopes");if(t.withChars&&t.withMatchingChars)throw new Error("Must not specify both withChars and withMatchingChars");var r;n.docSet=e.processor.docSets[e.docSetId],t.withChars&&t.allChars?r=t.withChars.map((e=>(0,l.default)("^"+e+"$"))):t.withChars?r=[l.default.union(t.withChars.map((e=>(0,l.default)("^"+e+"$","i"))))]:t.withMatchingChars&&t.allChars?r=t.withMatchingChars.map((e=>(0,l.default)(e,"i"))):t.withMatchingChars&&(r=[l.default.union(t.withMatchingChars.map((e=>(0,l.default)(e,"i"))))]);var s=e=>{for(var n of t.withScopes||[])if(!e.includes(n))return!1;return!0},o=e=>{var n=t.withScopes||[];for(var r of n)if(e.includes(r))return!0;return 0===n.length};return n.docSet.sequenceItemsByScopes(e.sequences[e.mainId].blocks,["chapter/","verses/"]).filter((e=>(t.allScopes?s:o)(e[1].filter((e=>"scope"===e[0]&&"start"===e[1])).map((e=>e[2])))&&(e=>{for(var t of r||[]){var n=!1;for(var s of e)if(l.default.test(s[2],t)){n=!0;break}if(!n)return!1}return!0})(e[1])))},perf:(e,t)=>e.perf(t.indent),usfm:e=>e.usfm(),sofria:(e,t)=>e.sofria(t.indent,t.chapter)},ld={paratext:(e,t)=>{var n=e.headers.bookCode||"GEN",r=t.headers.bookCode||"GEN";return(gi.canons.ptBooks[n]?gi.canons.ptBooks[n].position:999)-(gi.canons.ptBooks[r]?gi.canons.ptBooks[r].position:999)},alpha:(e,t)=>{var n=e.headers.bookCode||"GEN",r=t.headers.bookCode||"GEN";return n.localeCompare(r)},alpha2:(e,t)=>{var n=[1,2,3,4,5,6],r=e.headers.bookCode||"GEN";n.includes(r[0])&&(r=r.substring(1)+r[0]);var s=t.headers.bookCode||"GEN";return n.includes(s[0])&&(s=s.substring(1)+s[0]),r.localeCompare(s)}},pd='\n"""A collection of documents that share the same set of selector values"""\ntype DocSet {\n """The id of the docSet, which is formed by concatenating the docSet\'s selector values"""\n id: String!\n """The selectors of the docSet"""\n selectors: [KeyValue!]!\n """A selector for this docSet"""\n selector(\n """The id of the selector"""\n id: String!\n ): String!\n """A list of the tags of this docSet"""\n tags: [String!]!\n """A list of the tags of this docSet as key/value tuples"""\n tagsKv: [KeyValue!]!\n """Whether or not the docSet has the specified tag"""\n hasTag(\n """The tag"""\n tagName: String!\n ): Boolean!\n """The documents in the docSet"""\n documents(\n """A whitelist of ids of documents to include"""\n ids: [String!]\n """A whitelist of ids of documents to include"""\n withChars: [String!]\n """Return documents whose main sequence contains a token whose payload is an exact match to one of the specified strings"""\n withMatchingChars: [String!]\n """If true, documents where all search terms match will be included"""\n allChars: Boolean\n """Only return documents where the list of scopes is used"""\n withScopes: [String!]\n """If true, documents where all scopes are found will be included"""\n allScopes: Boolean\n """Only return documents with the specified header key/values"""\n withHeaderValues: [InputKeyValue!]\n """Only return documents with all the specified tags"""\n withTags: [String!]\n """Only return documents with none of the specified tags"""\n withoutTags: [String!]\n """Sort returned documents by the designated method (currently '+Object.keys(ld).join(", ")+')`"""\n sortedBy: String\n ): [Document!]!\n """The number of documents in the docSet"""\n nDocuments: Int!\n """A document in the docSet, if present"""\n document(\n """The book code of the required document"""\n bookCode: String!\n ): Document\n """Whether the docSet has versification information loaded"""\n hasMapping: Boolean!\n """The internal index number corresponding to a string in a given docSet enum"""\n enumIndexForString(\n """The enum to be searched"""\n enumType: String!\n """The string to match"""\n searchString: String!\n ): Int!\n """Information about internal indexes matching the case-insensitive regex in a given docSet enum"""\n enumRegexIndexesForString(\n """The enum to be searched"""\n enumType: String!\n """The regex to match"""\n searchRegex: String!\n ): [regexIndex!]!\n """A list of wordLike token strings in the docSet"""\n wordLikes(\n """Whether to coerce the strings (toLower|toUpper|none)"""\n coerceCase: String\n ): [String!]!\n """A list of unique characters in the docSet"""\n uniqueChars: [String!]!\n """A string containing the unique characters in the docSet"""\n uniqueCharsString: String!\n }\n',fd={selectors:e=>Object.entries(e.selectors),selector:(e,t)=>e.selectors[t.id],tags:e=>Array.from(e.tags),tagsKv:e=>Array.from(e.tags).map((e=>e.includes(":")?[e.substring(0,e.indexOf(":")),e.substring(e.indexOf(":")+1)]:[e,""])),hasTag:(e,t)=>e.tags.has(t.tagName),documents:(e,t,n)=>{if(t.withChars&&t.withMatchingChars)throw new Error("Cannot specify both withChars and withMatchingChars");n.docSet=e;var r=e.documents();if(t.ids&&(r=r.filter((e=>t.ids.includes(e.id)))),t.withChars&&(r=r.filter((n=>Qc(e,n.sequences[n.mainId],t.withChars,t.allChars)))),t.withMatchingChars&&(r=r.filter((n=>ed(e,n.sequences[n.mainId],t.withMatchingChars,t.allChars)))),t.withScopes&&(r=r.filter((e=>{var r,s=(r=e,new Set(r.sequences[r.mainId].blocks.map((e=>n.docSet.unsuccinctifyBlockScopeLabelsSet(e))).map((e=>Array.from(e))).reduce(((e,t)=>e.concat(t))))),o=t.allScopes?t.withScopes.length:1;return t.withScopes.filter((e=>s.has(e))).length>=o}))),t.withHeaderValues&&(r=r.filter((e=>((e,t)=>{for(var n of t||[])if(!(n.key in e)||e[n.key]!==n.value)return!1;return!0})(e.headers,t.withHeaderValues)))),t.withTags&&(r=r.filter((e=>t.withTags.filter((t=>e.tags.has(t))).length===t.withTags.length))),t.withoutTags&&(r=r.filter((e=>0===t.withoutTags.filter((t=>e.tags.has(t))).length))),t.sortedBy){if(!(t.sortedBy in ld))throw new Error("sortedBy value must be one of ["+Object.keys(ld)+"], not "+t.sortedBy);r.sort(ld[t.sortedBy])}return r},nDocuments:(e,t,n)=>(n.docSet=e,e.documents().length),document:(e,t)=>e.documentWithBook(t.bookCode),hasMapping:e=>e.tags.has("hasMapping"),enumIndexForString:(e,t)=>gi.enums.enumStringIndex(e.enums[t.enumType],t.searchString),enumRegexIndexesForString:(e,t)=>gi.enums.enumRegexIndexTuples(e.enums[t.enumType],t.searchRegex),wordLikes:(e,t)=>{if(t.coerceCase&&!["toLower","toUpper","none"].includes(t.coerceCase))throw new Error("coerceCase, when present, must be 'toLower', 'toUpper' or 'none', not '"+t.coerceCase+"'");var n=gi.succinct.unpackEnum(e.enums.wordLike);return"toLower"===t.coerceCase&&(n=n.map((e=>e.toLowerCase()))),"toUpper"===t.coerceCase&&(n=n.map((e=>e.toUpperCase()))),Array.from(new Set(n))},uniqueChars:e=>{var t=new Set([]);for(var n of[...gi.succinct.unpackEnum(e.enums.wordLike),...gi.succinct.unpackEnum(e.enums.notWordLike)])for(var r of n.split(""))t.add(r);return Array.from(t).sort()},uniqueCharsString:e=>{var t=new Set([]);for(var n of[...gi.succinct.unpackEnum(e.enums.wordLike),...gi.succinct.unpackEnum(e.enums.notWordLike)])for(var r of n.split(""))t.add(r);return Array.from(t).sort().join("")}},hd={eng:{raw:'# Versification "English"\n# Version=2.0\n#\n# modifications by Reinier de Blois 13/March/2012\n# modified mappings Psalms by adding verse #0 to the mappings\n# many of the subscripts that are part of verses 1,2 in the original text end up as verse #0 in English translations\n\n# modifications by Studge 26/June/2009\n# book definitions are for all books printed in any English of Spanish Bible\n# this includes books for Protestant, Catholic and Protestant-Catholic-EasternOrthodox Interconfessional editions\n#\n# This is the versification used by most English (e.g. RSV) and Spanish Bibles (e.g. RVR)\n#\n# List of books, chapters, verses\n# One line per book.\n# One entry for each chapter.\n# Verse number is the maximum verse number for that chapter.\n# See the lines containing =\'s below for verse mappings.\n#\n#--------------------------------------------------\n# Old Testament\nGEN 1:31 2:25 3:24 4:26 5:32 6:22 7:24 8:22 9:29 10:32 11:32 12:20 13:18 14:24 15:21 16:16 17:27 18:33 19:38 20:18 21:34 22:24 23:20 24:67 25:34 26:35 27:46 28:22 29:35 30:43 31:55 32:32 33:20 34:31 35:29 36:43 37:36 38:30 39:23 40:23 41:57 42:38 43:34 44:34 45:28 46:34 47:31 48:22 49:33 50:26\nEXO 1:22 2:25 3:22 4:31 5:23 6:30 7:25 8:32 9:35 10:29 11:10 12:51 13:22 14:31 15:27 16:36 17:16 18:27 19:25 20:26 21:36 22:31 23:33 24:18 25:40 26:37 27:21 28:43 29:46 30:38 31:18 32:35 33:23 34:35 35:35 36:38 37:29 38:31 39:43 40:38\nLEV 1:17 2:16 3:17 4:35 5:19 6:30 7:38 8:36 9:24 10:20 11:47 12:8 13:59 14:57 15:33 16:34 17:16 18:30 19:37 20:27 21:24 22:33 23:44 24:23 25:55 26:46 27:34\nNUM 1:54 2:34 3:51 4:49 5:31 6:27 7:89 8:26 9:23 10:36 11:35 12:16 13:33 14:45 15:41 16:50 17:13 18:32 19:22 20:29 21:35 22:41 23:30 24:25 25:18 26:65 27:23 28:31 29:40 30:16 31:54 32:42 33:56 34:29 35:34 36:13\nDEU 1:46 2:37 3:29 4:49 5:33 6:25 7:26 8:20 9:29 10:22 11:32 12:32 13:18 14:29 15:23 16:22 17:20 18:22 19:21 20:20 21:23 22:30 23:25 24:22 25:19 26:19 27:26 28:68 29:29 30:20 31:30 32:52 33:29 34:12\nJOS 1:18 2:24 3:17 4:24 5:15 6:27 7:26 8:35 9:27 10:43 11:23 12:24 13:33 14:15 15:63 16:10 17:18 18:28 19:51 20:9 21:45 22:34 23:16 24:33\nJDG 1:36 2:23 3:31 4:24 5:31 6:40 7:25 8:35 9:57 10:18 11:40 12:15 13:25 14:20 15:20 16:31 17:13 18:31 19:30 20:48 21:25\nRUT 1:22 2:23 3:18 4:22\n1SA 1:28 2:36 3:21 4:22 5:12 6:21 7:17 8:22 9:27 10:27 11:15 12:25 13:23 14:52 15:35 16:23 17:58 18:30 19:24 20:42 21:15 22:23 23:29 24:22 25:44 26:25 27:12 28:25 29:11 30:31 31:13\n2SA 1:27 2:32 3:39 4:12 5:25 6:23 7:29 8:18 9:13 10:19 11:27 12:31 13:39 14:33 15:37 16:23 17:29 18:33 19:43 20:26 21:22 22:51 23:39 24:25\n1KI 1:53 2:46 3:28 4:34 5:18 6:38 7:51 8:66 9:28 10:29 11:43 12:33 13:34 14:31 15:34 16:34 17:24 18:46 19:21 20:43 21:29 22:53\n2KI 1:18 2:25 3:27 4:44 5:27 6:33 7:20 8:29 9:37 10:36 11:21 12:21 13:25 14:29 15:38 16:20 17:41 18:37 19:37 20:21 21:26 22:20 23:37 24:20 25:30\n1CH 1:54 2:55 3:24 4:43 5:26 6:81 7:40 8:40 9:44 10:14 11:47 12:40 13:14 14:17 15:29 16:43 17:27 18:17 19:19 20:8 21:30 22:19 23:32 24:31 25:31 26:32 27:34 28:21 29:30\n2CH 1:17 2:18 3:17 4:22 5:14 6:42 7:22 8:18 9:31 10:19 11:23 12:16 13:22 14:15 15:19 16:14 17:19 18:34 19:11 20:37 21:20 22:12 23:21 24:27 25:28 26:23 27:9 28:27 29:36 30:27 31:21 32:33 33:25 34:33 35:27 36:23\nEZR 1:11 2:70 3:13 4:24 5:17 6:22 7:28 8:36 9:15 10:44\nNEH 1:11 2:20 3:32 4:23 5:19 6:19 7:73 8:18 9:38 10:39 11:36 12:47 13:31\nEST 1:22 2:23 3:15 4:17 5:14 6:14 7:10 8:17 9:32 10:3\nJOB 1:22 2:13 3:26 4:21 5:27 6:30 7:21 8:22 9:35 10:22 11:20 12:25 13:28 14:22 15:35 16:22 17:16 18:21 19:29 20:29 21:34 22:30 23:17 24:25 25:6 26:14 27:23 28:28 29:25 30:31 31:40 32:22 33:33 34:37 35:16 36:33 37:24 38:41 39:30 40:24 41:34 42:17\nPSA 1:6 2:12 3:8 4:8 5:12 6:10 7:17 8:9 9:20 10:18 11:7 12:8 13:6 14:7 15:5 16:11 17:15 18:50 19:14 20:9 21:13 22:31 23:6 24:10 25:22 26:12 27:14 28:9 29:11 30:12 31:24 32:11 33:22 34:22 35:28 36:12 37:40 38:22 39:13 40:17 41:13 42:11 43:5 44:26 45:17 46:11 47:9 48:14 49:20 50:23 51:19 52:9 53:6 54:7 55:23 56:13 57:11 58:11 59:17 60:12 61:8 62:12 63:11 64:10 65:13 66:20 67:7 68:35 69:36 70:5 71:24 72:20 73:28 74:23 75:10 76:12 77:20 78:72 79:13 80:19 81:16 82:8 83:18 84:12 85:13 86:17 87:7 88:18 89:52 90:17 91:16 92:15 93:5 94:23 95:11 96:13 97:12 98:9 99:9 100:5 101:8 102:28 103:22 104:35 105:45 106:48 107:43 108:13 109:31 110:7 111:10 112:10 113:9 114:8 115:18 116:19 117:2 118:29 119:176 120:7 121:8 122:9 123:4 124:8 125:5 126:6 127:5 128:6 129:8 130:8 131:3 132:18 133:3 134:3 135:21 136:26 137:9 138:8 139:24 140:13 141:10 142:7 143:12 144:15 145:21 146:10 147:20 148:14 149:9 150:6\nPRO 1:33 2:22 3:35 4:27 5:23 6:35 7:27 8:36 9:18 10:32 11:31 12:28 13:25 14:35 15:33 16:33 17:28 18:24 19:29 20:30 21:31 22:29 23:35 24:34 25:28 26:28 27:27 28:28 29:27 30:33 31:31\nECC 1:18 2:26 3:22 4:16 5:20 6:12 7:29 8:17 9:18 10:20 11:10 12:14\nSNG 1:17 2:17 3:11 4:16 5:16 6:13 7:13 8:14\nISA 1:31 2:22 3:26 4:6 5:30 6:13 7:25 8:22 9:21 10:34 11:16 12:6 13:22 14:32 15:9 16:14 17:14 18:7 19:25 20:6 21:17 22:25 23:18 24:23 25:12 26:21 27:13 28:29 29:24 30:33 31:9 32:20 33:24 34:17 35:10 36:22 37:38 38:22 39:8 40:31 41:29 42:25 43:28 44:28 45:25 46:13 47:15 48:22 49:26 50:11 51:23 52:15 53:12 54:17 55:13 56:12 57:21 58:14 59:21 60:22 61:11 62:12 63:19 64:12 65:25 66:24\nJER 1:19 2:37 3:25 4:31 5:31 6:30 7:34 8:22 9:26 10:25 11:23 12:17 13:27 14:22 15:21 16:21 17:27 18:23 19:15 20:18 21:14 22:30 23:40 24:10 25:38 26:24 27:22 28:17 29:32 30:24 31:40 32:44 33:26 34:22 35:19 36:32 37:21 38:28 39:18 40:16 41:18 42:22 43:13 44:30 45:5 46:28 47:7 48:47 49:39 50:46 51:64 52:34\nLAM 1:22 2:22 3:66 4:22 5:22\nEZK 1:28 2:10 3:27 4:17 5:17 6:14 7:27 8:18 9:11 10:22 11:25 12:28 13:23 14:23 15:8 16:63 17:24 18:32 19:14 20:49 21:32 22:31 23:49 24:27 25:17 26:21 27:36 28:26 29:21 30:26 31:18 32:32 33:33 34:31 35:15 36:38 37:28 38:23 39:29 40:49 41:26 42:20 43:27 44:31 45:25 46:24 47:23 48:35\nDAN 1:21 2:49 3:30 4:37 5:31 6:28 7:28 8:27 9:27 10:21 11:45 12:13\nHOS 1:11 2:23 3:5 4:19 5:15 6:11 7:16 8:14 9:17 10:15 11:12 12:14 13:16 14:9\nJOL 1:20 2:32 3:21\nAMO 1:15 2:16 3:15 4:13 5:27 6:14 7:17 8:14 9:15\nOBA 1:21\nJON 1:17 2:10 3:10 4:11\nMIC 1:16 2:13 3:12 4:13 5:15 6:16 7:20\nNAM 1:15 2:13 3:19\nHAB 1:17 2:20 3:19\nZEP 1:18 2:15 3:20\nHAG 1:15 2:23\nZEC 1:21 2:13 3:10 4:14 5:11 6:15 7:14 8:23 9:17 10:12 11:17 12:14 13:9 14:21\nMAL 1:14 2:17 3:18 4:6\n#-----------------------------------------------\n# New Testament\nMAT 1:25 2:23 3:17 4:25 5:48 6:34 7:29 8:34 9:38 10:42 11:30 12:50 13:58 14:36 15:39 16:28 17:27 18:35 19:30 20:34 21:46 22:46 23:39 24:51 25:46 26:75 27:66 28:20\nMRK 1:45 2:28 3:35 4:41 5:43 6:56 7:37 8:38 9:50 10:52 11:33 12:44 13:37 14:72 15:47 16:20\nLUK 1:80 2:52 3:38 4:44 5:39 6:49 7:50 8:56 9:62 10:42 11:54 12:59 13:35 14:35 15:32 16:31 17:37 18:43 19:48 20:47 21:38 22:71 23:56 24:53\nJHN 1:51 2:25 3:36 4:54 5:47 6:71 7:53 8:59 9:41 10:42 11:57 12:50 13:38 14:31 15:27 16:33 17:26 18:40 19:42 20:31 21:25\nACT 1:26 2:47 3:26 4:37 5:42 6:15 7:60 8:40 9:43 10:48 11:30 12:25 13:52 14:28 15:41 16:40 17:34 18:28 19:41 20:38 21:40 22:30 23:35 24:27 25:27 26:32 27:44 28:31\nROM 1:32 2:29 3:31 4:25 5:21 6:23 7:25 8:39 9:33 10:21 11:36 12:21 13:14 14:23 15:33 16:27\n1CO 1:31 2:16 3:23 4:21 5:13 6:20 7:40 8:13 9:27 10:33 11:34 12:31 13:13 14:40 15:58 16:24\n#2CO 1:24 2:17 3:18 4:18 5:21 6:18 7:16 8:24 9:15 10:18 11:33 12:21 13:14\n# Note sometimes 2CO 13 has 14 verses e.g. KJV. but 13 verses in modern translations\n2CO 1:24 2:17 3:18 4:18 5:21 6:18 7:16 8:24 9:15 10:18 11:33 12:21 13:14\nGAL 1:24 2:21 3:29 4:31 5:26 6:18\nEPH 1:23 2:22 3:21 4:32 5:33 6:24\nPHP 1:30 2:30 3:21 4:23\nCOL 1:29 2:23 3:25 4:18\n1TH 1:10 2:20 3:13 4:18 5:28\n2TH 1:12 2:17 3:18\n1TI 1:20 2:15 3:16 4:16 5:25 6:21\n2TI 1:18 2:26 3:17 4:22\nTIT 1:16 2:15 3:15\nPHM 1:25\nHEB 1:14 2:18 3:19 4:16 5:14 6:20 7:28 8:13 9:28 10:39 11:40 12:29 13:25\nJAS 1:27 2:26 3:18 4:17 5:20\n1PE 1:25 2:25 3:22 4:19 5:14\n2PE 1:21 2:22 3:18\n1JN 1:10 2:29 3:24 4:21 5:21\n2JN 1:13\n3JN 1:15\nJUD 1:25\nREV 1:20 2:29 3:22 4:11 5:14 6:17 7:17 8:13 9:21 10:11 11:19 12:18 13:18 14:20 15:8 16:21 17:18 18:24 19:21 20:15 21:27 22:21\n# sometimes called the Apocalypse\n#---------------------------------------------------------\n# Deuterocanonical books\nTOB 1:22 2:14 3:17 4:21 5:21 6:17 7:18 8:21 9:6 10:13 11:19 12:22 13:18 14:15\nJDT 1:16 2:28 3:10 4:15 5:24 6:21 7:32 8:36 9:14 10:23 11:23 12:20 13:20 14:19 15:13 16:25\n#-----------------------\n# This is the definition for "Additions to Daniel" as in the KJV [Studge]\n# ESG 1:13 2:12 3:6 4:18 5:19 6:16 7:24\n# more commonly UBS Bibles have ESG which is the full Esther Greek for modern Bibles e.g. RSV, CEV, GNB etc\nESG 1:39 2:23 3:22 4:47 5:28 6:14 7:10 8:39 9:32 10:13\n#-----------------------\nWIS 1:16 2:24 3:19 4:20 5:23 6:25 7:30 8:21 9:18 10:21 11:26 12:27 13:19 14:31 15:19 16:29 17:21 18:25 19:22\nSIR 1:30 2:18 3:31 4:31 5:15 6:37 7:36 8:19 9:18 10:31 11:34 12:18 13:26 14:27 15:20 16:30 17:32 18:33 19:30 20:32 21:28 22:27 23:27 24:34 25:26 26:29 27:30 28:26 29:28 30:25 31:31 32:24 33:31 34:26 35:20 36:26 37:31 38:34 39:35 40:30 41:23 42:25 43:33 44:23 45:26 46:20 47:25 48:25 49:16 50:29 51:30\n#\n# In English Bibles Baruch sometimes has 5 chapters and sometimes 6 in Catholic Bibles [Studge]\nBAR 1:21 2:35 3:37 4:37 5:9 6:73\n#\nLJE 1:73\nS3Y 1:68\nSUS 1:64\nBEL 1:42\n1MA 1:64 2:70 3:60 4:61 5:68 6:63 7:50 8:32 9:73 10:89 11:74 12:53 13:53 14:49 15:41 16:24\n2MA 1:36 2:32 3:40 4:50 5:27 6:31 7:42 8:36 9:29 10:38 11:38 12:45 13:26 14:46 15:39\n#-----------------------------------------------------\n# Additional Orthodox Books in Interconfessional Bibles e.g. RSV, NRSV\n3MA 1:29 2:33 3:30 4:21 5:51 6:41 7:23\n4MA 1:35 2:24 3:21 4:26 5:38 6:35 7:23 8:29 9:32 10:21 11:27 12:19 13:27 14:20 15:32 16:25 17:24 18:24\n1ES 1:58 2:30 3:24 4:63 5:73 6:34 7:15 8:96 9:55\n2ES 1:40 2:48 3:36 4:52 5:56 6:59 7:140 8:63 9:47 10:59 11:46 12:51 13:58 14:48 15:63 16:78\nMAN 1:15\nPS2 1:7\n#-----------------------------------------------------\n# ODA and PSS are only used in LXX and SYR projects and are not needed here\n# ODA 1:19 2:43 3:10 4:19 5:12 6:8 7:20 8:37 9:22 10:9 11:11 12:15 13:4 14:46\n# PSS 1:8 2:37 3:12 4:25 5:19 6:6 7:10 8:34 9:11 10:8 11:9 12:6 13:12 14:10 15:13 16:15 17:46 18:12\n#-----------------------------------------------------\n# Obselete books used for LXX variant texts, in LXX only in PT 6, and obselete in PT 7, not used in English, Spanish or any other Bibles. If these codes were used they were used for the wrong books and these definitions were not relevant\nJSA 1:18 2:24 3:17 4:24 5:15 6:27 7:26 8:35 9:27 10:43 11:23 12:24 13:33 14:15 15:63 16:10 17:18 18:28 19:51 20:9 21:45 22:34 23:16 24:33\nJDB 1:36 2:23 3:31 4:24 5:31 6:40 7:25 8:35 9:57 10:18 11:40 12:15 13:25 14:20 15:20 16:31 17:13 18:31 19:30 20:48 21:25\nTBS 1:22 2:14 3:17 4:21 5:23 6:19 7:17 8:21 9:6 10:14 11:19 12:22 13:18 14:15\nSST 1:64\nDNT 1:21 2:49 3:97 4:37 5:30 6:29 7:28 8:27 9:27 10:21 11:45 12:13\nBLT 1:42\n#------------------------------------------------------\n# Daniel Greek used in some English Catholic Bibles\nDAG 1:21 2:49 3:97 4:37 5:31 6:28 7:28 8:27 9:27 10:21 11:45 12:13 13:64 14:42\n# Letter to the Laodiceans which was in the John Wycliffe Bible\nLAO 1:20\n#\n#-----------------------------------------------------\n# Mapping\n#-----------------------------------------------------\n# English = BHS (see org.vrs)\n#\n# (Note: ranges must not span a chapter, e.g. 4:10-5:11 is illegal)\n#\nGEN 31:55 = GEN 32:1\nGEN 32:1-32 = GEN 32:2-33\nEXO 8:1-4 = EXO 7:26-29\nEXO 8:5-32 = EXO 8:1-28\nEXO 22:1 = EXO 21:37\nEXO 22:2-31 = EXO 22:1-30\nLEV 6:1-7 = LEV 5:20-26\nLEV 6:8-30 = LEV 6:1-23\nNUM 16:36-50 = NUM 17:1-15\nNUM 17:1-13 = NUM 17:16-28\n# NUM 26:1a = NUM 25:19b # no support for splits yet\n# NUM 26:1b = NUM 26:1 # no support for splits yet\nNUM 29:40 = NUM 30:1\nNUM 30:1-16 = NUM 30:2-17\nDEU 12:32 = DEU 13:1\nDEU 13:1-18 = DEU 13:2-19\nDEU 22:30 = DEU 23:1\nDEU 23:1-25 = DEU 23:2-26\nDEU 29:1 = DEU 28:69\nDEU 29:2-29 = DEU 29:1-28\n#\n# removed see PTSIL-113\n#1SA 20:42 = 1SA 20:41\n#\n1SA 20:42 = 1SA 21:1\n1SA 21:1-15 = 1SA 21:2-16\n1SA 23:29 = 1SA 24:1\n1SA 24:1-22 = 1SA 24:2-23\n2SA 18:33 = 2SA 19:1\n2SA 19:1-43 = 2SA 19:2-44\n1KI 4:21-34 = 1KI 5:1-14\n1KI 5:1-18 = 1KI 5:15-32\n# 1KI 18:33a = 1KI 18:33 # no support for splits yet\n# 1KI 18:33b = 1KI 18:34 # no support for splits yet\n# 1KI 22:43a = 1KI 22:43b # no support for splits yet\n1KI 22:43-53 = 1KI 22:44-54\n2KI 11:21 = 2KI 12:1\n2KI 12:1-21 = 2KI 12:2-22\n1CH 6:1-15 = 1CH 5:27-41\n1CH 6:16-81 = 1CH 6:1-66\n# 1CH 12:4b = 1CH 12:4 # no support for splits yet\n1CH 12:4-40 = 1CH 12:5-41\n2CH 2:1 = 2CH 1:18\n2CH 2:2-18 = 2CH 2:1-17\n2CH 14:1 = 2CH 13:23\n2CH 14:2-15 = 2CH 14:1-14\nNEH 4:1-6 = NEH 3:33-38\nNEH 4:7-23 = NEH 4:1-17\nNEH 7:69-73 = NEH 7:68-72\nNEH 9:38 = NEH 10:1\nNEH 10:1-39 = NEH 10:2-40\nJOB 41:1-8 = JOB 40:25-32\nJOB 41:9-34 = JOB 41:1-26\nPSA 3:0-8 = PSA 3:1-9\nPSA 4:0-8 = PSA 4:1-9\nPSA 5:0-12 = PSA 5:1-13\nPSA 6:0-10 = PSA 6:1-11\nPSA 7:0-17 = PSA 7:1-18\nPSA 8:0-9 = PSA 8:1-10\nPSA 9:0-20 = PSA 9:1-21\nPSA 12:0-8 = PSA 12:1-9\nPSA 13:0-5 = PSA 13:1-6\nPSA 18:0-50 = PSA 18:1-51\nPSA 19:0-14 = PSA 19:1-15\nPSA 20:0-9 = PSA 20:1-10\nPSA 21:0-13 = PSA 21:1-14\nPSA 22:0-31 = PSA 22:1-32\nPSA 30:0-12 = PSA 30:1-13\nPSA 31:0-24 = PSA 31:1-25\nPSA 34:0-22 = PSA 34:1-23\nPSA 36:0-12 = PSA 36:1-13\nPSA 38:0-22 = PSA 38:1-23\nPSA 39:0-13 = PSA 39:1-14\nPSA 40:0-17 = PSA 40:1-18\nPSA 41:0-13 = PSA 41:1-14\nPSA 42:0-11 = PSA 42:1-12\nPSA 44:0-26 = PSA 44:1-27\nPSA 45:0-17 = PSA 45:1-18\nPSA 46:0-11 = PSA 46:1-12\nPSA 47:0-9 = PSA 47:1-10\nPSA 48:0-14 = PSA 48:1-15\nPSA 49:0-20 = PSA 49:1-21\nPSA 51:0 = PSA 51:1\nPSA 51:0 = PSA 51:2\nPSA 51:1-19 = PSA 51:3-21\nPSA 52:0 = PSA 52:1\nPSA 52:0 = PSA 52:2\nPSA 52:1-9 = PSA 52:3-11\nPSA 53:0-6 = PSA 53:1-7\nPSA 54:0 = PSA 54:1\nPSA 54:0 = PSA 54:2\nPSA 54:1-7 = PSA 54:3-9\nPSA 55:0-23 = PSA 55:1-24\nPSA 56:0-13 = PSA 56:1-14\nPSA 57:0-11 = PSA 57:1-12\nPSA 58:0-11 = PSA 58:1-12\nPSA 59:0-17 = PSA 59:1-18\nPSA 60:0 = PSA 60:1\nPSA 60:0 = PSA 60:2\nPSA 60:1-12 = PSA 60:3-14\nPSA 61:0-8 = PSA 61:1-9\nPSA 62:0-12 = PSA 62:1-13\nPSA 63:0-11 = PSA 63:1-12\nPSA 64:0-10 = PSA 64:1-11\nPSA 65:0-13 = PSA 65:1-14\nPSA 67:0-7 = PSA 67:1-8\nPSA 68:0-35 = PSA 68:1-36\nPSA 69:0-36 = PSA 69:1-37\nPSA 70:0-5 = PSA 70:1-6\nPSA 75:0-10 = PSA 75:1-11\nPSA 76:0-12 = PSA 76:1-13\nPSA 77:0-20 = PSA 77:1-21\nPSA 80:0-19 = PSA 80:1-20\nPSA 81:0-16 = PSA 81:1-17\nPSA 83:0-18 = PSA 83:1-19\nPSA 84:0-12 = PSA 84:1-13\nPSA 85:0-13 = PSA 85:1-14\nPSA 88:0-18 = PSA 88:1-19\nPSA 89:0-52 = PSA 89:1-53\nPSA 92:0-15 = PSA 92:1-16\nPSA 102:0-28 = PSA 102:1-29\nPSA 108:0-13 = PSA 108:1-14\nPSA 140:0-13 = PSA 140:1-14\nPSA 142:0-7 = PSA 142:1-8\nECC 5:1 = ECC 4:17\nECC 5:2-20 = ECC 5:1-19\nSNG 6:13 = SNG 7:1\nSNG 7:1-13 = SNG 7:2-14\nISA 9:1 = ISA 8:23\nISA 9:2-21 = ISA 9:1-20\nISA 64:2-12 = ISA 64:1-11\nJER 9:1 = JER 8:23\nJER 9:2-26 = JER 9:1-25\nEZK 20:45-46 = EZK 21:1-2\nEZK 20:47 = EZK 21:3\nEZK 20:48-49 = EZK 21:4-5\nEZK 21:1-32 = EZK 21:6-37\nDAN 4:1-3 = DAN 3:31-33\nDAN 4:4-37 = DAN 4:1-34\nDAN 5:31 = DAN 6:1\nDAN 6:1-28 = DAN 6:2-29\nHOS 1:10-11 = HOS 2:1-2\nHOS 2:1-23 = HOS 2:3-25\nHOS 11:12 = HOS 12:1\nHOS 12:1-14 = HOS 12:2-15\nHOS 13:16 = HOS 14:1\nHOS 14:1-9 = HOS 14:2-10\nJOL 2:28-32 = JOL 3:1-5\nJOL 3:1-21 = JOL 4:1-21\nJON 1:17 = JON 2:1\nJON 2:1-10 = JON 2:2-11\nMIC 5:1 = MIC 4:14\nMIC 5:2-15 = MIC 5:1-14\nNAM 1:15 = NAM 2:1\nNAM 2:1-13 = NAM 2:2-14\nZEC 1:18-21 = ZEC 2:1-4\nZEC 2:1-13 = ZEC 2:5-17\nMAL 4:1-6 = MAL 3:19-24\n# 40 + 41 -> 40 (per Peter Kirk)\n#! &ACT 19:40-41 = ACT 19:40\n#\n#---------------------------------\n# map Baruch 6 onto Letter of Jeremiah [Studge]\nBAR 6:1-73 = LJE 1:1-73\n#\n#------------------------------\n# Susanna\nDAG 13:1-63 = SUS 1:1-63\n# Bel and the Dragon\nDAG 14:1-42 = BEL 1:1-42\n#----------------------------------\n# Mapping Esther Greek onto LXX Esther Greek\n#\n# This maps the standard verses generated by Create Book\n# to the actual verse numbers and segments found in the LXX\n# ESG chapter 1\nESG 1:1 = ESG 1:1a\nESG 1:2 = ESG 1:1b\nESG 1:3 = ESG 1:1c\nESG 1:4 = ESG 1:1d\nESG 1:5 = ESG 1:1e\nESG 1:6 = ESG 1:1f\nESG 1:7 = ESG 1:1g\nESG 1:8 = ESG 1:1h\nESG 1:9 = ESG 1:1i\nESG 1:10 = ESG 1:1k\nESG 1:11 = ESG 1:1l\nESG 1:12 = ESG 1:1m\nESG 1:13 = ESG 1:1n\nESG 1:14 = ESG 1:1o\nESG 1:15 = ESG 1:1p\nESG 1:16 = ESG 1:1q\nESG 1:17 = ESG 1:1r\nESG 1:18 = ESG 1:1s\nESG 1:19-39 = ESG 1:2-22\n# ESG chapter 3\nESG 3:14 = ESG 3:13a\nESG 3:15 = ESG 3:13b\nESG 3:16 = ESG 3:13c\nESG 3:17 = ESG 3:13d\nESG 3:18 = ESG 3:13e\nESG 3:19 = ESG 3:13f\nESG 3:20 = ESG 3:13g\nESG 3:21 = ESG 3:14\nESG 3:22 = ESG 3:15\n# ESG chapter 4\nESG 4:18 = ESG 4:17a\nESG 4:19 = ESG 4:17b\nESG 4:20 = ESG 4:17c\nESG 4:21 = ESG 4:17c\nESG 4:22 = ESG 4:17d\nESG 4:23 = ESG 4:17d\nESG 4:24 = ESG 4:17e\nESG 4:25 = ESG 4:17f\nESG 4:26 = ESG 4:17g\nESG 4:27 = ESG 4:17h\nESG 4:28 = ESG 4:17i\nESG 4:29 = ESG 4:17k\nESG 4:30 = ESG 4:17k\nESG 4:31 = ESG 4:17k\nESG 4:32 = ESG 4:17l\nESG 4:33 = ESG 4:17m\nESG 4:34 = ESG 4:17n\nESG 4:35 = ESG 4:17n\nESG 4:36 = ESG 4:17o\nESG 4:37 = ESG 4:17o\nESG 4:38 = ESG 4:17p\nESG 4:39 = ESG 4:17q\nESG 4:40 = ESG 4:17r\nESG 4:41 = ESG 4:17s\nESG 4:42 = ESG 4:17t\nESG 4:43 = ESG 4:17u\nESG 4:44 = ESG 4:17w\nESG 4:45 = ESG 4:17x\nESG 4:46 = ESG 4:17y\nESG 4:47 = ESG 4:17z\n# ESG chapter 5\nESG 5:2 = ESG 5:1a\nESG 5:3 = ESG 5:1a\nESG 5:4 = ESG 5:1a\nESG 5:5 = ESG 5:1b\nESG 5:6 = ESG 5:1c\nESG 5:7 = ESG 5:1d\nESG 5:8 = ESG 5:1e\nESG 5:9 = ESG 5:1f\nESG 5:10 = ESG 5:1f\nESG 5:11 = ESG 5:2\nESG 5:12 = ESG 5:2\nESG 5:13 = ESG 5:2a\nESG 5:14 = ESG 5:2a\nESG 5:15 = ESG 5:2b\nESG 5:16 = ESG 5:2b\nESG 5:17-28 = ESG 5:3-14\n# ESG chapter 8\nESG 8:13 = ESG 8:12a\nESG 8:14 = ESG 8:12b\nESG 8:15 = ESG 8:12c\nESG 8:16 = ESG 8:12d\nESG 8:17 = ESG 8:12e\nESG 8:18 = ESG 8:12f\nESG 8:19 = ESG 8:12g\nESG 8:20 = ESG 8:12h\nESG 8:21 = ESG 8:12i\nESG 8:22 = ESG 8:12k\nESG 8:23 = ESG 8:12l\nESG 8:24 = ESG 8:12m\nESG 8:25 = ESG 8:12n\nESG 8:26 = ESG 8:12o\nESG 8:27 = ESG 8:12p\nESG 8:28 = ESG 8:12q\nESG 8:29 = ESG 8:12r\nESG 8:30 = ESG 8:12s\nESG 8:31 = ESG 8:12t\nESG 8:32 = ESG 8:12u\nESG 8:33 = ESG 8:12x\nESG 8:34 = ESG 8:12y\nESG 8:35 = ESG 8:12y\nESG 8:36 = ESG 8:12y\nESG 8:37-41 = ESG 8:13-17\n# ESG chapter 10\nESG 10:4 = ESG 10:3a\nESG 10:5 = ESG 10:3b\nESG 10:6 = ESG 10:3c\nESG 10:7 = ESG 10:3d\nESG 10:8 = ESG 10:3e\nESG 10:9 = ESG 10:3f\nESG 10:10 = ESG 10:3g\nESG 10:11 = ESG 10:3h\nESG 10:12 = ESG 10:3i\nESG 10:13 = ESG 10:3k\nESG 10:14 = ESG 10:3l\n# S3Y is a small section of the DAG LXX pulled out and translated as a separate book.\n# Map it back to the LXX. This section allow\'s texts such as TOB (French) which do\n# this to scroll correctly with the LXX.\n# S3Y is not present in the GRK, HEB, or LXX(Ralphs) text.\n# If a text has DAG present, this section must NOT be included in its versification file because\n# that would cause references in other texts to DAG to be redirected to a non-existant S3Y.\nS3Y 1:1-29 = DAG 3:24-52\nS3Y 1:30-31 = DAG 3:52-53\nS3Y 1:33 = DAG 3:54\nS3Y 1:32 = DAG 3:55\nS3Y 1:34-35 = DAG 3:56-57\nS3Y 1:37 = DAG 3:58\nS3Y 1:36 = DAG 3:59\nS3Y 1:38-68 = DAG 3:60-90\n'},lxx:{raw:"# Versification \"Septuagint\"\n# Version=1.7\n# \n# modifications by Studge 26/ June/ 2009\n# This should include the versifications for Bibles which follow LXX versificatio mainly Orthodox Bibles. [Studge]\n#\n# List of books, chapters, verses\n# One line per book.\n# One entry for each chapter.\n# Verse number is the maximum verse number for that chapter.\n# See the lines containing ='s below for verse mappings.\n#\n# modifications by Reinier 20/ April/ 2010\n# all data that are not part of the LXX itself have been commented out with ##\n#\n# modifications by Michael Lothers 1/ June/ 2011\n# added verse segment information in the format: *GEN 1:22,-,a,b\n# which indicates GEN 1:22 has three segments, the first has no marking followed by two segments: 1a and 1b\n# The lines are preceded by #! so that versions of Paratext prior to 7.3 will ignore them rather than crash.\n#\n# modifications by Tim Steenwyk 15/ September/ 2011\n# removed mapping references to PS3 since they shouldn't be in LXX (Septuagint)\n#------------------------------------------------\n# Old Testament\nGEN 1:31 2:25 3:24 4:26 5:32 6:22 7:24 8:22 9:29 10:32 11:32 12:20 13:18 14:24 15:21 16:16 17:27 18:33 19:38 20:18 21:34 22:24 23:20 24:67 25:34 26:35 27:46 28:22 29:35 30:43 31:54 32:33 33:20 34:31 35:29 36:43 37:36 38:30 39:23 40:23 41:57 42:38 43:34 44:34 45:28 46:34 47:31 48:22 49:33 50:26\nEXO 1:22 2:25 3:22 4:31 5:23 6:30 7:29 8:28 9:35 10:29 11:10 12:51 13:22 14:31 15:27 16:36 17:16 18:27 19:25 20:26 21:37 22:30 23:33 24:18 25:40 26:37 27:21 28:43 29:46 30:38 31:18 32:35 33:23 34:35 35:35 36:38 37:21 38:27 39:23 40:38\nLEV 1:17 2:16 3:17 4:35 5:26 6:23 7:38 8:36 9:24 10:20 11:47 12:8 13:59 14:57 15:33 16:34 17:16 18:30 19:37 20:27 21:24 22:33 23:44 24:23 25:55 26:46 27:34\nNUM 1:54 2:34 3:51 4:49 5:31 6:26 7:89 8:26 9:23 10:36 11:35 12:16 13:33 14:45 15:41 16:35 17:28 18:32 19:22 20:29 21:35 22:41 23:30 24:25 25:18 26:65 27:23 28:31 29:39 30:17 31:54 32:42 33:56 34:29 35:34 36:13\nDEU 1:46 2:37 3:29 4:49 5:33 6:25 7:26 8:20 9:29 10:22 11:32 12:31 13:19 14:29 15:23 16:22 17:20 18:22 19:21 20:20 21:23 22:29 23:26 24:22 25:19 26:19 27:26 28:69 29:28 30:20 31:30 32:52 33:29 34:12\nJOS 1:18 2:24 3:17 4:24 5:15 6:27 7:26 8:29 9:27 10:42 11:23 12:24 13:32 14:15 15:63 16:10 17:18 18:28 19:51 20:9 21:45 22:34 23:16 24:33\nJDG 1:36 2:23 3:31 4:24 5:31 6:40 7:25 8:35 9:57 10:18 11:40 12:15 13:25 14:20 15:20 16:31 17:13 18:31 19:30 20:48 21:25\nRUT 1:22 2:23 3:18 4:22\n1SA 1:28 2:36 3:21 4:22 5:12 6:21 7:17 8:22 9:27 10:27 11:15 12:25 13:23 14:52 15:35 16:23 17:54 18:29 19:24 20:42 21:16 22:23 23:28 24:23 25:44 26:25 27:12 28:25 29:11 30:31 31:13\n# 1SA called 1 Kings in the Orthodox tradition\n2SA 1:27 2:32 3:39 4:12 5:25 6:23 7:29 8:18 9:13 10:19 11:27 12:31 13:39 14:33 15:37 16:23 17:29 18:32 19:44 20:26 21:22 22:51 23:39 24:25\n# 2SA called 2 Kings in the Orthodox tradition\n1KI 1:53 2:46 3:28 4:19 5:32 6:36 7:50 8:66 9:28 10:29 11:43 12:33 13:34 14:31 15:34 16:34 17:24 18:46 19:21 20:29 21:43 22:54\n# 1KI called 3 Kings in the Orthodox tradition\n2KI 1:18 2:25 3:27 4:44 5:27 6:33 7:20 8:29 9:37 10:36 11:20 12:22 13:25 14:29 15:38 16:20 17:41 18:37 19:37 20:21 21:26 22:20 23:37 24:20 25:30\n# 2KI called 4 Kings in the Orthodox tradition\n1CH 1:54 2:55 3:24 4:43 5:41 6:66 7:40 8:40 9:44 10:14 11:47 12:41 13:14 14:17 15:29 16:43 17:27 18:17 19:19 20:8 21:30 22:19 23:32 24:31 25:31 26:32 27:34 28:21 29:30\n2CH 1:18 2:17 3:17 4:22 5:14 6:42 7:22 8:18 9:31 10:19 11:23 12:16 13:23 14:14 15:19 16:14 17:19 18:34 19:11 20:37 21:20 22:12 23:21 24:27 25:28 26:23 27:9 28:27 29:36 30:27 31:21 32:33 33:25 34:33 35:27 36:23\n#\n# Edited by Studge\n# Added EZR which is Ezra-Nehemiah, which had been put under 2ES by mistake\n# Edited chapters 13 and 20 / SS 14.6.2014\nEZR 1:11 2:70 3:13 4:24 5:17 6:22 7:28 8:36 9:15 10:44 11:11 12:20 13:37 14:23 15:19 16:19 17:73 18:18 19:38 20:40 21:36 22:47 23:31\n#\n# most projects based on LXX will use Nehemiah so we ought to add it in.\n##NEH 1:11 2:20 3:32 4:23 5:19 6:19 7:73 8:18 9:38 10:39 11:36 12:47 13:31\n#\n# Edited by Studge\n# should not have ESG here but amongst the Deuterocanonical books for PT order\n# ESG 1:22 2:23 3:15 4:17 5:14 6:14 7:10 8:17 9:32 10:3\n#\nJOB 1:22 2:13 3:26 4:21 5:27 6:30 7:21 8:22 9:35 10:22 11:20 12:25 13:28 14:22 15:35 16:22 17:16 18:21 19:29 20:29 21:34 22:30 23:17 24:25 25:6 26:14 27:23 28:28 29:25 30:31 31:40 32:22 33:33 34:37 35:16 36:33 37:24 38:41 39:30 40:32 41:26 42:17\nPSA 1:6 2:12 3:9 4:9 5:13 6:11 7:18 8:10 9:39 10:7 11:9 12:6 13:7 14:5 15:11 16:15 17:51 18:15 19:10 20:14 21:32 22:6 23:10 24:22 25:12 26:14 27:9 28:11 29:13 30:25 31:11 32:22 33:23 34:28 35:13 36:40 37:23 38:14 39:18 40:14 41:12 42:5 43:27 44:18 45:12 46:10 47:15 48:21 49:23 50:21 51:11 52:7 53:9 54:24 55:14 56:12 57:12 58:18 59:14 60:9 61:13 62:12 63:11 64:14 65:20 66:8 67:36 68:37 69:6 70:24 71:20 72:28 73:23 74:11 75:13 76:21 77:72 78:13 79:20 80:17 81:8 82:19 83:13 84:14 85:17 86:7 87:19 88:53 89:17 90:16 91:16 92:5 93:23 94:11 95:13 96:12 97:9 98:9 99:5 100:8 101:29 102:22 103:35 104:45 105:48 106:43 107:14 108:31 109:7 110:10 111:10 112:9 113:26 114:9 115:10 116:2 117:29 118:176 119:7 120:8 121:9 122:4 123:8 124:5 125:6 126:5 127:6 128:8 129:8 130:3 131:18 132:3 133:3 134:21 135:26 136:9 137:8 138:24 139:14 140:10 141:8 142:12 143:15 144:21 145:10 146:11 147:9 148:14 149:9 150:6 151:7\n# Psalms has 151 psalms in the Septuagint tradition\nPRO 1:33 2:22 3:35 4:27 5:23 6:35 7:27 8:36 9:18 10:32 11:31 12:28 13:25 14:35 15:33 16:33 17:28 18:22 19:29 20:30 21:31 22:29 23:35 24:34 25:28 26:28 27:27 28:28 29:27 30:33 31:31\nECC 1:18 2:26 3:22 4:17 5:19 6:12 7:29 8:17 9:18 10:20 11:10 12:14\nSNG 1:17 2:17 3:11 4:16 5:16 6:12 7:14 8:14\nISA 1:31 2:21 3:26 4:6 5:30 6:13 7:25 8:23 9:20 10:34 11:16 12:6 13:22 14:32 15:9 16:14 17:14 18:7 19:25 20:6 21:17 22:25 23:18 24:23 25:12 26:21 27:13 28:29 29:24 30:33 31:9 32:20 33:24 34:17 35:10 36:22 37:38 38:22 39:8 40:31 41:29 42:25 43:28 44:28 45:25 46:13 47:15 48:22 49:26 50:11 51:23 52:15 53:12 54:17 55:13 56:11 57:21 58:14 59:21 60:22 61:11 62:12 63:19 64:11 65:25 66:24\n#\n# Edited by SS 25.3.2003\n# Original: JER 1:19 2:37 3:25 4:31 5:31 6:30 7:34 8:23 9:25 10:25 11:23 12:17 13:27 14:22 15:21 16:21 17:27 18:23 19:15 20:18 21:14 22:30 23:40 24:10 25:38 26:24 27:22 28:17 29:32 30:24 31:40 32:44 33:26 34:22 35:19 36:32 37:21 38:28 39:18 40:16 41:18 42:22 43:13 44:30 45:5 46:28 47:7 48:47 49:39 50:46 51:64 52:34\n#\nJER 1:19 2:37 3:25 4:31 5:31 6:30 7:34 8:23 9:25 10:25 11:23 12:17 13:27 14:22 15:21 16:21 17:27 18:23 19:15 20:18 21:14 22:30 23:40 24:10 25:20 26:28 27:46 28:64 29:7 30:33 31:44 32:38 33:24 34:22 35:17 36:32 37:24 38:40 39:44 40:13 41:22 42:19 43:32 44:21 45:28 46:18 47:16 48:18 49:22 50:13 51:35 52:34\nLAM 1:22 2:22 3:66 4:22 5:22\nEZK 1:28 2:10 3:27 4:17 5:17 6:14 7:27 8:18 9:11 10:22 11:25 12:28 13:23 14:23 15:8 16:63 17:24 18:32 19:14 20:44 21:37 22:31 23:49 24:27 25:17 26:21 27:36 28:26 29:21 30:26 31:18 32:32 33:33 34:31 35:15 36:38 37:28 38:23 39:29 40:49 41:26 42:20 43:27 44:31 45:25 46:24 47:23 48:35\n#\n# There really should not be an entry for DAN in the LXX.vrs. All this material should be in DAG to match Ralhfs.\n# However, there are no doubt many projects that incorrectly but the material in DAN so we leave this here\n# for backward compatibility\n# Following line commented out and DAG-DAN mapping brought up from end of file to allow DAG text to sychronize with HEB where they match\n# Edited by Sarah Lind Oct 6 2015\n# DAN 1:21 2:49 3:97 4:37 5:30 6:29 7:28 8:27 9:27 10:21 11:45 12:13\nDAG 1:1-21 = DAN 1:1-21 \nDAG 2:1-49 = DAN 2:1-49\nDAG 3:1-23 = DAN 3:1-23\nDAG 3:91-97 = DAN 3:24-30\nDAG 4:1-3 = DAN 3:31-33\nDAG 4:4-37 = DAN 4:1-34\nDAG 4:1-2 = DAN 4:4-5\nDAG 5:1-30 = DAN 5:1-30\nDAG 6:1-29 = DAN 6:1-29\nDAG 7:1-28 = DAN 7:1-28\nDAG 8:1-27 = DAN 8:1-27\nDAG 9:1-27 = DAN 9:1-27\nDAG 10:1-21 = DAN 10:1-21\nDAG 11:1-45 = DAN 11:1-45\nDAG 12:1-13 = DAN 12:1-13\n#\nHOS 1:9 2:25 3:5 4:19 5:15 6:11 7:16 8:14 9:17 10:15 11:11 12:15 13:15 14:10\nJOL 1:20 2:27 3:5 4:21\nAMO 1:15 2:16 3:15 4:13 5:27 6:14 7:17 8:14 9:15\nOBA 1:21\nJON 1:16 2:11 3:10 4:11\nMIC 1:16 2:13 3:12 4:14 5:14 6:16 7:20\nNAM 1:14 2:14 3:19\nHAB 1:17 2:20 3:19\nZEP 1:18 2:15 3:20\nHAG 1:15 2:23\nZEC 1:17 2:17 3:10 4:14 5:11 6:15 7:14 8:23 9:17 10:12 11:17 12:14 13:9 14:21\nMAL 1:14 2:17 3:24\n#\n# It feels a bit odd to include NT in \"Septuagint\" but I think there are\n# Bibles that follow the _versification_ of OT LXX but also have a NT.\n#\n# ------------------------------------------------------\n# New Testament books\nMAT 1:25 2:23 3:17 4:25 5:48 6:34 7:29 8:34 9:38 10:42 11:30 12:50 13:58 14:36 15:39 16:28 17:27 18:35 19:30 20:34 21:46 22:46 23:39 24:51 25:46 26:75 27:66 28:20\nMRK 1:45 2:28 3:35 4:41 5:43 6:56 7:37 8:38 9:50 10:52 11:33 12:44 13:37 14:72 15:47 16:20\nLUK 1:80 2:52 3:38 4:44 5:39 6:49 7:50 8:56 9:62 10:42 11:54 12:59 13:35 14:35 15:32 16:31 17:37 18:43 19:48 20:47 21:38 22:71 23:56 24:53\nJHN 1:51 2:25 3:36 4:54 5:47 6:71 7:53 8:59 9:41 10:42 11:57 12:50 13:38 14:31 15:27 16:33 17:26 18:40 19:42 20:31 21:25\nACT 1:26 2:47 3:26 4:37 5:42 6:15 7:60 8:40 9:43 10:48 11:30 12:25 13:52 14:28 15:41 16:40 17:34 18:28 19:40 20:38 21:40 22:30 23:35 24:27 25:27 26:32 27:44 28:31\nROM 1:32 2:29 3:31 4:25 5:21 6:23 7:25 8:39 9:33 10:21 11:36 12:21 13:14 14:23 15:33 16:27\n1CO 1:31 2:16 3:23 4:21 5:13 6:20 7:40 8:13 9:27 10:33 11:34 12:31 13:13 14:40 15:58 16:24\n2CO 1:24 2:17 3:18 4:18 5:21 6:18 7:16 8:24 9:15 10:18 11:33 12:21 13:13\nGAL 1:24 2:21 3:29 4:31 5:26 6:18\nEPH 1:23 2:22 3:21 4:32 5:33 6:24\nPHP 1:30 2:30 3:21 4:23\nCOL 1:29 2:23 3:25 4:18\n1TH 1:10 2:20 3:13 4:18 5:28\n2TH 1:12 2:17 3:18\n1TI 1:20 2:15 3:16 4:16 5:25 6:21\n2TI 1:18 2:26 3:17 4:22\nTIT 1:16 2:15 3:15\nPHM 1:25\nHEB 1:14 2:18 3:19 4:16 5:14 6:20 7:28 8:13 9:28 10:39 11:40 12:29 13:25\nJAS 1:27 2:26 3:18 4:17 5:20\n1PE 1:25 2:25 3:22 4:19 5:14\n2PE 1:21 2:22 3:18\n1JN 1:10 2:29 3:24 4:21 5:21\n2JN 1:13\n3JN 1:15\nJUD 1:25\nREV 1:20 2:29 3:22 4:11 5:14 6:17 7:17 8:13 9:21 10:11 11:19 12:18 13:18 14:20 15:8 16:21 17:18 18:24 19:21 20:15 21:27 22:21\n#--------------------------------------------------\n# Deuterocanonical Books\nTOB 1:22 2:14 3:17 4:21 5:23 6:19 7:17 8:21 9:6 10:14 11:19 12:22 13:18 14:15\nJDT 1:16 2:28 3:10 4:15 5:24 6:21 7:32 8:36 9:14 10:23 11:23 12:20 13:20 14:19 15:14 16:25\n# added ESG definition in its right PT order\nESG 1:22 2:23 3:15 4:17 5:14 6:14 7:10 8:17 9:32 10:3\n# note chapter 4 v17 is 17a-z\n# note chapter 8 v12 is 12a-x\n# note chapter 10 v3 is 3a-l\nWIS 1:16 2:24 3:19 4:20 5:23 6:25 7:30 8:21 9:18 10:21 11:26 12:27 13:19 14:31 15:19 16:29 17:20 18:25 19:22\nSIR 1:30 2:18 3:31 4:31 5:15 6:37 7:36 8:19 9:18 10:31 11:34 12:18 13:26 14:27 15:20 16:30 17:32 18:33 19:30 20:31 21:28 22:27 23:27 24:34 25:26 26:29 27:30 28:26 29:28 30:25 31:31 32:24 33:33 34:26 35:24 36:27 37:31 38:34 39:35 40:30 41:27 42:25 43:33 44:23 45:26 46:20 47:25 48:25 49:16 50:29 51:30\nBAR 1:22 2:35 3:38 4:37 5:9\nLJE 1:72\n# Edited SUS / SS 14.6.2014\nSUS 1:64\nBEL 1:42\n1MA 1:64 2:70 3:60 4:61 5:68 6:63 7:50 8:32 9:73 10:89 11:74 12:53 13:53 14:49 15:41 16:24\n2MA 1:36 2:32 3:40 4:50 5:27 6:31 7:42 8:36 9:29 10:38 11:38 12:45 13:26 14:46 15:39\n3MA 1:29 2:33 3:30 4:21 5:51 6:41 7:23\n4MA 1:35 2:24 3:21 4:26 5:38 6:35 7:23 8:29 9:32 10:21 11:27 12:19 13:27 14:20 15:32 16:25 17:24 18:24\n# 1ES Ezra (Greek)\n1ES 1:55 2:26 3:24 4:63 5:71 6:33 7:15 8:92 9:55\n#-----------------------------------------------------\n# Edited by Studge - Had the wrong definition of 2ES\n# 2ES 1:11 2:70 3:13 4:24 5:17 6:22 7:28 8:36 9:15 10:44 11:11 12:20 13:37 14:17 15:19 16:19 17:73 18:18 19:37 20:40 21:36 22:47 23:31\n# 2ES is not a LXX book but is from the Vulgate and has 16 chapters\n# edited by Studge added the correct definition of 2ES\n2ES 1:40 2:48 3:36 4:52 5:56 6:59 7:140 8:63 9:47 10:59 11:46 12:51 13:58 14:48 15:63 16:78\n#\n# Edited by Studge\n#MAN and PS2 were not defined which are in LXX\nMAN 1:15\nPS2 1:7\n#-------------------------------------------------------\n# ODA and PSS are in the PT 6 files but now missing from the LXX files in PT 7\nODA 1:19 2:43 3:10 4:19 5:12 6:8 7:20 8:37 9:22 10:9 11:11 12:15 13:4 14:46\nPSS 1:8 2:37 3:12 4:25 5:19 6:6 7:10 8:34 9:11 10:8 11:9 12:6 13:12 14:10 15:13 16:15 17:46 18:12\n#-------------------------------------------------------\n# NR: LXX variant texts now obselete, kep for backward compatability\nJSA 1:18 2:24 3:17 4:24 5:15 6:27 7:26 8:35 9:27 10:43 11:23 12:24 13:33 14:15 15:63 16:10 17:18 18:28 19:45 20:9 21:45 22:34 23:16 24:33\nJDB 1:36 2:23 3:31 4:24 5:31 6:40 7:25 8:35 9:57 10:18 11:40 12:15 13:25 14:20 15:20 16:31 17:13 18:31 19:30 20:48 21:25\nTBS 1:22 2:14 3:17 4:21 5:23 6:19 7:17 8:21 9:6 10:14 11:19 12:22 13:18 14:15\nSST 1:64\nDNT 1:21 2:49 3:97 4:37 5:30 6:29 7:28 8:27 9:27 10:21 11:45 12:13\nBLT 1:42\n#--------------------------------------------------------\n# Greek Daniel\n# Edited chapter 5 and 6 and removed chapters 13 and 14 that are not in Rahlfs / SS 14.6.2014\nDAG 1:21 2:49 3:97 4:37 5:30 6:29 7:28 8:27 9:27 10:21 11:45 12:13\n#--------------------------------------------------------\n# Syriac books for Peshitta projects SYR and SYA\n#\n# Syriac Psalms 152-155\n##PS3 1:17 2:20 3:6 4:6\n#\n# Apocalypse of Baruch\n##2BA 1:5 2:2 3:9 4:7 5:7 6:10 7:2 8:5 9:1 10:19 11:7 12:5 13:12 14:19 15:8 16:1 17:4 18:2 19:8 20:6 21:26 22:8 23:7 24:4 25:4 26:1 27:15 28:7 29:8 30:5 31:5 32:9 33:3 34:1 35:5 36:10 37:1 38:4 39:8 40:4 41:6 42:8 43:3 44:15 45:2 46:7 47:2 48:50 49:3 50:4 51:16 52:8 53:12 54:22 55:8 56:16 57:3 58:2 59:12 60:2 61:8 62:8 63:11 64:10 65:2 66:8 67:9 68:8 69:5 70:10 71:3 72:6 73:7 74:4 75:8 76:5 77:26\n#\n# Letter of Baruch\n##LBA 78:7 79:3 80:7 81:4 82:9 83:23 84:11 85:15 86:3\n#--------------------------------------------------------\n# Books for Ethiopian Canon\n# Jubilees (Ethiopian canon)\n##JUB 1:26 2:17 3:19 4:24 5:36 6:34 7:37 8:40 9:27 10:48 11:39 12:56 13:34 14:55 15:20 16:28 17:30 18:31 19:59 20:66 21:30 22:38 23:59 24:30 25:50 26:48 27:37 28:38 29:27 30:29 31:31 32:24 33:30 34:20\n# Enoch (Ethiopian canon)\n##ENO 1:28 2:42 3:30 4:88 5:40 6:42 7:39 8:46 9:42 10:16 11:19 12:40 13:34 14:35 15:45 16:41 17:69 18:42 19:29 20:53 21:57 22:14 23:26 24:16 25:30 26:37 27:21 28:34 29:28 30:23 31:29 32:82 33:59 34:49 35:36 36:30 37:34 38:36 39:24 40:40 41:22 42:16\n# 1 Meqabyan (Ethiopian canon)\n##1MQ 1:28 2:28 3:38 4:37 5:39 6:38 7:33 8:35 9:10 10:8 11:8 12:44 13:27 14:23 15:20 16:9 17:8 18:12 19:17 20:4 21:31 22:11 23:7 4:22 25:18 26:5 27:20 28:49 29:17 30:16 31:7 32:4 33:11 34:18 35:8 36:46\n# 2 Meqabyan (Ethiopian canon)\n##2MQ 1:13 2:11 3:29 4:32 5:18 6:24 7:9 8:24 9:27 10:28 11:25 12:15 13:14 14:36 15:21 16:15 17:12 18:14 19:15 20:14 \n# 3 Meqabyan (Ethiopian canon)\n##3MQ 1:24 2:23 3:11 4:36 5:16 6:16 7:5 8:12 9:36 10:29\n# Reproof (Ethiopian canon)\n##REP 1:28 2:28 3:27 4:28 5:27 6:22\n# 4 Baruch / Rest of the Words of Baruch (Ethiopian canon)\n##4BA 1:30 2:29 3:30 4:33 5:62\n#---------------------------------------------------------\n# Edited by SS 14.6.2014 added deliberatelly omitted verses\n-GEN 31:51\n-GEN 35:21\n\n-EXO 25:6\n-EXO 28:23\n-EXO 28:24\n-EXO 28:25\n-EXO 28:26\n-EXO 28:27\n-EXO 28:28\n-EXO 32:9\n-EXO 35:8\n-EXO 35:15\n-EXO 35:17\n-EXO 35:18\n-EXO 40:7\n-EXO 40:11\n-EXO 40:28\n-EXO 40:30\n-EXO 40:31\n-EXO 40:32\n\n-JOS 6:4\n-JOS 8:13\n-JOS 8:26\n-JOS 10:15\n-JOS 20:4\n-JOS 20:5\n-JOS 20:6\n\n-1SA 13:1\n-1SA 17:21\n-1SA 17:22\n-1SA 17:23\n-1SA 17:24\n-1SA 17:25\n-1SA 17:26\n-1SA 17:27\n-1SA 17:28\n-1SA 17:29\n-1SA 17:30\n-1SA 17:31\n-1SA 17:41\n-1SA 17:50\n-1SA 18:1\n-1SA 18:2\n-1SA 18:3\n-1SA 18:4\n-1SA 18:5\n-1SA 18:10\n-1SA 18:11\n-1SA 18:17\n-1SA 18:18\n-1SA 18:19\n-1SA 23:12\n\n-1KI 3:1\n-1KI 5:5\n-1KI 5:6\n-1KI 5:7\n-1KI 5:8\n-1KI 5:31\n-1KI 6:11\n-1KI 6:12\n-1KI 6:13\n-1KI 6:14\n-1KI 6:18\n-1KI 8:12\n-1KI 8:13\n-1KI 9:15\n-1KI 9:16\n-1KI 9:17\n-1KI 9:18\n-1KI 9:19\n-1KI 9:20\n-1KI 9:21\n-1KI 9:22\n-1KI 9:23\n-1KI 9:24\n-1KI 9:25\n-1KI 11:3\n-1KI 11:23\n-1KI 11:24\n-1KI 11:39\n-1KI 12:2\n-1KI 12:17\n-1KI 13:27\n-1KI 14:1\n-1KI 14:2\n-1KI 14:3\n-1KI 14:4\n-1KI 14:5\n-1KI 14:6\n-1KI 14:7\n-1KI 14:8\n-1KI 14:9\n-1KI 14:10\n-1KI 14:11\n-1KI 14:12\n-1KI 14:13\n-1KI 14:14\n-1KI 14:15\n-1KI 14:16\n-1KI 14:17\n-1KI 14:18\n-1KI 14:19\n-1KI 14:20\n-1KI 15:6\n-1KI 15:32\n-1KI 22:47\n-1KI 22:48\n-1KI 22:49\n-1KI 22:50\n\n-1SA 17:12\n-1SA 17:13\n-1SA 17:14\n-1SA 17:15\n-1SA 17:16\n-1SA 17:17\n-1SA 17:18\n-1SA 17:19\n-1SA 17:20\n\n-1CH 1:11\n-1CH 1:12\n-1CH 1:13\n-1CH 1:14\n-1CH 1:15\n-1CH 1:16\n-1CH 1:18\n-1CH 1:19\n-1CH 1:20\n-1CH 1:21\n-1CH 1:22\n-1CH 1:23\n-1CH 16:24\n\n-2CH 27:8\n\n-EZR 13:7\n-EZR 14:18\n-EZR 14:19\n-EZR 14:20\n-EZR 14:21\n-EZR 14:22\n-EZR 14:23\n-EZR 19:38\n-EZR 21:16\n-EZR 21:20\n-EZR 21:21\n-EZR 21:28\n-EZR 21:29\n-EZR 21:32\n-EZR 21:33\n-EZR 21:34\n-EZR 21:35\n-EZR 22:4\n-EZR 22:5\n-EZR 22:6\n\n-JOB 23:14\n\n-PSA 115:5\n\n-PRO 4:7\n-PRO 8:33\n-PRO 11:4\n-PRO 15:31\n-PRO 16:1\n-PRO 16:3\n-PRO 16:4\n-PRO 16:6\n-PRO 19:1\n-PRO 19:2\n-PRO 20:14\n-PRO 20:15\n-PRO 20:16\n-PRO 20:17\n-PRO 20:18\n-PRO 20:19\n-PRO 20:20\n-PRO 20:21\n-PRO 20:22\n-PRO 21:5\n-PRO 22:6\n-PRO 23:23\n\n-JER 2:1\n-JER 7:1\n-JER 8:11\n-JER 8:12\n-JER 10:6\n-JER 10:7\n-JER 10:8\n-JER 10:10\n-JER 11:7\n-JER 17:1\n-JER 17:2\n-JER 17:3\n-JER 17:4\n-JER 26:1\n-JER 26:26\n-JER 28:45\n-JER 28:46\n-JER 28:47\n-JER 28:48\n-JER 30:22\n-JER 32:1\n-JER 32:2\n-JER 32:3\n-JER 32:4\n-JER 32:5\n-JER 32:6\n-JER 32:7\n-JER 32:8\n-JER 32:9\n-JER 32:10\n-JER 32:11\n-JER 32:12\n-JER 32:14\n-JER 34:1\n-JER 34:7\n-JER 34:13\n-JER 34:17\n-JER 34:21\n-JER 36:16\n-JER 36:17\n-JER 36:18\n-JER 36:19\n-JER 36:20\n-JER 37:10\n-JER 37:11\n-JER 37:15\n-JER 37:22\n-JER 46:4\n-JER 46:5\n-JER 46:6\n-JER 46:7\n-JER 46:8\n-JER 46:9\n-JER 46:10\n-JER 46:11\n-JER 46:12\n-JER 46:13\n-JER 52:2\n-JER 52:3\n-JER 52:15\n-JER 52:28\n-JER 52:29\n-JER 52:30\n\n-LAM 3:22\n-LAM 3:23\n-LAM 3:24\n-LAM 3:29\n\n-EZK 1:14\n-EZK 10:14\n-EZK 27:31\n-EZK 32:19\n-EZK 33:26\n-EZK 40:30\n\n#------------- DC books ------------\n\n-TOB 4:8\n-TOB 4:9\n-TOB 4:10\n-TOB 4:11\n-TOB 4:12\n-TOB 4:13\n-TOB 4:14\n-TOB 4:15\n-TOB 4:16\n-TOB 4:17\n-TOB 4:18\n-TOB 13:8\n-TOB 13:9\n-TOB 13:10\n\n-ESG 4:6\n-ESG 9:5\n-ESG 9:30\n\n-SIR 1:5\n-SIR 1:7\n-SIR 1:21\n-SIR 3:19\n-SIR 3:25\n-SIR 6:1\n-SIR 10:21\n-SIR 11:15\n-SIR 11:16\n-SIR 13:14\n-SIR 16:15\n-SIR 16:16\n-SIR 17:5\n-SIR 17:9\n-SIR 17:16\n-SIR 17:18\n-SIR 17:21\n-SIR 18:3\n-SIR 19:18\n-SIR 19:19\n-SIR 19:21\n-SIR 22:7\n-SIR 22:8\n-SIR 24:18\n-SIR 24:24\n-SIR 25:12\n-SIR 26:19\n-SIR 26:20\n-SIR 26:21\n-SIR 26:22\n-SIR 26:23\n-SIR 26:24\n-SIR 26:25\n-SIR 26:26\n-SIR 26:27\n\n-4MA 10:4\n-4MA 11:7\n-4MA 11:8\n\n#---------------------------------------------------------\n# Mapping\n# LXX = BHS (see org.vrs)\n#\n# (Note: for performance reasons ranges must not span a chapter, e.g. 4:10-5:11 is illegal)\n#\n# 2ES = EZR and NEH\n#\nEXO 20:13 = EXO 20:14\nEXO 20:14 = EXO 20:15\nEXO 20:15 = EXO 20:13\nEXO 21:16 = EXO 21:17\nEXO 21:17 = EXO 21:16\nEXO 36:9 = EXO 39:2\nEXO 36:10 = EXO 39:3\nEXO 36:11 = EXO 39:4\nEXO 36:12 = EXO 39:5\nEXO 36:13 = EXO 39:6\nEXO 36:14 = EXO 39:7\nEXO 36:15 = EXO 39:8\nEXO 36:16 = EXO 39:9\nEXO 36:17 = EXO 39:10\nEXO 36:20 = EXO 39:13\nEXO 36:21 = EXO 39:14\nEXO 36:22 = EXO 39:15\nEXO 36:23 = EXO 39:16\nEXO 36:25 = EXO 39:17\nEXO 36:26 = EXO 39:18\nEXO 36:27 = EXO 39:19\nEXO 36:28 = EXO 39:20\nEXO 36:29 = EXO 39:21\nEXO 36:30 = EXO 39:22\nEXO 36:31 = EXO 39:23\nEXO 36:32 = EXO 39:24\nEXO 36:33 = EXO 39:25\nEXO 36:34 = EXO 39:26\nEXO 36:35 = EXO 39:27\nEXO 36:36 = EXO 39:28\nEXO 36:37 = EXO 39:29\nEXO 36:38 = EXO 39:30\n\nDEU 5:17 = DEU 5:18\nDEU 5:18 = DEU 5:17\n\n1KI 20:1-29 = 1KI 21:1-29 \n1KI 21:1-43 = 1KI 20:1-43\n\n#\n# Map The Greek versioin of Esther onto the Hebrew version of Esther\n# using the Hebrew version as the reference point.\n# Normally DC material would not have any entries in this part of the lxx.vrs file\n# because the LXX serves as the reference point for DC material.\n# Material which is placed in separate books in HEB and LXX (i.e. EST and ESG)\n# is however placed here and referenced to the HEB reference points.\nESG 1:1-22 = EST 1:1-22\nESG 2:1-23 = EST 2:1-23\nESG 3:1-15 = EST 3:1-15\nESG 4:1-17 = EST 4:1-17\nESG 5:1-14 = EST 5:1-14\nESG 6:1-14 = EST 6:1-14\nESG 7:1-10 = EST 7:1-10\nESG 8:1-17 = EST 8:1-17\nESG 9:1-32 = EST 9:1-32\nESG 10:1-3 = EST 10:1-3\n#\n# PSA 9 = 9+10\nPSA 9:22 = PSA 10:0\nPSA 9:22-39 = PSA 10:1-18\nPSA 10:0-7 = PSA 11:0-7\nPSA 11:0-9 = PSA 12:0-9\nPSA 12:0-6 = PSA 13:0-6\nPSA 13:0-7 = PSA 14:0-7\nPSA 14:0-5 = PSA 15:0-5\nPSA 15:0-11 = PSA 16:0-11\nPSA 16:0-15 = PSA 17:0-15\nPSA 17:0-51 = PSA 18:0-51\nPSA 18:0-15 = PSA 19:0-15\nPSA 19:0-10 = PSA 20:0-10\nPSA 20:0-14 = PSA 21:0-14\nPSA 21:0-32 = PSA 22:0-32\nPSA 22:0-6 = PSA 23:0-6\nPSA 23:0-10 = PSA 24:0-10\nPSA 24:0-22 = PSA 25:0-22\nPSA 25:0-12 = PSA 26:0-12\nPSA 26:0-14 = PSA 27:0-14\nPSA 27:0-9 = PSA 28:0-9\nPSA 28:0-11 = PSA 29:0-11\nPSA 29:0-13 = PSA 30:0-13\nPSA 30:0-25 = PSA 31:0-25\nPSA 31:0-11 = PSA 32:0-11\nPSA 32:0-22 = PSA 33:0-22\nPSA 33:0-23 = PSA 34:0-23\nPSA 34:0-28 = PSA 35:0-28\nPSA 35:0-13 = PSA 36:0-13\nPSA 36:0-40 = PSA 37:0-40\nPSA 37:0-23 = PSA 38:0-23\nPSA 38:0-14 = PSA 39:0-14\nPSA 39:0-18 = PSA 40:0-18\nPSA 40:0-14 = PSA 41:0-14\nPSA 41:0-12 = PSA 42:0-12\nPSA 42:0-5 = PSA 43:0-5\nPSA 43:0-27 = PSA 44:0-27\nPSA 44:0-18 = PSA 45:0-18\nPSA 45:0-12 = PSA 46:0-12\nPSA 46:0-10 = PSA 47:0-10\nPSA 47:0-15 = PSA 48:0-15\nPSA 48:0-21 = PSA 49:0-21\nPSA 49:0-23 = PSA 50:0-23\nPSA 50:0-21 = PSA 51:0-21\nPSA 51:0-11 = PSA 52:0-11\nPSA 52:0-7 = PSA 53:0-7\nPSA 53:0-9 = PSA 54:0-9\nPSA 54:0-24 = PSA 55:0-24\nPSA 55:0-14 = PSA 56:0-14\nPSA 56:0-12 = PSA 57:0-12\nPSA 57:0-12 = PSA 58:0-12\nPSA 58:0-18 = PSA 59:0-18\nPSA 59:0-14 = PSA 60:0-14\nPSA 60:0-9 = PSA 61:0-9\nPSA 61:0-13 = PSA 62:0-13\nPSA 62:0-12 = PSA 63:0-12\nPSA 63:0-11 = PSA 64:0-11\nPSA 64:0-14 = PSA 65:0-14\nPSA 65:0-20 = PSA 66:0-20\nPSA 66:0-8 = PSA 67:0-8\nPSA 67:0-36 = PSA 68:0-36\nPSA 68:0-37 = PSA 69:0-37\nPSA 69:0-6 = PSA 70:0-6\nPSA 70:0-24 = PSA 71:0-24\nPSA 71:0-20 = PSA 72:0-20\nPSA 72:0-28 = PSA 73:0-28\nPSA 73:0-23 = PSA 74:0-23\nPSA 74:0-11 = PSA 75:0-11\nPSA 75:0-13 = PSA 76:0-13\nPSA 76:0-21 = PSA 77:0-21\nPSA 77:0-72 = PSA 78:0-72\nPSA 78:0-13 = PSA 79:0-13\nPSA 79:0-20 = PSA 80:0-20\nPSA 80:0-17 = PSA 81:0-17\nPSA 81:0-8 = PSA 82:0-8\nPSA 82:0-19 = PSA 83:0-19\nPSA 83:0-13 = PSA 84:0-13\nPSA 84:0-14 = PSA 85:0-14\nPSA 85:0-17 = PSA 86:0-17\nPSA 86:0-7 = PSA 87:0-7\nPSA 87:0-19 = PSA 88:0-19\nPSA 88:0-53 = PSA 89:0-53\nPSA 89:0-17 = PSA 90:0-17\nPSA 90:0-16 = PSA 91:0-16\nPSA 91:0-16 = PSA 92:0-16\nPSA 92:0-5 = PSA 93:0-5\nPSA 93:0-23 = PSA 94:0-23\nPSA 94:0-11 = PSA 95:0-11\nPSA 95:0-13 = PSA 96:0-13\nPSA 96:0-12 = PSA 97:0-12\nPSA 97:0-9 = PSA 98:0-9\nPSA 98:0-9 = PSA 99:0-9\nPSA 99:0-5 = PSA 100:0-5\nPSA 100:0-8 = PSA 101:0-8\nPSA 101:0-29 = PSA 102:0-29\nPSA 102:0-22 = PSA 103:0-22\nPSA 103:0-35 = PSA 104:0-35\nPSA 104:0-45 = PSA 105:0-45\nPSA 105:0-48 = PSA 106:0-48\nPSA 106:0-43 = PSA 107:0-43\nPSA 107:0-14 = PSA 108:0-14\nPSA 108:0-31 = PSA 109:0-31\nPSA 109:0-7 = PSA 110:0-7\nPSA 110:0-10 = PSA 111:0-10\nPSA 111:0-10 = PSA 112:0-10\nPSA 112:0-9 = PSA 113:0-9\nPSA 113:0-8 = PSA 114:0-8\nPSA 113:9 = PSA 115:0\nPSA 113:9-26 = PSA 115:1-18\nPSA 114:0-9 = PSA 116:0-9\nPSA 115:0 = PSA 116:10\nPSA 115:1-10 = PSA 116:10-19\t\nPSA 116:0-2 = PSA 117:0-2\nPSA 117:0-29 = PSA 118:0-29\nPSA 118:0-176 = PSA 119:0-176\nPSA 119:0-7 = PSA 120:0-7\nPSA 120:0-8 = PSA 121:0-8\nPSA 121:0-9 = PSA 122:0-9\nPSA 122:0-4 = PSA 123:0-4\nPSA 123:0-8 = PSA 124:0-8\nPSA 124:0-5 = PSA 125:0-5\nPSA 125:0-6 = PSA 126:0-6\nPSA 126:0-5 = PSA 127:0-5\nPSA 127:0-6 = PSA 128:0-6\nPSA 128:0-8 = PSA 129:0-8\nPSA 129:0-8 = PSA 130:0-8\nPSA 130:0-3 = PSA 131:0-3\nPSA 131:0-18 = PSA 132:0-18\nPSA 132:0-3 = PSA 133:0-3\nPSA 133:0-3 = PSA 134:0-3\nPSA 134:0-21 = PSA 135:0-21\nPSA 135:0-26 = PSA 136:0-26\nPSA 136:0-9 = PSA 137:0-9\nPSA 137:0-8 = PSA 138:0-8\nPSA 138:0-24 = PSA 139:0-24\nPSA 139:0-14 = PSA 140:0-14\nPSA 140:0-10 = PSA 141:0-10\nPSA 141:0-8 = PSA 142:0-8\nPSA 142:0-12 = PSA 143:0-12\nPSA 143:0-15 = PSA 144:0-15\nPSA 144:0-21 = PSA 145:0-21\nPSA 145:0-10 = PSA 146:0-10\n# 146 + 147 -> 147\nPSA 146:0-11 = PSA 147:0-11\nPSA 147:0 = PSA 147:12\nPSA 147:1-9 = PSA 147:12-20\n# PSA 151 -> PS2\nPSA 151:0-7 = PS2 1:0-7\n#\n# Jeremiah according to Rahlfs\n# Added by SS 25.3.2003\n#\n# JER 1-25:13 = JER 1-25:13\n# JER 25:14 = part of JER 49:34\n# JER 25:20 = part of JER 49:34\n# JER 52 = JER 52\n#\nJER 25:14-19 = JER 49:34-39\nJER 25:20 = JER 49:34\nJER 26:1-28 = JER 46:1-28\nJER 27:1-46 = JER 50:1-46\nJER 28:1-64 = JER 51:1-64\nJER 29:1-7 = JER 47:1-7\nJER 30:1-16 = JER 49:7-22\nJER 30:17-22 = JER 49:1-6\nJER 30:23-28 = JER 49:28-33\nJER 30:29-33 = JER 49:23-27\nJER 31:1-44 = JER 48:1-44\n# Verses 31:1-13 do not exist\nJER 32:13 = JER 25:13\n# Verse 32:14 does not exist\nJER 32:15-38 = JER 25:15-38\nJER 33:1-24 = JER 26:1-24\nJER 34:1-22 = JER 27:1-22\nJER 35:1-17 = JER 28:1-17\nJER 36:1-32 = JER 29:1-32\nJER 37:1-24 = JER 30:1-24\nJER 38:1-40 = JER 31:1-40\nJER 39:1-44 = JER 32:1-44\nJER 40:1-13 = JER 33:1-13\nJER 41:1-22 = JER 34:1-22\nJER 42:1-19 = JER 35:1-19\nJER 43:1-32 = JER 36:1-32\nJER 44:1-21 = JER 37:1-21\nJER 45:1-28 = JER 38:1-28\nJER 46:1-3 = JER 39:1-3\n# Verses 46:4-13 do not exist\nJER 46:14-18 = JER 39:14-18\nJER 47:1-16 = JER 40:1-16\nJER 48:1-18 = JER 41:1-18\nJER 49:1-22 = JER 42:1-22\nJER 50:1-13 = JER 43:1-13\nJER 51:1-30 = JER 44:1-30\nJER 51:31-35 = JER 45:1-5\n#\n# Map The Greek versioin of Daniel onto the Hebrew version of Daniel\n# using the Hebrew version as the reference point.\n# Normally DC material would not have any entries in this part of the lxx.vrs file\n# because the LXX serves as the reference point for DC material.\n# Material which is placed in separate books in HEB and LXX (i.e. DAN and DAG)\n# is however placed here and referenced to the HEB reference point.\n#\n# If you have a text in which the DAG material has been (incorrectly) placed into DAN\n# you must create a versification file in which DAN appears as the first book in \n# the following section. You cannot have both DAN = DAN and DAG = DAN entries\n# in a single file.\nDAG 1:1-21 = DAN 1:1-21\nDAG 2:1-49 = DAN 2:1-49\nDAG 3:1-23 = DAN 3:1-23\nDAG 3:91-97 = DAN 3:24-30\nDAG 4:1-3 = DAN 3:31-33\nDAG 4:4-37 = DAN 4:1-34\nDAG 5:1-31 = DAN 5:1-31\nDAG 6:1-28 = DAN 6:1-28\nDAG 7:1-28 = DAN 7:1-28\nDAG 8:1-27 = DAN 8:1-27\nDAG 9:1-27 = DAN 9:1-27\nDAG 10:1-21 = DAN 10:1-21\nDAG 11:1-45 = DAN 11:1-45 \nDAG 12:1-13 = DAN 12:1-13\n#\n# No entries present for S3Y because this book would not normally be present in a text based\n# on the LXX versification. The S3Y material would instead start at DAG 3:24.\n#\n# When Ezra-Nehemiah is one book Ezra 11-23 maps onto Nehemiah\n# LXX mapping onto BHS\nEZR 11:1-11 = NEH 1:1-11\nEZR 12:1-20 = NEH 2:1-20\nEZR 13:1-38 = NEH 3:1-38\nEZR 14:1-17 = NEH 4:1-17\nEZR 15:1-19 = NEH 5:1-19\nEZR 16:1-19 = NEH 6:1-19\nEZR 17:1-72 = NEH 7:1-72\nEZR 18:1-18 = NEH 8:1-18\nEZR 19:1-37 = NEH 9:1-37\nEZR 20:1-40 = NEH 10:1-40\nEZR 21:1-36 = NEH 11:1-36\nEZR 22:1-47 = NEH 12:1-47\nEZR 23:1-31 = NEH 13:1-31\n#---------------------------\n# Mapping 2 Esdras onto the older Apocalypse of Ezra [Studge]\n2ES 3:1-36 = EZA 1:1-36\n2ES 4:1-52 = EZA 2:1-52\n2ES 5:1-56 = EZA 3:1-56\n2ES 6:1-59 = EZA 4:1-59\n2ES 7:1-35 = EZA 5:1-35\n2ES 7:106-140 = EZA 5:36-70\n2ES 8:1-63 = EZA 6:1-63\n2ES 9:1-47 = EZA 7:1-47\n2ES 10:1-60 = EZA 8:1-60\n2ES 11:1-46 = EZA 9:1-46\n2ES 12:1-51 = EZA 10:1-51\n2ES 13:1-58 = EZA 11:1-58\n2ES 14:1-48 = EZA 12:1-48\n#----------------------------\n# Some texts (but not LXX) contain SUS and BEL as chapters 13 and 14 of DAG.\n# There should not be any entries for DAG 13 and DAG 14 in the lxx.vrs because these chapters do not \n# exist in the LXX.\n# If you have a text which has DAG 13 and 14 you will need to have a .vrs file that includes the following\n# two mapping.\n#\n# Susanna\n# DAG 13:1-63 = SUS 1:1-63\n# Bel and the Dragon\n# DAG 14:1-42 = BEL 1:1-42\n#\n#----------------------------\n# Verse segment information for the Septuagint.\n# The verse segment information is preceded by a '#!' so that it will be ignored by versions \n# of Paratext prior to Paratext 7.3 (and thus avoid crashing it with an unexpected format). \n#! *EXO 28:29,-,a \n#! *EXO 35:12,-,a \n#! *JOS 9:2,-,a,b,c,d,e,f \n#! *JOS 15:59,-,a \n#! *JOS 19:47,-,a \n#! *JOS 19:48,-,a \n#! *JOS 21:42,-,a,b,c,d \n#! *JOS 24:31,-,a \n#! *JOS 24:33,-,a,b \n#! *1SA 30:28,-,a \n#! *2SA 5:16,-,a \n#! *1KI 2:35,-,a,b,c,d,e,f,g,h,i,k,l,m,n,o \n#! *1KI 2:46,-,a,b,c,d,e,f,g,h,i,k,l \n#! *1KI 5:14,-,a,b \n#! *1KI 6:1,-,a,b,c,d \n#! *1KI 6:36,-,a \n#! *1KI 8:53,-,a \n#! *1KI 9:9,-,a \n#! *1KI 10:22,-,a,b,c \n#! *1KI 10:26,-,a \n#! *1KI 12:24,-,a,b,c,d,e,f,g,h,i,k,l,m,n,o,p,q,r,s,t,u,x,y,z \n#! *1KI 16:28,-,a,b,c,d,e,f,g,h \n#! *2KI 1:18,-,a,b,c,d \n#! *2CH 35:19,-,a,b,c,d \n#! *2CH 36:2,-,a,b,c \n#! *2CH 36:4,-,a \n#! *2CH 36:5,-,a,b,c,d \n#! *JOB 2:9,-,a,b,c,d,e \n#! *JOB 19:4,-,a \n#! *JOB 23:15,-,a \n#! *JOB 36:28,-,a,b \n#! *JOB 42:17,-,a,b,c,d,e \n#! *PSA 144:13,-,a \n#! *PRO 3:16,-,a \n#! *PRO 3:22,-,a \n#! *PRO 4:27,-,a,b \n#! *PRO 6:8,-,a,b,c \n#! *PRO 6:11,-,a \n#! *PRO 7:1,-,a \n#! *PRO 8:21,-,a \n#! *PRO 9:10,-,a \n#! *PRO 9:12,-,a,b,c \n#! *PRO 9:18,-,a,b,c,d \n#! *PRO 10:4,-,a \n#! *PRO 12:11,-,a \n#! *PRO 12:13,-,a \n#! *PRO 13:9,-,a \n#! *PRO 13:13,-,a \n#! *PRO 15:18,-,a \n#! *PRO 15:27,-,a \n#! *PRO 15:28,-,a \n#! *PRO 15:29,-,a,b \n#! *PRO 17:6,-,a \n#! *PRO 17:16,-,a \n#! *PRO 18:22,-,a \n#! *PRO 20:9,-,a,b,c \n#! *PRO 22:8,-,a \n#! *PRO 22:9,-,a \n#! *PRO 22:14,-,a \n#! *PRO 24:22,-,a,b,c,d,e \n#! *PRO 25:10,-,a \n#! *PRO 25:20,-,a \n#! *PRO 26:11,-,a \n#! *PRO 27:20,-,a \n#! *PRO 27:21,-,a \n#! *PRO 28:17,-,a \n#! *ESG 1:1,-,b,c,d,e,f,g,h,i,k,l,m,n,o,p,q,r,s \n#! *ESG 3:13,-,a,b,c,d,e,f,g \n#! *ESG 4:17,-,a,b,c,d,e,f,g,h,i,k,l,m,n,o,p,q,r,s,t,u,w,x,y,z \n#! *ESG 5:1,-,a,b,c,d,e,f \n#! *ESG 5:2,-,a,b \n#! *ESG 8:12,-,a,b,c,d,e,f,g,h,i,k,l,m,n,o,p,q,r,s,t,u,x \n#! *ESG 10:3,-,a,b,c,d,e,f,g,h,i,k,l \n#! *SIR 1:1,-,a,b,c,d,e,f,g,h \n"},org:{raw:'# Versification "Original" \n# Version=1.200\n# (not a very good name but I have not heard a better suggestion)\n#\n# modifications by Studge 26/June/2009\n#\n# BHS versification for OT, UBS GNT versification for NT\n# following the Masoretic order\n# OT translations using Masorteic verse structures should map onto this text\n# NT versifications maps onto Nestle-Aland\n#\n# List of books, chapters, verses\n# One line per book.\n# One entry for each chapter.\n# Verse number is the maximum verse number for that chapter.\n# See the lines containing =\'s below for verse mappings.\n#\n#---------------------------------------------------------------\n# Old Testament\nGEN 1:31 2:25 3:24 4:26 5:32 6:22 7:24 8:22 9:29 10:32 11:32 12:20 13:18 14:24 15:21 16:16 17:27 18:33 19:38 20:18 21:34 22:24 23:20 24:67 25:34 26:35 27:46 28:22 29:35 30:43 31:54 32:33 33:20 34:31 35:29 36:43 37:36 38:30 39:23 40:23 41:57 42:38 43:34 44:34 45:28 46:34 47:31 48:22 49:33 50:26\nEXO 1:22 2:25 3:22 4:31 5:23 6:30 7:29 8:28 9:35 10:29 11:10 12:51 13:22 14:31 15:27 16:36 17:16 18:27 19:25 20:26 21:37 22:30 23:33 24:18 25:40 26:37 27:21 28:43 29:46 30:38 31:18 32:35 33:23 34:35 35:35 36:38 37:29 38:31 39:43 40:38\nLEV 1:17 2:16 3:17 4:35 5:26 6:23 7:38 8:36 9:24 10:20 11:47 12:8 13:59 14:57 15:33 16:34 17:16 18:30 19:37 20:27 21:24 22:33 23:44 24:23 25:55 26:46 27:34\nNUM 1:54 2:34 3:51 4:49 5:31 6:27 7:89 8:26 9:23 10:36 11:35 12:16 13:33 14:45 15:41 16:35 17:28 18:32 19:22 20:29 21:35 22:41 23:30 24:25 25:19 26:65 27:23 28:31 29:39 30:17 31:54 32:42 33:56 34:29 35:34 36:13\nDEU 1:46 2:37 3:29 4:49 5:33 6:25 7:26 8:20 9:29 10:22 11:32 12:31 13:19 14:29 15:23 16:22 17:20 18:22 19:21 20:20 21:23 22:29 23:26 24:22 25:19 26:19 27:26 28:69 29:28 30:20 31:30 32:52 33:29 34:12\nJOS 1:18 2:24 3:17 4:24 5:15 6:27 7:26 8:35 9:27 10:43 11:23 12:24 13:33 14:15 15:63 16:10 17:18 18:28 19:51 20:9 21:45 22:34 23:16 24:33\nJDG 1:36 2:23 3:31 4:24 5:31 6:40 7:25 8:35 9:57 10:18 11:40 12:15 13:25 14:20 15:20 16:31 17:13 18:31 19:30 20:48 21:25\nRUT 1:22 2:23 3:18 4:22\n1SA 1:28 2:36 3:21 4:22 5:12 6:21 7:17 8:22 9:27 10:27 11:15 12:25 13:23 14:52 15:35 16:23 17:58 18:30 19:24 20:42 21:16 22:23 23:28 24:23 25:44 26:25 27:12 28:25 29:11 30:31 31:13\n2SA 1:27 2:32 3:39 4:12 5:25 6:23 7:29 8:18 9:13 10:19 11:27 12:31 13:39 14:33 15:37 16:23 17:29 18:32 19:44 20:26 21:22 22:51 23:39 24:25\n1KI 1:53 2:46 3:28 4:20 5:32 6:38 7:51 8:66 9:28 10:29 11:43 12:33 13:34 14:31 15:34 16:34 17:24 18:46 19:21 20:43 21:29 22:54\n2KI 1:18 2:25 3:27 4:44 5:27 6:33 7:20 8:29 9:37 10:36 11:20 12:22 13:25 14:29 15:38 16:20 17:41 18:37 19:37 20:21 21:26 22:20 23:37 24:20 25:30\n1CH 1:54 2:55 3:24 4:43 5:41 6:66 7:40 8:40 9:44 10:14 11:47 12:41 13:14 14:17 15:29 16:43 17:27 18:17 19:19 20:8 21:30 22:19 23:32 24:31 25:31 26:32 27:34 28:21 29:30\n2CH 1:18 2:17 3:17 4:22 5:14 6:42 7:22 8:18 9:31 10:19 11:23 12:16 13:23 14:14 15:19 16:14 17:19 18:34 19:11 20:37 21:20 22:12 23:21 24:27 25:28 26:23 27:9 28:27 29:36 30:27 31:21 32:33 33:25 34:33 35:27 36:23\nEZR 1:11 2:70 3:13 4:24 5:17 6:22 7:28 8:36 9:15 10:44\nNEH 1:11 2:20 3:38 4:17 5:19 6:19 7:72 8:18 9:37 10:40 11:36 12:47 13:31\nEST 1:22 2:23 3:15 4:17 5:14 6:14 7:10 8:17 9:32 10:3\nJOB 1:22 2:13 3:26 4:21 5:27 6:30 7:21 8:22 9:35 10:22 11:20 12:25 13:28 14:22 15:35 16:22 17:16 18:21 19:29 20:29 21:34 22:30 23:17 24:25 25:6 26:14 27:23 28:28 29:25 30:31 31:40 32:22 33:33 34:37 35:16 36:33 37:24 38:41 39:30 40:32 41:26 42:17\nPSA 1:6 2:12 3:9 4:9 5:13 6:11 7:18 8:10 9:21 10:18 11:7 12:9 13:6 14:7 15:5 16:11 17:15 18:51 19:15 20:10 21:14 22:32 23:6 24:10 25:22 26:12 27:14 28:9 29:11 30:13 31:25 32:11 33:22 34:23 35:28 36:13 37:40 38:23 39:14 40:18 41:14 42:12 43:5 44:27 45:18 46:12 47:10 48:15 49:21 50:23 51:21 52:11 53:7 54:9 55:24 56:14 57:12 58:12 59:18 60:14 61:9 62:13 63:12 64:11 65:14 66:20 67:8 68:36 69:37 70:6 71:24 72:20 73:28 74:23 75:11 76:13 77:21 78:72 79:13 80:20 81:17 82:8 83:19 84:13 85:14 86:17 87:7 88:19 89:53 90:17 91:16 92:16 93:5 94:23 95:11 96:13 97:12 98:9 99:9 100:5 101:8 102:29 103:22 104:35 105:45 106:48 107:43 108:14 109:31 110:7 111:10 112:10 113:9 114:8 115:18 116:19 117:2 118:29 119:176 120:7 121:8 122:9 123:4 124:8 125:5 126:6 127:5 128:6 129:8 130:8 131:3 132:18 133:3 134:3 135:21 136:26 137:9 138:8 139:24 140:14 141:10 142:8 143:12 144:15 145:21 146:10 147:20 148:14 149:9 150:6\nPRO 1:33 2:22 3:35 4:27 5:23 6:35 7:27 8:36 9:18 10:32 11:31 12:28 13:25 14:35 15:33 16:33 17:28 18:24 19:29 20:30 21:31 22:29 23:35 24:34 25:28 26:28 27:27 28:28 29:27 30:33 31:31\nECC 1:18 2:26 3:22 4:17 5:19 6:12 7:29 8:17 9:18 10:20 11:10 12:14\nSNG 1:17 2:17 3:11 4:16 5:16 6:12 7:14 8:14\nISA 1:31 2:22 3:26 4:6 5:30 6:13 7:25 8:23 9:20 10:34 11:16 12:6 13:22 14:32 15:9 16:14 17:14 18:7 19:25 20:6 21:17 22:25 23:18 24:23 25:12 26:21 27:13 28:29 29:24 30:33 31:9 32:20 33:24 34:17 35:10 36:22 37:38 38:22 39:8 40:31 41:29 42:25 43:28 44:28 45:25 46:13 47:15 48:22 49:26 50:11 51:23 52:15 53:12 54:17 55:13 56:12 57:21 58:14 59:21 60:22 61:11 62:12 63:19 64:11 65:25 66:24\nJER 1:19 2:37 3:25 4:31 5:31 6:30 7:34 8:23 9:25 10:25 11:23 12:17 13:27 14:22 15:21 16:21 17:27 18:23 19:15 20:18 21:14 22:30 23:40 24:10 25:38 26:24 27:22 28:17 29:32 30:24 31:40 32:44 33:26 34:22 35:19 36:32 37:21 38:28 39:18 40:16 41:18 42:22 43:13 44:30 45:5 46:28 47:7 48:47 49:39 50:46 51:64 52:34\nLAM 1:22 2:22 3:66 4:22 5:22\nEZK 1:28 2:10 3:27 4:17 5:17 6:14 7:27 8:18 9:11 10:22 11:25 12:28 13:23 14:23 15:8 16:63 17:24 18:32 19:14 20:44 21:37 22:31 23:49 24:27 25:17 26:21 27:36 28:26 29:21 30:26 31:18 32:32 33:33 34:31 35:15 36:38 37:28 38:23 39:29 40:49 41:26 42:20 43:27 44:31 45:25 46:24 47:23 48:35\nDAN 1:21 2:49 3:33 4:34 5:30 6:29 7:28 8:27 9:27 10:21 11:45 12:13\nHOS 1:9 2:25 3:5 4:19 5:15 6:11 7:16 8:14 9:17 10:15 11:11 12:15 13:15 14:10\nJOL 1:20 2:27 3:5 4:21\nAMO 1:15 2:16 3:15 4:13 5:27 6:14 7:17 8:14 9:15\nOBA 1:21\nJON 1:16 2:11 3:10 4:11\nMIC 1:16 2:13 3:12 4:14 5:14 6:16 7:20\nNAM 1:14 2:14 3:19\nHAB 1:17 2:20 3:19\nZEP 1:18 2:15 3:20\nHAG 1:15 2:23\nZEC 1:17 2:17 3:10 4:14 5:11 6:15 7:14 8:23 9:17 10:12 11:17 12:14 13:9 14:21\nMAL 1:14 2:17 3:24\n#---------------------------------------------------------\n# New Testament books\nMAT 1:25 2:23 3:17 4:25 5:48 6:34 7:29 8:34 9:38 10:42 11:30 12:50 13:58 14:36 15:39 16:28 17:27 18:35 19:30 20:34 21:46 22:46 23:39 24:51 25:46 26:75 27:66 28:20\nMRK 1:45 2:28 3:35 4:41 5:43 6:56 7:37 8:38 9:50 10:52 11:33 12:44 13:37 14:72 15:47 16:20\nLUK 1:80 2:52 3:38 4:44 5:39 6:49 7:50 8:56 9:62 10:42 11:54 12:59 13:35 14:35 15:32 16:31 17:37 18:43 19:48 20:47 21:38 22:71 23:56 24:53\nJHN 1:51 2:25 3:36 4:54 5:47 6:71 7:53 8:59 9:41 10:42 11:57 12:50 13:38 14:31 15:27 16:33 17:26 18:40 19:42 20:31 21:25\nACT 1:26 2:47 3:26 4:37 5:42 6:15 7:60 8:40 9:43 10:48 11:30 12:25 13:52 14:28 15:41 16:40 17:34 18:28 19:40 20:38 21:40 22:30 23:35 24:27 25:27 26:32 27:44 28:31\nROM 1:32 2:29 3:31 4:25 5:21 6:23 7:25 8:39 9:33 10:21 11:36 12:21 13:14 14:23 15:33 16:27\n1CO 1:31 2:16 3:23 4:21 5:13 6:20 7:40 8:13 9:27 10:33 11:34 12:31 13:13 14:40 15:58 16:24\n2CO 1:24 2:17 3:18 4:18 5:21 6:18 7:16 8:24 9:15 10:18 11:33 12:21 13:13\nGAL 1:24 2:21 3:29 4:31 5:26 6:18\nEPH 1:23 2:22 3:21 4:32 5:33 6:24\nPHP 1:30 2:30 3:21 4:23\nCOL 1:29 2:23 3:25 4:18\n1TH 1:10 2:20 3:13 4:18 5:28\n2TH 1:12 2:17 3:18\n1TI 1:20 2:15 3:16 4:16 5:25 6:21\n2TI 1:18 2:26 3:17 4:22\nTIT 1:16 2:15 3:15\nPHM 1:25\nHEB 1:14 2:18 3:19 4:16 5:14 6:20 7:28 8:13 9:28 10:39 11:40 12:29 13:25\nJAS 1:27 2:26 3:18 4:17 5:20\n1PE 1:25 2:25 3:22 4:19 5:14\n2PE 1:21 2:22 3:18\n1JN 1:10 2:29 3:24 4:21 5:21\n2JN 1:13\n3JN 1:15\nJUD 1:25\nREV 1:20 2:29 3:22 4:11 5:14 6:17 7:17 8:13 9:21 10:11 11:19 12:18 13:18 14:20 15:8 16:21 17:18 18:24 19:21 20:15 21:27 22:21\n#------------------------------------------------\n# Deuterocanonical books from the LXX which are in the Catholic tradition\nTOB 1:22 2:14 3:17 4:21 5:23 6:19 7:17 8:21 9:6 10:14 11:19 12:22 13:18 14:15\nJDT 1:16 2:28 3:10 4:15 5:24 6:21 7:32 8:36 9:14 10:23 11:23 12:20 13:20 14:19 15:14 16:25\nESG 1:39 2:23 3:22 4:47 5:28 6:14 7:10 8:39 9:32 10:13\nWIS 1:16 2:24 3:19 4:20 5:23 6:25 7:30 8:21 9:18 10:21 11:26 12:27 13:19 14:31 15:19 16:29 17:20 18:25 19:22\nSIR 1:30 2:18 3:31 4:31 5:15 6:37 7:36 8:19 9:18 10:31 11:34 12:18 13:26 14:27 15:20 16:30 17:32 18:33 19:30 20:31 21:28 22:27 23:27 24:34 25:26 26:29 27:30 28:26 29:28 30:25 31:31 32:24 33:33 34:26 35:24 36:27 37:31 38:34 39:35 40:30 41:27 42:25 43:33 44:23 45:26 46:20 47:25 48:25 49:16 50:29 51:30\nBAR 1:22 2:35 3:38 4:37 5:9\nLJE 1:72\nS3Y 1:67\nSUS 1:64\nBEL 1:42\n1MA 1:64 2:70 3:60 4:61 5:68 6:63 7:50 8:32 9:73 10:89 11:74 12:53 13:53 14:49 15:41 16:24\n2MA 1:36 2:32 3:40 4:50 5:27 6:31 7:42 8:36 9:29 10:38 11:38 12:45 13:26 14:46 15:39\n#---------------------------------------------------\n# Additional Orthodox books from the LXX\n3MA 1:29 2:33 3:30 4:21 5:51 6:41 7:23\n4MA 1:35 2:24 3:21 4:26 5:38 6:35 7:23 8:29 9:32 10:21 11:27 12:19 13:27 14:20 15:32 16:25 17:24 18:24\n1ES 1:55 2:26 3:24 4:63 5:71 6:33 7:15 8:92 9:55\n# This was the wrong definition for 2ES\n# 2ES 1:11 2:70 3:13 4:24 5:17 6:22 7:28 8:36 9:15 10:44 11:11 12:20 13:37 14:17 15:19 16:19 17:73 18:18 19:37 20:40 21:36 22:47 23:31\n# This is the correct definition of 2ES, the "original" book was EZA\n2ES 1:40 2:48 3:36 4:52 5:56 6:59 7:140 8:63 9:47 10:59 11:46 12:51 13:58 14:48 15:63 16:78\nMAN 1:15\nPS2 1:7\n#-------------------------------------------------------\n# ODA and PSS are only in the LXX and SYR projects. \nODA 1:19 2:43 3:10 4:19 5:12 6:8 7:20 8:37 9:22 10:9 11:11 12:15 13:4 14:46\nPSS 1:8 2:37 3:12 4:25 5:19 6:6 7:10 8:34 9:11 10:8 11:9 12:6 13:12 14:10 15:13 16:15 17:46 18:12\n#-------------------------------------------------------\n# the following codes are for obselete LXX variants only in LXX and not supported in PT 7\nJSA 1:18 2:24 3:17 4:24 5:15 6:27 7:26 8:35 9:27 10:43 11:23 12:24 13:33 14:15 15:63 16:10 17:18 18:28 19:51 20:9 21:45 22:34 23:16 24:33\nJDB 1:36 2:23 3:31 4:24 5:31 6:40 7:25 8:35 9:57 10:18 11:40 12:15 13:25 14:20 15:20 16:31 17:13 18:31 19:30 20:48 21:25\nTBS 1:22 2:14 3:17 4:21 5:23 6:19 7:17 8:21 9:6 10:14 11:19 12:22 13:18 14:15\nSST 1:64\nDNT 1:21 2:49 3:97 4:37 5:30 6:29 7:28 8:27 9:27 10:21 11:45 12:13\nBLT 1:42\n#\n# No mappings are present for this versification since it represents\n# the "standard" versification to which all OT and NT texts are mapped in these files.\n# (DC texts follow the LXX)\n#\n#-------------------------------------------------------\n# Apocalypse of Ezra [Studge]\nEZA 1:36 2:52 3:56 4:59 5:139 6:63 7:47 8:60 9:46 10:51 11:58 12:48\n#--------------------------------------------------------\n# Jubilees and Enoch have both been found in the Hebrew [Studge]\n# might be needed if we add Dead Sea Scrolls\n# Jubilees (Ethiopian canon)\nJUB 1:26 2:17 3:19 4:24 5:36 6:34 7:37 8:40 9:27 10:48 11:39 12:56 13:34 14:55 15:20 16:28 17:30 18:31 19:59 20:66 21:30 22:38 23:59 24:30 25:50 26:48 27:37 28:38 29:27 30:29 31:31 32:24 33:30 34:20\n# Enoch (Ethiopian canon)\nENO 1:28 2:42 3:30 4:88 5:40 6:42 7:39 8:46 9:42 10:16 11:19 12:40 13:34 14:35 15:45 16:41 17:69 18:42 19:29 20:53 21:57 22:14 23:26 24:16 25:30 26:37 27:21 28:34 29:28 30:23 31:29 32:82 33:59 34:49 35:36 36:30 37:34 38:36 39:24 40:40 41:22 42:16\n#\n# S3Y is a small section of the DAG LXX pulled out and translated as a separate book.\n# Map it back to the LXX. This section allow\'s texts such as TOB (French) which do\n# this to scroll correctly with the LXX.\n# S3Y is not present in the GRK, HEB, or LXX(Ralphs) text.\n# If a text has DAG present, this section must NOT be included in its versification file because\n# that would cause references in other texts to DAG to be redirected to a non-existant S3Y.\nS3Y 1:1-29 = DAG 3:24-52\nS3Y 1:30-31 = DAG 3:52-53\nS3Y 1:33 = DAG 3:54\nS3Y 1:32 = DAG 3:55\nS3Y 1:34-35 = DAG 3:56-57\nS3Y 1:37 = DAG 3:58\nS3Y 1:36 = DAG 3:59\nS3Y 1:38-68 = DAG 3:60-90\n'},rsc:{raw:'# Versification "Russian Protestant"\n# Version=1.4\n#\n# This is the versification used by the "Canonical" (Protestant) edition of the Russian Synodal Bible\n# Initial version provided by Peter_Kirk@sil.org\n# Corrected 27/May/2003 by matjaz.crnivec@drustvo-svds.si:\n# Number of vss: ISA 3; REV 12\n# Mappings: LEV 14; 1KI 22; 1CH 12; NEH 7; ISA 3; 2CO 11; REV 13\n#\n# List of books, chapters, verses\n# One line per book.\n# One entry for each chapter.\n# Verse number is the maximum verse number for that chapter.\n# See the lines containing =\'s below for verse mappings.\n#\n#------------------------------------------------------------\n# Old Testament\nGEN 1:31 2:25 3:24 4:26 5:32 6:22 7:24 8:22 9:29 10:32 11:32 12:20 13:18 14:24 15:21 16:16 17:27 18:33 19:38 20:18 21:34 22:24 23:20 24:67 25:34 26:35 27:46 28:22 29:35 30:43 31:55 32:32 33:20 34:31 35:29 36:43 37:36 38:30 39:23 40:23 41:57 42:38 43:34 44:34 45:28 46:34 47:31 48:22 49:33 50:26\nEXO 1:22 2:25 3:22 4:31 5:23 6:30 7:25 8:32 9:35 10:29 11:10 12:51 13:22 14:31 15:27 16:36 17:16 18:27 19:25 20:26 21:36 22:31 23:33 24:18 25:40 26:37 27:21 28:43 29:46 30:38 31:18 32:35 33:23 34:35 35:35 36:38 37:29 38:31 39:43 40:38\nLEV 1:17 2:16 3:17 4:35 5:19 6:30 7:38 8:36 9:24 10:20 11:47 12:8 13:59 14:56 15:33 16:34 17:16 18:30 19:37 20:27 21:24 22:33 23:44 24:23 25:55 26:46 27:34\nNUM 1:54 2:34 3:51 4:49 5:31 6:27 7:89 8:26 9:23 10:36 11:35 12:15 13:34 14:45 15:41 16:50 17:13 18:32 19:22 20:29 21:35 22:41 23:30 24:25 25:18 26:65 27:23 28:31 29:39 30:17 31:54 32:42 33:56 34:29 35:34 36:13\nDEU 1:46 2:37 3:29 4:49 5:33 6:25 7:26 8:20 9:29 10:22 11:32 12:32 13:18 14:29 15:23 16:22 17:20 18:22 19:21 20:20 21:23 22:30 23:25 24:22 25:19 26:19 27:26 28:68 29:29 30:20 31:30 32:52 33:29 34:12\nJOS 1:18 2:24 3:17 4:24 5:16 6:26 7:26 8:35 9:27 10:43 11:23 12:24 13:33 14:15 15:63 16:10 17:18 18:28 19:51 20:9 21:45 22:34 23:16 24:33\nJDG 1:36 2:23 3:31 4:24 5:31 6:40 7:25 8:35 9:57 10:18 11:40 12:15 13:25 14:20 15:20 16:31 17:13 18:31 19:30 20:48 21:25\nRUT 1:22 2:23 3:18 4:22\n1SA 1:28 2:36 3:21 4:22 5:12 6:21 7:17 8:22 9:27 10:27 11:15 12:25 13:23 14:52 15:35 16:23 17:58 18:30 19:24 20:43 21:15 22:23 23:28 24:23 25:44 26:25 27:12 28:25 29:11 30:31 31:13\n2SA 1:27 2:32 3:39 4:12 5:25 6:23 7:29 8:18 9:13 10:19 11:27 12:31 13:39 14:33 15:37 16:23 17:29 18:33 19:43 20:26 21:22 22:51 23:39 24:25\n1KI 1:53 2:46 3:28 4:34 5:18 6:38 7:51 8:66 9:28 10:29 11:43 12:33 13:34 14:31 15:34 16:34 17:24 18:46 19:21 20:43 21:29 22:53\n2KI 1:18 2:25 3:27 4:44 5:27 6:33 7:20 8:29 9:37 10:36 11:21 12:21 13:25 14:29 15:38 16:20 17:41 18:37 19:37 20:21 21:26 22:20 23:37 24:20 25:30\n1CH 1:54 2:55 3:24 4:43 5:26 6:81 7:40 8:40 9:44 10:14 11:47 12:40 13:14 14:17 15:29 16:43 17:27 18:17 19:19 20:8 21:30 22:19 23:32 24:31 25:31 26:32 27:34 28:21 29:30\n2CH 1:17 2:18 3:17 4:22 5:14 6:42 7:22 8:18 9:31 10:19 11:23 12:16 13:22 14:15 15:19 16:14 17:19 18:34 19:11 20:37 21:20 22:12 23:21 24:27 25:28 26:23 27:9 28:27 29:36 30:27 31:21 32:33 33:25 34:33 35:27 36:23\nEZR 1:11 2:70 3:13 4:24 5:17 6:22 7:28 8:36 9:15 10:44\nNEH 1:11 2:20 3:32 4:23 5:19 6:19 7:73 8:18 9:38 10:39 11:36 12:47 13:31\nEST 1:22 2:23 3:15 4:17 5:14 6:14 7:10 8:17 9:32 10:3\nJOB 1:22 2:13 3:26 4:21 5:27 6:30 7:21 8:22 9:35 10:22 11:20 12:25 13:28 14:22 15:35 16:22 17:16 18:21 19:29 20:29 21:34 22:30 23:17 24:25 25:6 26:14 27:23 28:28 29:25 30:31 31:40 32:22 33:33 34:37 35:16 36:33 37:24 38:41 39:35 40:27 41:26 42:17\nPSA 1:6 2:12 3:9 4:9 5:13 6:11 7:18 8:10 9:39 10:7 11:9 12:6 13:7 14:5 15:11 16:15 17:51 18:15 19:10 20:14 21:32 22:6 23:10 24:22 25:12 26:14 27:9 28:11 29:13 30:25 31:11 32:22 33:23 34:28 35:13 36:40 37:23 38:14 39:18 40:14 41:12 42:5 43:27 44:18 45:12 46:10 47:15 48:21 49:23 50:21 51:11 52:7 53:9 54:24 55:14 56:12 57:12 58:18 59:14 60:9 61:13 62:12 63:11 64:14 65:20 66:8 67:36 68:37 69:6 70:24 71:20 72:28 73:23 74:11 75:13 76:21 77:72 78:13 79:20 80:17 81:8 82:19 83:13 84:14 85:17 86:7 87:19 88:53 89:17 90:16 91:16 92:5 93:23 94:11 95:13 96:12 97:9 98:9 99:5 100:8 101:29 102:22 103:35 104:45 105:48 106:43 107:14 108:31 109:7 110:10 111:10 112:9 113:26 114:9 115:10 116:2 117:29 118:176 119:7 120:8 121:9 122:4 123:8 124:5 125:6 126:5 127:6 128:8 129:8 130:3 131:18 132:3 133:3 134:21 135:26 136:9 137:8 138:24 139:14 140:10 141:7 142:12 143:15 144:21 145:10 146:11 147:9 148:14 149:9 150:6\nPRO 1:33 2:22 3:35 4:27 5:23 6:35 7:27 8:36 9:18 10:32 11:31 12:28 13:25 14:35 15:33 16:33 17:28 18:24 19:29 20:30 21:31 22:29 23:35 24:34 25:28 26:28 27:27 28:28 29:27 30:33 31:31\nECC 1:18 2:26 3:22 4:17 5:19 6:12 7:29 8:17 9:18 10:20 11:10 12:14\nSNG 1:16 2:17 3:11 4:16 5:16 6:12 7:14 8:14\nISA 1:31 2:22 3:25 4:6 5:30 6:13 7:25 8:22 9:21 10:34 11:16 12:6 13:22 14:32 15:9 16:14 17:14 18:7 19:25 20:6 21:17 22:25 23:18 24:23 25:12 26:21 27:13 28:29 29:24 30:33 31:9 32:20 33:24 34:17 35:10 36:22 37:38 38:22 39:8 40:31 41:29 42:25 43:28 44:28 45:25 46:13 47:15 48:22 49:26 50:11 51:23 52:15 53:12 54:17 55:13 56:12 57:21 58:14 59:21 60:22 61:11 62:12 63:19 64:12 65:25 66:24\nJER 1:19 2:37 3:25 4:31 5:31 6:30 7:34 8:22 9:26 10:25 11:23 12:17 13:27 14:22 15:21 16:21 17:27 18:23 19:15 20:18 21:14 22:30 23:40 24:10 25:38 26:24 27:22 28:17 29:32 30:24 31:40 32:44 33:26 34:22 35:19 36:32 37:21 38:28 39:18 40:16 41:18 42:22 43:13 44:30 45:5 46:28 47:7 48:47 49:39 50:46 51:64 52:34\nLAM 1:22 2:22 3:66 4:22 5:22\nEZK 1:28 2:10 3:27 4:17 5:17 6:14 7:27 8:18 9:11 10:22 11:25 12:28 13:23 14:23 15:8 16:63 17:24 18:32 19:14 20:49 21:32 22:31 23:49 24:27 25:17 26:21 27:36 28:26 29:21 30:26 31:18 32:32 33:33 34:31 35:15 36:38 37:28 38:23 39:29 40:49 41:26 42:20 43:27 44:31 45:25 46:24 47:23 48:35\nDAN 1:21 2:49 3:33 4:34 5:31 6:28 7:28 8:27 9:27 10:21 11:45 12:13\nHOS 1:11 2:23 3:5 4:19 5:15 6:11 7:16 8:14 9:17 10:15 11:12 12:14 13:15 14:10\nJOL 1:20 2:32 3:21\nAMO 1:15 2:16 3:15 4:13 5:27 6:14 7:17 8:14 9:15\nOBA 1:21\nJON 1:16 2:11 3:10 4:11\nMIC 1:16 2:13 3:12 4:13 5:15 6:16 7:20\nNAM 1:15 2:13 3:19\nHAB 1:17 2:20 3:19\nZEP 1:18 2:15 3:20\nHAG 1:15 2:23\nZEC 1:21 2:13 3:10 4:14 5:11 6:15 7:14 8:23 9:17 10:12 11:17 12:14 13:9 14:21\nMAL 1:14 2:17 3:18 4:6\n#-------------------------------------------------------\n# New Testament books\nMAT 1:25 2:23 3:17 4:25 5:48 6:34 7:29 8:34 9:38 10:42 11:30 12:50 13:58 14:36 15:39 16:28 17:27 18:35 19:30 20:34 21:46 22:46 23:39 24:51 25:46 26:75 27:66 28:20\nMRK 1:45 2:28 3:35 4:41 5:43 6:56 7:37 8:38 9:50 10:52 11:33 12:44 13:37 14:72 15:47 16:20\nLUK 1:80 2:52 3:38 4:44 5:39 6:49 7:50 8:56 9:62 10:42 11:54 12:59 13:35 14:35 15:32 16:31 17:37 18:43 19:48 20:47 21:38 22:71 23:56 24:53\nJHN 1:51 2:25 3:36 4:54 5:47 6:71 7:53 8:59 9:41 10:42 11:57 12:50 13:38 14:31 15:27 16:33 17:26 18:40 19:42 20:31 21:25\nACT 1:26 2:47 3:26 4:37 5:42 6:15 7:60 8:40 9:43 10:48 11:30 12:25 13:52 14:28 15:41 16:40 17:34 18:28 19:40 20:38 21:40 22:30 23:35 24:27 25:27 26:32 27:44 28:31\nROM 1:32 2:29 3:31 4:25 5:21 6:23 7:25 8:39 9:33 10:21 11:36 12:21 13:14 14:26 15:33 16:24\n1CO 1:31 2:16 3:23 4:21 5:13 6:20 7:40 8:13 9:27 10:33 11:34 12:31 13:13 14:40 15:58 16:24\n2CO 1:24 2:17 3:18 4:18 5:21 6:18 7:16 8:24 9:15 10:18 11:32 12:21 13:13\nGAL 1:24 2:21 3:29 4:31 5:26 6:18\nEPH 1:23 2:22 3:21 4:32 5:33 6:24\nPHP 1:30 2:30 3:21 4:23\nCOL 1:29 2:23 3:25 4:18\n1TH 1:10 2:20 3:13 4:18 5:28\n2TH 1:12 2:17 3:18\n1TI 1:20 2:15 3:16 4:16 5:25 6:21\n2TI 1:18 2:26 3:17 4:22\nTIT 1:16 2:15 3:15\nPHM 1:25\nHEB 1:14 2:18 3:19 4:16 5:14 6:20 7:28 8:13 9:28 10:39 11:40 12:29 13:25\nJAS 1:27 2:26 3:18 4:17 5:20\n1PE 1:25 2:25 3:22 4:19 5:14\n2PE 1:21 2:22 3:18\n1JN 1:10 2:29 3:24 4:21 5:21\n2JN 1:13\n3JN 1:15\nJUD 1:25\nREV 1:20 2:29 3:22 4:11 5:14 6:17 7:17 8:13 9:21 10:11 11:19 12:17 13:18 14:20 15:8 16:21 17:18 18:24 19:21 20:15 21:27 22:21\n#\n#------------------------------------------------------------\n# Mapping\n#-------------------------------------------------------------\n# Russian = BHS (see org.vrs)\n#\n# (Note: ranges must not span a chapter, e.g. 4:10-5:11 is illegal)\n#\nGEN 31:55 = GEN 32:1\nGEN 32:1-32 = GEN 32:2-33\nEXO 8:1-4 = EXO 7:26-29\nEXO 8:5-32 = EXO 8:1-28\nEXO 22:1 = EXO 21:37\nEXO 22:2-31 = EXO 22:1-30\nLEV 6:1-7 = LEV 5:20-26\nLEV 6:8-30 = LEV 6:1-23\n# LEV 14:55b = LEV 14:56 # cant handle split verses yet\nLEV 14:55 = LEV 14:55\nLEV 14:55 = LEV 14:56\nLEV 14:56 = LEV 14:57\nNUM 13:1 = NUM 12:16\nNUM 13:2-34 = NUM 13:1-33\nNUM 16:36-50 = NUM 17:1-15\nNUM 17:1-13 = NUM 17:16-28\nNUM 26:1 = NUM 25:19\nNUM 26:1 = NUM 26:1\nDEU 12:32 = DEU 13:1\nDEU 13:1-18 = DEU 13:2-19\nDEU 22:30 = DEU 23:1\nDEU 23:1-25 = DEU 23:2-26\nDEU 29:1 = DEU 28:69\nDEU 29:2-29 = DEU 29:1-28\nJOS 5:16 = JOS 6:1\nJOS 6:1-26 = JOS 6:2-27\n1SA 20:43 = 1SA 21:1\n1SA 21:1-15 = 1SA 21:2-16\n2SA 18:33 = 2SA 19:1\n2SA 19:1-43 = 2SA 19:2-44\n1KI 4:21-34 = 1KI 5:1-14\n1KI 5:1-18 = 1KI 5:15-32\n#1KI 22:43b = 1KI 22:44 # cant handle split verses yet\n1KI 22:43 = 1KI 22:43\n1KI 22:43 = 1KI 22:44\n1KI 22:44-53 = 1KI 22:45-54\n2KI 11:21 = 2KI 12:1\n2KI 12:1-21 = 2KI 12:2-22\n1CH 6:1-15 = 1CH 5:27-41\n1CH 6:16-81 = 1CH 6:1-66\n# 1CH 12:4b = 1CH 12:5 # cant handle split verses yet\n1CH 12:4 = 1CH 12:4\n1CH 12:4 = 1CH 12:5\n1CH 12:5-40 = 1CH 12:6-41\n2CH 2:1 = 2CH 1:18\n2CH 2:2-18 = 2CH 2:1-17\n2CH 14:1 = 2CH 13:23\n2CH 14:2-15 = 2CH 14:1-14\nNEH 4:1-6 = NEH 3:33-38\nNEH 4:7-23 = NEH 4:1-17\n# NEH 7:68 = NEH 7:67b # cant handle split verses yet\nNEH 7:67 = NEH 7:67\nNEH 7:68 = NEH 7:67\nNEH 7:69-73 = NEH 7:68-72\nNEH 9:38 = NEH 10:1\nNEH 10:1-39 = NEH 10:2-40\nJOB 39:31-35 = JOB 40:1-5\nJOB 40:1-19 = JOB 40:6-24\nJOB 40:20-27 = JOB 40:25-32\n# PSA 9 = 9+10\nPSA 9:22 = PSA 10:0\nPSA 9:22-39 = PSA 10:1-18\nPSA 10:0-7 = PSA 11:0-7\nPSA 11:0-9 = PSA 12:0-9\nPSA 12:0-6 = PSA 13:0-6\nPSA 13:0-7 = PSA 14:0-7\nPSA 14:0-5 = PSA 15:0-5\nPSA 15:0-11 = PSA 16:0-11\nPSA 16:0-15 = PSA 17:0-15\nPSA 17:0-51 = PSA 18:0-51\nPSA 18:0-15 = PSA 19:0-15\nPSA 19:0-10 = PSA 20:0-10\nPSA 20:0-14 = PSA 21:0-14\nPSA 21:0-32 = PSA 22:0-32\nPSA 22:0-6 = PSA 23:0-6\nPSA 23:0-10 = PSA 24:0-10\nPSA 24:0-22 = PSA 25:0-22\nPSA 25:0-12 = PSA 26:0-12\nPSA 26:0-14 = PSA 27:0-14\nPSA 27:0-9 = PSA 28:0-9\nPSA 28:0-11 = PSA 29:0-11\nPSA 29:0-13 = PSA 30:0-13\nPSA 30:0-25 = PSA 31:0-25\nPSA 31:0-11 = PSA 32:0-11\nPSA 32:0-22 = PSA 33:0-22\nPSA 33:0-23 = PSA 34:0-23\nPSA 34:0-28 = PSA 35:0-28\nPSA 35:0-13 = PSA 36:0-13\nPSA 36:0-40 = PSA 37:0-40\nPSA 37:0-23 = PSA 38:0-23\nPSA 38:0-14 = PSA 39:0-14\nPSA 39:0-18 = PSA 40:0-18\nPSA 40:0-14 = PSA 41:0-14\nPSA 41:0-12 = PSA 42:0-12\nPSA 42:0-5 = PSA 43:0-5\nPSA 43:0-27 = PSA 44:0-27\nPSA 44:0-18 = PSA 45:0-18\nPSA 45:0-12 = PSA 46:0-12\nPSA 46:0-10 = PSA 47:0-10\nPSA 47:0-15 = PSA 48:0-15\nPSA 48:0-21 = PSA 49:0-21\nPSA 49:0-23 = PSA 50:0-23\nPSA 50:0-21 = PSA 51:0-21\nPSA 51:0-11 = PSA 52:0-11\nPSA 52:0-7 = PSA 53:0-7\nPSA 53:0-9 = PSA 54:0-9\nPSA 54:0-24 = PSA 55:0-24\nPSA 55:0-14 = PSA 56:0-14\nPSA 56:0-12 = PSA 57:0-12\nPSA 57:0-12 = PSA 58:0-12\nPSA 58:0-18 = PSA 59:0-18\nPSA 59:0-14 = PSA 60:0-14\nPSA 60:0-9 = PSA 61:0-9\nPSA 61:0-13 = PSA 62:0-13\nPSA 62:0-12 = PSA 63:0-12\nPSA 63:0-11 = PSA 64:0-11\nPSA 64:0-14 = PSA 65:0-14\nPSA 65:0-20 = PSA 66:0-20\nPSA 66:0-8 = PSA 67:0-8\nPSA 67:0-36 = PSA 68:0-36\nPSA 68:0-37 = PSA 69:0-37\nPSA 69:0-6 = PSA 70:0-6\nPSA 70:0-24 = PSA 71:0-24\nPSA 71:0-20 = PSA 72:0-20\nPSA 72:0-28 = PSA 73:0-28\nPSA 73:0-23 = PSA 74:0-23\nPSA 74:0-11 = PSA 75:0-11\nPSA 75:0-13 = PSA 76:0-13\nPSA 76:0-21 = PSA 77:0-21\nPSA 77:0-72 = PSA 78:0-72\nPSA 78:0-13 = PSA 79:0-13\nPSA 79:0-20 = PSA 80:0-20\nPSA 80:0-17 = PSA 81:0-17\nPSA 81:0-8 = PSA 82:0-8\nPSA 82:0-19 = PSA 83:0-19\nPSA 83:0-13 = PSA 84:0-13\nPSA 84:0-14 = PSA 85:0-14\nPSA 85:0-17 = PSA 86:0-17\nPSA 86:0-1 = PSA 87:0-1\nPSA 86:2 = PSA 87:1\nPSA 86:2-7 = PSA 87:2-7\nPSA 87:0-19 = PSA 88:0-19\nPSA 88:0-53 = PSA 89:0-53\nPSA 89:0-1 = PSA 90:0\nPSA 89:2-6 = PSA 90:1-5\nPSA 89:6 = PSA 90:6\nPSA 89:7-17 = PSA 90:7-17\nPSA 90:0-16 = PSA 91:0-16\nPSA 91:0-16 = PSA 92:0-16\nPSA 92:0-5 = PSA 93:0-5\nPSA 93:0-23 = PSA 94:0-23\nPSA 94:0-11 = PSA 95:0-11\nPSA 95:0-13 = PSA 96:0-13\nPSA 96:0-12 = PSA 97:0-12\nPSA 97:0-9 = PSA 98:0-9\nPSA 98:0-9 = PSA 99:0-9\nPSA 99:0-5 = PSA 100:0-5\nPSA 100:0-8 = PSA 101:0-8\nPSA 101:0-29 = PSA 102:0-29\nPSA 102:0-22 = PSA 103:0-22\nPSA 103:0-35 = PSA 104:0-35\nPSA 104:0-45 = PSA 105:0-45\nPSA 105:0-48 = PSA 106:0-48\nPSA 106:0-43 = PSA 107:0-43\nPSA 107:0-14 = PSA 108:0-14\nPSA 108:0-31 = PSA 109:0-31\nPSA 109:0-7 = PSA 110:0-7\nPSA 110:0-10 = PSA 111:0-10\nPSA 111:0-10 = PSA 112:0-10\nPSA 112:0-9 = PSA 113:0-9\nPSA 113:0-8 = PSA 114:0-8\nPSA 113:9 = PSA 115:0\nPSA 113:9-26 = PSA 115:1-18\nPSA 114:0-9 = PSA 116:0-9\nPSA 115:0 = PSA 116:10\nPSA 115:1-10 = PSA 116:10-19\t\nPSA 116:0-2 = PSA 117:0-2\nPSA 117:0-29 = PSA 118:0-29\nPSA 118:0-176 = PSA 119:0-176\nPSA 119:0-7 = PSA 120:0-7\nPSA 120:0-8 = PSA 121:0-8\nPSA 121:0-9 = PSA 122:0-9\nPSA 122:0-4 = PSA 123:0-4\nPSA 123:0-8 = PSA 124:0-8\nPSA 124:0-5 = PSA 125:0-5\nPSA 125:0-6 = PSA 126:0-6\nPSA 126:0-5 = PSA 127:0-5\nPSA 127:0-6 = PSA 128:0-6\nPSA 128:0-8 = PSA 129:0-8\nPSA 129:0-8 = PSA 130:0-8\nPSA 130:0-3 = PSA 131:0-3\nPSA 131:0-18 = PSA 132:0-18\nPSA 132:0-3 = PSA 133:0-3\nPSA 133:0-3 = PSA 134:0-3\nPSA 134:0-21 = PSA 135:0-21\nPSA 135:0-26 = PSA 136:0-26\nPSA 136:0-9 = PSA 137:0-9\nPSA 137:0-8 = PSA 138:0-8\nPSA 138:0-24 = PSA 139:0-24\nPSA 139:0-14 = PSA 140:0-14\nPSA 140:0-10 = PSA 141:0-10\nPSA 141:0 = PSA 142:0-1\nPSA 141:1-7 = PSA 142:2-8\nPSA 142:0-12 = PSA 143:0-12\nPSA 143:0-15 = PSA 144:0-15\nPSA 144:0-21 = PSA 145:0-21\nPSA 145:0-10 = PSA 146:0-10\n# 146 + 147 -> 147\nPSA 146:0-11 = PSA 147:0-11\nPSA 147:0 = PSA 147:12\nPSA 147:1-9 = PSA 147:12-20\nSNG 1:1-16 = SNG 1:2-17\n# ISA 3:19b = ISA 3:20 # cant handle split verses yet\nISA 3:19 = ISA 3:19\nISA 3:19 = ISA 3:20\nISA 3:20-25 = ISA 3:21-26\nISA 9:1 = ISA 8:23\nISA 9:2-21 = ISA 9:1-20\nISA 63:19 = ISA 63:19\nISA 64:1 = ISA 63:19\nISA 64:2-12 = ISA 64:1-11\nJER 9:1 = JER 8:23\nJER 9:2-26 = JER 9:1-25\nEZK 20:45-49 = EZK 21:1-5\nEZK 21:1-32 = EZK 21:6-37\nDAN 5:31 = DAN 6:1\nDAN 6:1-28 = DAN 6:2-29\nHOS 1:10-11 = HOS 2:1-2\nHOS 2:1-23 = HOS 2:3-25\nHOS 11:12 = HOS 12:1\nHOS 12:1-14 = HOS 12:2-15\nJOL 2:28-32 = JOL 3:1-5\nJOL 3:1-21 = JOL 4:1-21\nMIC 5:1 = MIC 4:14\nMIC 5:2-15 = MIC 5:1-14\nNAM 1:15 = NAM 2:1\nNAM 2:1-13 = NAM 2:2-14\nZEC 1:18-21 = ZEC 2:1-4\nZEC 2:1-13 = ZEC 2:5-17\nMAL 4:1-6 = MAL 3:19-24\nROM 14:24-26 = ROM 16:25-27\n# 2CO 11:32b = 2CO 11:33 # cant handle split verses yet\n2CO 11:32 = 2CO 11:32\n2CO 11:32 = 2CO 11:33\n# REV 13:1a = REV 12:18 # cant handle split verses yet\n# REV 13:1b = REV 13:1 # cant handle split verses yet\nREV 13:1 = REV 12:18\nREV 13:1 = REV 13:1\n'},rso:{raw:'# Versification "Russian Orthodox"\n# Version=1.3\n#\n# This is the versification used by the Orthodox (or "non-canonical") edition of the Russian Synodal Bible\n# Initial version provided by Peter_Kirk@sil.org\n# Corrected 27/May/2003 by matjaz.crnivec@drustvo-svds.si:\n# Number of vss: 2CH 37; PSA 114; ISA 3; REV 12; 2ES (whole book added),\n# Mappings: LEV 14; 1KI 22; 1CH 12; 2CH 37; NEH 7; PSA 114; ISA 3; 2CO 11; REV 13; 2ES 7; 10\n#\n# modifications by Studge 26/June/2009\n# amended by HAB April 2010\n#\n# List of books, chapters, verses\n# One line per book.\n# One entry for each chapter.\n# Verse number is the maximum verse number for that chapter.\n# See the lines containing =\'s below for verse mappings.\n#\n#----------------------------------------------------------\nGEN 1:31 2:25 3:24 4:26 5:32 6:22 7:24 8:22 9:29 10:32 11:32 12:20 13:18 14:24 15:21 16:16 17:27 18:33 19:38 20:18 21:34 22:24 23:20 24:67 25:34 26:35 27:46 28:22 29:35 30:43 31:55 32:32 33:20 34:31 35:29 36:43 37:36 38:30 39:23 40:23 41:57 42:38 43:34 44:34 45:28 46:34 47:31 48:22 49:33 50:26\nEXO 1:22 2:25 3:22 4:31 5:23 6:30 7:25 8:32 9:35 10:29 11:10 12:51 13:22 14:31 15:27 16:36 17:16 18:27 19:25 20:26 21:36 22:31 23:33 24:18 25:40 26:37 27:21 28:43 29:46 30:38 31:18 32:35 33:23 34:35 35:35 36:38 37:29 38:31 39:43 40:38\nLEV 1:17 2:16 3:17 4:35 5:19 6:30 7:38 8:36 9:24 10:20 11:47 12:8 13:59 14:56 15:33 16:34 17:16 18:30 19:37 20:27 21:24 22:33 23:44 24:23 25:55 26:46 27:34\nNUM 1:54 2:34 3:51 4:49 5:31 6:27 7:89 8:26 9:23 10:36 11:35 12:15 13:34 14:45 15:41 16:50 17:13 18:32 19:22 20:29 21:35 22:41 23:30 24:25 25:18 26:65 27:23 28:31 29:39 30:17 31:54 32:42 33:56 34:29 35:34 36:13\nDEU 1:46 2:37 3:29 4:49 5:33 6:25 7:26 8:20 9:29 10:22 11:32 12:32 13:18 14:29 15:23 16:22 17:20 18:22 19:21 20:20 21:23 22:30 23:25 24:22 25:19 26:19 27:26 28:68 29:29 30:20 31:30 32:52 33:29 34:12\nJOS 1:18 2:24 3:17 4:24 5:16 6:26 7:26 8:35 9:27 10:43 11:23 12:24 13:33 14:15 15:63 16:10 17:18 18:28 19:51 20:9 21:45 22:34 23:16 24:36\nJDG 1:36 2:23 3:31 4:24 5:31 6:40 7:25 8:35 9:57 10:18 11:40 12:15 13:25 14:20 15:20 16:31 17:13 18:31 19:30 20:48 21:25\nRUT 1:22 2:23 3:18 4:22\n1SA 1:28 2:36 3:21 4:22 5:12 6:21 7:17 8:22 9:27 10:27 11:15 12:25 13:23 14:52 15:35 16:23 17:58 18:30 19:24 20:43 21:15 22:23 23:28 24:23 25:44 26:25 27:12 28:25 29:11 30:31 31:13\n2SA 1:27 2:32 3:39 4:12 5:25 6:23 7:29 8:18 9:13 10:19 11:27 12:31 13:39 14:33 15:37 16:23 17:29 18:33 19:43 20:26 21:22 22:51 23:39 24:25\n1KI 1:53 2:46 3:28 4:34 5:18 6:38 7:51 8:66 9:28 10:29 11:43 12:33 13:34 14:31 15:34 16:34 17:24 18:46 19:21 20:43 21:29 22:53\n2KI 1:18 2:25 3:27 4:44 5:27 6:33 7:20 8:29 9:37 10:36 11:21 12:21 13:25 14:29 15:38 16:20 17:41 18:37 19:37 20:21 21:26 22:20 23:37 24:20 25:30\n1CH 1:54 2:55 3:24 4:43 5:26 6:81 7:40 8:40 9:44 10:14 11:47 12:40 13:14 14:17 15:29 16:43 17:27 18:17 19:19 20:8 21:30 22:19 23:32 24:31 25:31 26:32 27:34 28:21 29:30\n2CH 1:17 2:18 3:17 4:22 5:14 6:42 7:22 8:18 9:31 10:19 11:23 12:16 13:22 14:15 15:19 16:14 17:19 18:34 19:11 20:37 21:20 22:12 23:21 24:27 25:28 26:23 27:9 28:27 29:36 30:27 31:21 32:33 33:25 34:33 35:27 36:23 37:12\nEZR 1:11 2:70 3:13 4:24 5:17 6:22 7:28 8:36 9:15 10:44\nNEH 1:11 2:20 3:32 4:23 5:19 6:19 7:73 8:18 9:38 10:39 11:36 12:47 13:31\n#--------------\n# Notes EST is the Greek Esther which should have been under ESG\nEST 1:22 2:23 3:15 4:17 5:14 6:14 7:10 8:17 9:32 10:3\n#--------------\nJOB 1:22 2:13 3:26 4:21 5:27 6:30 7:21 8:22 9:35 10:22 11:20 12:25 13:28 14:22 15:35 16:22 17:16 18:21 19:29 20:29 21:34 22:30 23:17 24:25 25:6 26:14 27:23 28:28 29:25 30:31 31:40 32:22 33:33 34:37 35:16 36:33 37:24 38:41 39:35 40:27 41:26 42:17\nPSA 1:6 2:12 3:9 4:9 5:13 6:11 7:18 8:10 9:39 10:7 11:9 12:6 13:7 14:5 15:11 16:15 17:51 18:15 19:10 20:14 21:32 22:6 23:10 24:22 25:12 26:14 27:9 28:11 29:13 30:25 31:11 32:22 33:23 34:28 35:13 36:40 37:23 38:14 39:18 40:14 41:12 42:5 43:27 44:18 45:12 46:10 47:15 48:21 49:23 50:21 51:11 52:7 53:9 54:24 55:14 56:12 57:12 58:18 59:14 60:9 61:13 62:12 63:11 64:14 65:20 66:8 67:36 68:37 69:6 70:24 71:20 72:28 73:23 74:11 75:13 76:21 77:72 78:13 79:20 80:17 81:8 82:19 83:13 84:14 85:17 86:7 87:19 88:53 89:17 90:16 91:16 92:5 93:23 94:11 95:13 96:12 97:9 98:9 99:5 100:8 101:29 102:22 103:35 104:45 105:48 106:43 107:14 108:31 109:7 110:10 111:10 112:9 113:26 114:8 115:10 116:2 117:29 118:176 119:7 120:8 121:9 122:4 123:8 124:5 125:6 126:5 127:6 128:8 129:8 130:3 131:18 132:3 133:3 134:21 135:26 136:9 137:8 138:24 139:14 140:10 141:7 142:12 143:15 144:21 145:10 146:11 147:9 148:14 149:9 150:6 151:7\nPRO 1:33 2:22 3:35 4:29 5:23 6:35 7:27 8:36 9:18 10:32 11:31 12:28 13:26 14:35 15:33 16:33 17:28 18:25 19:29 20:30 21:31 22:29 23:35 24:34 25:28 26:28 27:27 28:28 29:27 30:33 31:31\nECC 1:18 2:26 3:22 4:17 5:19 6:12 7:29 8:17 9:18 10:20 11:10 12:14\nSNG 1:16 2:17 3:11 4:16 5:16 6:12 7:14 8:14\nISA 1:31 2:22 3:25 4:6 5:30 6:13 7:25 8:22 9:21 10:34 11:16 12:6 13:22 14:32 15:9 16:14 17:14 18:7 19:25 20:6 21:17 22:25 23:18 24:23 25:12 26:21 27:13 28:29 29:24 30:33 31:9 32:20 33:24 34:17 35:10 36:22 37:38 38:22 39:8 40:31 41:29 42:25 43:28 44:28 45:25 46:13 47:15 48:22 49:26 50:11 51:23 52:15 53:12 54:17 55:13 56:12 57:21 58:14 59:21 60:22 61:11 62:12 63:19 64:12 65:25 66:24\nJER 1:19 2:37 3:25 4:31 5:31 6:30 7:34 8:22 9:26 10:25 11:23 12:17 13:27 14:22 15:21 16:21 17:27 18:23 19:15 20:18 21:14 22:30 23:40 24:10 25:38 26:24 27:22 28:17 29:32 30:24 31:40 32:44 33:26 34:22 35:19 36:32 37:21 38:28 39:18 40:16 41:18 42:22 43:13 44:30 45:5 46:28 47:7 48:47 49:39 50:46 51:64 52:34\nLAM 1:22 2:22 3:66 4:22 5:22\nEZK 1:28 2:10 3:27 4:17 5:17 6:14 7:27 8:18 9:11 10:22 11:25 12:28 13:23 14:23 15:8 16:63 17:24 18:32 19:14 20:49 21:32 22:31 23:49 24:27 25:17 26:21 27:36 28:26 29:21 30:26 31:18 32:32 33:33 34:31 35:15 36:38 37:28 38:23 39:29 40:49 41:26 42:20 43:27 44:31 45:25 46:24 47:23 48:35\nDAN 1:21 2:49 3:100 4:34 5:31 6:28 7:28 8:27 9:27 10:21 11:45 12:13 13:64 14:42\nHOS 1:11 2:23 3:5 4:19 5:15 6:11 7:16 8:14 9:17 10:15 11:12 12:14 13:15 14:10\nJOL 1:20 2:32 3:21\nAMO 1:15 2:16 3:15 4:13 5:27 6:14 7:17 8:14 9:15\nOBA 1:21\nJON 1:16 2:11 3:10 4:11\nMIC 1:16 2:13 3:12 4:13 5:15 6:16 7:20\nNAM 1:15 2:13 3:19\nHAB 1:17 2:20 3:19\nZEP 1:18 2:15 3:20\nHAG 1:15 2:23\nZEC 1:21 2:13 3:10 4:14 5:11 6:15 7:14 8:23 9:17 10:12 11:17 12:14 13:9 14:21\nMAL 1:14 2:17 3:18 4:6\n#----------------------------------------------------\nMAT 1:25 2:23 3:17 4:25 5:48 6:34 7:29 8:34 9:38 10:42 11:30 12:50 13:58 14:36 15:39 16:28 17:27 18:35 19:30 20:34 21:46 22:46 23:39 24:51 25:46 26:75 27:66 28:20\nMRK 1:45 2:28 3:35 4:41 5:43 6:56 7:37 8:38 9:50 10:52 11:33 12:44 13:37 14:72 15:47 16:20\nLUK 1:80 2:52 3:38 4:44 5:39 6:49 7:50 8:56 9:62 10:42 11:54 12:59 13:35 14:35 15:32 16:31 17:37 18:43 19:48 20:47 21:38 22:71 23:56 24:53\nJHN 1:51 2:25 3:36 4:54 5:47 6:71 7:53 8:59 9:41 10:42 11:57 12:50 13:38 14:31 15:27 16:33 17:26 18:40 19:42 20:31 21:25\nACT 1:26 2:47 3:26 4:37 5:42 6:15 7:60 8:40 9:43 10:48 11:30 12:25 13:52 14:28 15:41 16:40 17:34 18:28 19:40 20:38 21:40 22:30 23:35 24:27 25:27 26:32 27:44 28:31\nROM 1:32 2:29 3:31 4:25 5:21 6:23 7:25 8:39 9:33 10:21 11:36 12:21 13:14 14:26 15:33 16:24\n1CO 1:31 2:16 3:23 4:21 5:13 6:20 7:40 8:13 9:27 10:33 11:34 12:31 13:13 14:40 15:58 16:24\n2CO 1:24 2:17 3:18 4:18 5:21 6:18 7:16 8:24 9:15 10:18 11:32 12:21 13:13\nGAL 1:24 2:21 3:29 4:31 5:26 6:18\nEPH 1:23 2:22 3:21 4:32 5:33 6:24\nPHP 1:30 2:30 3:21 4:23\nCOL 1:29 2:23 3:25 4:18\n1TH 1:10 2:20 3:13 4:18 5:28\n2TH 1:12 2:17 3:18\n1TI 1:20 2:15 3:16 4:16 5:25 6:21\n2TI 1:18 2:26 3:17 4:22\nTIT 1:16 2:15 3:15\nPHM 1:25\nHEB 1:14 2:18 3:19 4:16 5:14 6:20 7:28 8:13 9:28 10:39 11:40 12:29 13:25\nJAS 1:27 2:26 3:18 4:17 5:20\n1PE 1:25 2:25 3:22 4:19 5:14\n2PE 1:21 2:22 3:18\n1JN 1:10 2:29 3:24 4:21 5:21\n2JN 1:13\n3JN 1:15\nJUD 1:25\nREV 1:20 2:29 3:22 4:11 5:14 6:17 7:17 8:13 9:21 10:11 11:19 12:17 13:18 14:20 15:8 16:21 17:18 18:24 19:21 20:15 21:27 22:21\n#---------------------------------------------\nTOB 1:22 2:14 3:17 4:21 5:22 6:18 7:17 8:21 9:6 10:13 11:18 12:22 13:18 14:15\nJDT 1:16 2:28 3:10 4:15 5:24 6:21 7:32 8:36 9:14 10:23 11:23 12:20 13:20 14:19 15:14 16:25\n# ESG added which ought to replace EST\nESG 1:22 2:23 3:15 4:17 5:14 6:14 7:10 8:17 9:32 10:3\nWIS 1:16 2:24 3:19 4:20 5:24 6:27 7:30 8:21 9:19 10:21 11:27 12:28 13:19 14:31 15:19 16:29 17:20 18:25 19:21\nSIR 1:30 2:18 3:31 4:35 5:18 6:37 7:39 8:22 9:23 10:34 11:34 12:18 13:32 14:27 15:20 16:31 17:31 18:33 19:28 20:31 21:31 22:31 23:37 24:37 25:29 26:27 27:33 28:30 29:31 30:27 31:37 32:25 33:33 34:26 35:23 36:29 37:34 38:39 39:42 40:32 41:29 42:26 43:36 44:27 45:31 46:23 47:31 48:28 49:18 50:31 51:38\nBAR 1:22 2:35 3:38 4:37 5:9\nLJE 1:72\n1MA 1:64 2:70 3:60 4:61 5:68 6:63 7:50 8:32 9:73 10:89 11:74 12:53 13:53 14:49 15:41 16:24\n2MA 1:36 2:33 3:40 4:50 5:27 6:31 7:42 8:36 9:29 10:38 11:38 12:45 13:26 14:46 15:39\n3MA 1:25 2:24 3:22 4:16 5:36 6:37 7:20\n1ES 1:58 2:31 3:24 4:63 5:70 6:34 7:15 8:92 9:55\n# in the Russian tradition the book of 1ES is called 2 Esdras [Studge]\n2ES 1:40 2:48 3:36 4:52 5:56 6:59 7:70 8:63 9:47 10:60 11:46 12:51 13:58 14:48 15:63 16:78\n# in the Russian tradition the book of 2ES is called 3 Esdras [Studge]\n# added Prayer of Manasseh which is appended to 2 Chronicles in RSO\nMAN 1:15\n#\n#----------------------------------------------\n# Mapping\n#----------------------------------------------\n# Russian = BHS (see org.vrs)\n#\n# (Note: ranges must not span a chapter, e.g. 4:10-5:11 is illegal)\n#\nGEN 31:55 = GEN 32:1\nGEN 32:1-32 = GEN 32:2-33\nEXO 8:1-4 = EXO 7:26-29\nEXO 8:5-32 = EXO 8:1-28\nEXO 22:1 = EXO 21:37\nEXO 22:2-31 = EXO 22:1-30\nLEV 6:1-7 = LEV 5:20-26\nLEV 6:8-30 = LEV 6:1-23\n# LEV 14:55 = LEV 14:55-56\nLEV 14:55 = LEV 14:55\nLEV 14:55 = LEV 14:56\nLEV 14:56 = LEV 14:57\nNUM 13:1 = NUM 12:16\nNUM 13:2-34 = NUM 13:1-33\nNUM 16:36-50 = NUM 17:1-15\nNUM 17:1-13 = NUM 17:16-28\nNUM 26:1 = NUM 25:19\nNUM 26:1 = NUM 26:1\nDEU 12:32 = DEU 13:1\nDEU 13:1-18 = DEU 13:2-19\nDEU 22:30 = DEU 23:1\nDEU 23:1-25 = DEU 23:2-26\nDEU 29:1 = DEU 28:69\nDEU 29:2-29 = DEU 29:1-28\nJOS 5:16 = JOS 6:1\nJOS 6:1-26 = JOS 6:2-27\n1SA 20:43 = 1SA 21:1\n1SA 21:1-15 = 1SA 21:2-16\n2SA 18:33 = 2SA 19:1\n2SA 19:1-43 = 2SA 19:2-44\n1KI 4:21-34 = 1KI 5:1-14\n1KI 5:1-18 = 1KI 5:15-32\n# 1KI 22:43 = 1KI 22:43-44\n1KI 22:43 = 1KI 22:43\n1KI 22:43 = 1KI 22:44\n1KI 22:44-53 = 1KI 22:45-54\n2KI 11:21 = 2KI 12:1\n2KI 12:1-21 = 2KI 12:2-22\n1CH 6:1-15 = 1CH 5:27-41\n1CH 6:16-81 = 1CH 6:1-66\n# 1CH 12:4 = 1CH 12:4-5\n1CH 12:4 = 1CH 12:4\n1CH 12:4 = 1CH 12:5\n1CH 12:5-40 = 1CH 12:6-41\n2CH 2:1 = 2CH 1:18\n2CH 2:2-18 = 2CH 2:1-17\n2CH 14:1 = 2CH 13:23\n2CH 14:2-15 = 2CH 14:1-14\n# All the 37th chapter maps across verse boundaries!\n#-----------------------\n# Prayer of Manasseh\n2CH 37:1 = MAN 1:1\n2CH 37:2 = MAN 1:2\n2CH 37:2 = MAN 1:3\n2CH 37:2 = MAN 1:4\n2CH 37:2 = MAN 1:5\n2CH 37:3 = MAN 1:5\n2CH 37:4 = MAN 1:6\n2CH 37:5 = MAN 1:7\n2CH 37:6 = MAN 1:7\n2CH 37:6 = MAN 1:8\n2CH 37:7 = MAN 1:8\n2CH 37:7 = MAN 1:9\n2CH 37:8 = MAN 1:9\n2CH 37:8 = MAN 1:10\n2CH 37:9 = MAN 1:10\n2CH 37:10 = MAN 1:10\n2CH 37:10 = MAN 1:11\n2CH 37:11 = MAN 1:12\n2CH 37:11 = MAN 1:13\n2CH 37:11 = MAN 1:14\n2CH 37:11 = MAN 1:15\n2CH 37:12 = MAN 1:15\n#--------------------------\nNEH 4:1-6 = NEH 3:33-38\nNEH 4:7-23 = NEH 4:1-17\n# NEH 7:67-68 = NEH 7:67\nNEH 7:67 = NEH 7:67\nNEH 7:68 = NEH 7:67\nNEH 7:69-73 = NEH 7:68-72\nNEH 9:38 = NEH 10:1\nNEH 10:1-39 = NEH 10:2-40\nJOB 39:31-35 = JOB 40:1-5\nJOB 40:1-19 = JOB 40:6-24\nJOB 40:20-27 = JOB 40:25-32\n# PSA 9 = 9+10\nPSA 9:22 = PSA 10:0\nPSA 9:22-39 = PSA 10:1-18\nPSA 10:0-7 = PSA 11:0-7\nPSA 11:0-9 = PSA 12:0-9\nPSA 12:0-6 = PSA 13:0-6\nPSA 13:0-7 = PSA 14:0-7\nPSA 14:0-5 = PSA 15:0-5\nPSA 15:0-11 = PSA 16:0-11\nPSA 16:0-15 = PSA 17:0-15\nPSA 17:0-51 = PSA 18:0-51\nPSA 18:0-15 = PSA 19:0-15\nPSA 19:0-10 = PSA 20:0-10\nPSA 20:0-14 = PSA 21:0-14\nPSA 21:0-32 = PSA 22:0-32\nPSA 22:0-6 = PSA 23:0-6\nPSA 23:0-10 = PSA 24:0-10\nPSA 24:0-22 = PSA 25:0-22\nPSA 25:0-12 = PSA 26:0-12\nPSA 26:0-14 = PSA 27:0-14\nPSA 27:0-9 = PSA 28:0-9\nPSA 28:0-11 = PSA 29:0-11\nPSA 29:0-13 = PSA 30:0-13\nPSA 30:0-25 = PSA 31:0-25\nPSA 31:0-11 = PSA 32:0-11\nPSA 32:0-22 = PSA 33:0-22\nPSA 33:0-23 = PSA 34:0-23\nPSA 34:0-28 = PSA 35:0-28\nPSA 35:0-13 = PSA 36:0-13\nPSA 36:0-40 = PSA 37:0-40\nPSA 37:0-23 = PSA 38:0-23\nPSA 38:0-14 = PSA 39:0-14\nPSA 39:0-18 = PSA 40:0-18\nPSA 40:0-14 = PSA 41:0-14\nPSA 41:0-12 = PSA 42:0-12\nPSA 42:0-5 = PSA 43:0-5\nPSA 43:0-27 = PSA 44:0-27\nPSA 44:0-18 = PSA 45:0-18\nPSA 45:0-12 = PSA 46:0-12\nPSA 46:0-10 = PSA 47:0-10\nPSA 47:0-15 = PSA 48:0-15\nPSA 48:0-21 = PSA 49:0-21\nPSA 49:0-23 = PSA 50:0-23\nPSA 50:0-21 = PSA 51:0-21\nPSA 51:0-11 = PSA 52:0-11\nPSA 52:0-7 = PSA 53:0-7\nPSA 53:0-9 = PSA 54:0-9\nPSA 54:0-24 = PSA 55:0-24\nPSA 55:0-14 = PSA 56:0-14\nPSA 56:0-12 = PSA 57:0-12\nPSA 57:0-12 = PSA 58:0-12\nPSA 58:0-18 = PSA 59:0-18\nPSA 59:0-14 = PSA 60:0-14\nPSA 60:0-9 = PSA 61:0-9\nPSA 61:0-13 = PSA 62:0-13\nPSA 62:0-12 = PSA 63:0-12\nPSA 63:0-11 = PSA 64:0-11\nPSA 64:0-14 = PSA 65:0-14\nPSA 65:0-20 = PSA 66:0-20\nPSA 66:0-8 = PSA 67:0-8\nPSA 67:0-36 = PSA 68:0-36\nPSA 68:0-37 = PSA 69:0-37\nPSA 69:0-6 = PSA 70:0-6\nPSA 70:0-24 = PSA 71:0-24\nPSA 71:0-20 = PSA 72:0-20\nPSA 72:0-28 = PSA 73:0-28\nPSA 73:0-23 = PSA 74:0-23\nPSA 74:0-11 = PSA 75:0-11\nPSA 75:0-13 = PSA 76:0-13\nPSA 76:0-21 = PSA 77:0-21\nPSA 77:0-72 = PSA 78:0-72\nPSA 78:0-13 = PSA 79:0-13\nPSA 79:0-20 = PSA 80:0-20\nPSA 80:0-17 = PSA 81:0-17\nPSA 81:0-8 = PSA 82:0-8\nPSA 82:0-19 = PSA 83:0-19\nPSA 83:0-13 = PSA 84:0-13\nPSA 84:0-14 = PSA 85:0-14\nPSA 85:0-17 = PSA 86:0-17\nPSA 86:0-1 = PSA 87:1\nPSA 86:2 = PSA 87:1\nPSA 86:2-7 = PSA 87:2-7\nPSA 87:0-19 = PSA 88:0-19\nPSA 88:0-53 = PSA 89:0-53\nPSA 89:0-1 = PSA 90:0-1\nPSA 89:2-6 = PSA 90:1-6\nPSA 89:7-17 = PSA 90:7-17\nPSA 90:0-16 = PSA 91:0-16\nPSA 91:0-16 = PSA 92:0-16\nPSA 92:0-5 = PSA 93:0-5\nPSA 93:0-23 = PSA 94:0-23\nPSA 94:0-11 = PSA 95:0-11\nPSA 95:0-13 = PSA 96:0-13\nPSA 96:0-12 = PSA 97:0-12\nPSA 97:0-9 = PSA 98:0-9\nPSA 98:0-9 = PSA 99:0-9\nPSA 99:0-5 = PSA 100:0-5\nPSA 100:0-8 = PSA 101:0-8\nPSA 101:0-29 = PSA 102:0-29\nPSA 102:0-22 = PSA 103:0-22\nPSA 103:0-35 = PSA 104:0-35\nPSA 104:0-45 = PSA 105:0-45\nPSA 105:0-48 = PSA 106:0-48\nPSA 106:0-43 = PSA 107:0-43\nPSA 107:0-14 = PSA 108:0-14\nPSA 108:0-31 = PSA 109:0-31\nPSA 109:0-7 = PSA 110:0-7\nPSA 110:0-10 = PSA 111:0-10\nPSA 111:0-10 = PSA 112:0-10\nPSA 112:0-9 = PSA 113:0-9\nPSA 113:0-8 = PSA 114:0-8\nPSA 113:9 = PSA 115:0\nPSA 113:9-26 = PSA 115:1-18\nPSA 114:0-8 = PSA 116:0-8\nPSA 114:8 = PSA 116:9\nPSA 115:0-10 = PSA 116:10-19\t\nPSA 116:0-2 = PSA 117:0-2\nPSA 117:0-29 = PSA 118:0-29\nPSA 118:0-176 = PSA 119:0-176\nPSA 119:0-7 = PSA 120:0-7\nPSA 120:0-8 = PSA 121:0-8\nPSA 121:0-9 = PSA 122:0-9\nPSA 122:0-4 = PSA 123:0-4\nPSA 123:0-8 = PSA 124:0-8\nPSA 124:0-5 = PSA 125:0-5\nPSA 125:0-6 = PSA 126:0-6\nPSA 126:0-5 = PSA 127:0-5\nPSA 127:0-6 = PSA 128:0-6\nPSA 128:0-8 = PSA 129:0-8\nPSA 129:0-8 = PSA 130:0-8\nPSA 130:0-3 = PSA 131:0-3\nPSA 131:0-18 = PSA 132:0-18\nPSA 132:0-3 = PSA 133:0-3\nPSA 133:0-3 = PSA 134:0-3\nPSA 134:0-21 = PSA 135:0-21\nPSA 135:0-26 = PSA 136:0-26\nPSA 136:0-9 = PSA 137:0-9\nPSA 137:0-8 = PSA 138:0-8\nPSA 138:0-24 = PSA 139:0-24\nPSA 139:0-14 = PSA 140:0-14\nPSA 140:0-10 = PSA 141:0-10\nPSA 141:0 = PSA 142:0\nPSA 141:1-7 = PSA 142:2-8\nPSA 142:0-12 = PSA 143:0-12\nPSA 143:0-15 = PSA 144:0-15\nPSA 144:0-21 = PSA 145:0-21\nPSA 145:0-10 = PSA 146:0-10\n# 146 + 147 -> 147\nPSA 146:0-11 = PSA 147:0-11\nPSA 147:0 = PSA 147:12\nPSA 147:1-9 = PSA 147:12-20\n#---------------------------\n# additional LXX Psalm\nPSA 151:1-7 = PS2 1:1-7\n#----------------------------\nPRO 13:15-26 = PRO 13:14-25\nPRO 18:9-25 = PRO 18:8-24\nSNG 1:1-16 = SNG 1:2-17\n# ISA 3:19 = ISA 3:19-20\nISA 3:19 = ISA 3:19\nISA 3:19 = ISA 3:20\nISA 3:20-25 = ISA 3:16-21\nISA 9:1 = ISA 8:23\nISA 9:2-21 = ISA 9:1-20\nISA 63:19 = ISA 63:19\nISA 64:1 = ISA 63:19\nISA 64:2-12 = ISA 64:1-11\nJER 9:1 = JER 8:23\nJER 9:2-26 = JER 9:1-25\nEZK 20:45-49 = EZK 21:1-5\nEZK 21:1-32 = EZK 21:6-37\nHOS 1:10-11 = HOS 2:1-2\nHOS 2:1-23 = HOS 2:3-25\nHOS 11:12 = HOS 12:1\nHOS 12:1-14 = HOS 12:2-15\nJOL 2:28-32 = JOL 3:1-5\nJOL 3:1-21 = JOL 4:1-21\nMIC 5:1 = MIC 4:14\nMIC 5:2-15 = MIC 5:1-14\nNAM 1:15 = NAM 2:1\nNAM 2:1-13 = NAM 2:2-14\nZEC 1:18-21 = ZEC 2:1-4\nZEC 2:1-13 = ZEC 2:5-17\nMAL 4:1-6 = MAL 3:19-24\nROM 14:24-26 = ROM 16:25-27\n# 2CO 11:32 = 2CO 11:32-33\n2CO 11:32 = 2CO 11:32\n2CO 11:32 = 2CO 11:33\n# REV 13:1 = REV 12:18-13:1\nREV 13:1 = REV 12:18\nREV 13:1 = REV 13:1\n#----------------------------\n2ES 7:36-70 = 2ES 7:106-140\n# 2ES 10:59-60 = 2ES 10:59\n2ES 10:59 = 2ES 10:59\n2ES 10:60 = 2ES 10:59\n#---------------------------------------------------------\n# Mapping 2 Esdras onto the older Apocalypse of Ezra [Studge]\n2ES 3:1-36 = EZA 1:1-36\n2ES 4:1-52 = EZA 2:1-52\n2ES 5:1-56 = EZA 3:1-56\n2ES 6:1-59 = EZA 4:1-59\n2ES 7:1-35 = EZA 5:1-35\n2ES 7:106-140 = EZA 5:36-70\n2ES 8:1-63 = EZA 6:1-63\n2ES 9:1-47 = EZA 7:1-47\n2ES 10:1-60 = EZA 8:1-60\n2ES 11:1-46 = EZA 9:1-46\n2ES 12:1-51 = EZA 10:1-51\n2ES 13:1-58 = EZA 11:1-58\n2ES 14:1-48 = EZA 12:1-48\n#----------------------------------------------------\n# Mapping Daniel to Hebrew Daniel and Greek additions [HAB]\nDAN 3:24-90 = DAG 3:24-90\nDAN 3:91-100 = DAN 3:24-33\n# Susanna\nDAN 13:1-64 = SUS 1:1-64\n# Bel and the Dragon\nDAN 14:1-42 = BEL 1:1-42\n#--------------------------------------------------\n# Mapping Esther Greek onto LXX Esther Greek\n#\n# This maps the standard verses generated by Create Book\n# to the actual verse numbers and segments found in the LXX\n# ESG chapter 1\nESG 1:1 = ESG 1:1a\nESG 1:2 = ESG 1:1b\nESG 1:3 = ESG 1:1c\nESG 1:4 = ESG 1:1d\nESG 1:5 = ESG 1:1e\nESG 1:6 = ESG 1:1f\nESG 1:7 = ESG 1:1g\nESG 1:8 = ESG 1:1h\nESG 1:9 = ESG 1:1i\nESG 1:10 = ESG 1:1k\nESG 1:11 = ESG 1:1l\nESG 1:12 = ESG 1:1m\nESG 1:13 = ESG 1:1n\nESG 1:14 = ESG 1:1o\nESG 1:15 = ESG 1:1p\nESG 1:16 = ESG 1:1q\nESG 1:17 = ESG 1:1r\nESG 1:18 = ESG 1:1s\nESG 1:19-39 = ESG 1:2-22\n# ESG chapter 3\nESG 3:14 = ESG 3:13a\nESG 3:15 = ESG 3:13b\nESG 3:16 = ESG 3:13c\nESG 3:17 = ESG 3:13d\nESG 3:18 = ESG 3:13e\nESG 3:19 = ESG 3:13f\nESG 3:20 = ESG 3:13g\nESG 3:21 = ESG 3:14\nESG 3:22 = ESG 3:15\n# ESG chapter 4\nESG 4:18 = ESG 4:17a\nESG 4:19 = ESG 4:17b\nESG 4:20 = ESG 4:17c\nESG 4:21 = ESG 4:17c\nESG 4:22 = ESG 4:17d\nESG 4:23 = ESG 4:17d\nESG 4:24 = ESG 4:17e\nESG 4:25 = ESG 4:17f\nESG 4:26 = ESG 4:17g\nESG 4:27 = ESG 4:17h\nESG 4:28 = ESG 4:17i\nESG 4:29 = ESG 4:17k\nESG 4:30 = ESG 4:17k\nESG 4:31 = ESG 4:17k\nESG 4:32 = ESG 4:17l\nESG 4:33 = ESG 4:17m\nESG 4:34 = ESG 4:17n\nESG 4:35 = ESG 4:17n\nESG 4:36 = ESG 4:17o\nESG 4:37 = ESG 4:17o\nESG 4:38 = ESG 4:17p\nESG 4:39 = ESG 4:17q\nESG 4:40 = ESG 4:17r\nESG 4:41 = ESG 4:17s\nESG 4:42 = ESG 4:17t\nESG 4:43 = ESG 4:17u\nESG 4:44 = ESG 4:17w\nESG 4:45 = ESG 4:17x\nESG 4:46 = ESG 4:17y\nESG 4:47 = ESG 4:17z\n# ESG chapter 5\nESG 5:2 = ESG 5:1a\nESG 5:3 = ESG 5:1a\nESG 5:4 = ESG 5:1a\nESG 5:5 = ESG 5:1b\nESG 5:6 = ESG 5:1c\nESG 5:7 = ESG 5:1d\nESG 5:8 = ESG 5:1e\nESG 5:9 = ESG 5:1f\nESG 5:10 = ESG 5:1f\nESG 5:11 = ESG 5:2\nESG 5:12 = ESG 5:2\nESG 5:13 = ESG 5:2a\nESG 5:14 = ESG 5:2a\nESG 5:15 = ESG 5:2b\nESG 5:16 = ESG 5:2b\nESG 5:17-28 = ESG 5:3-14\n# ESG chapter 8\nESG 8:13 = ESG 8:12a\nESG 8:14 = ESG 8:12b\nESG 8:15 = ESG 8:12c\nESG 8:16 = ESG 8:12d\nESG 8:17 = ESG 8:12e\nESG 8:18 = ESG 8:12f\nESG 8:19 = ESG 8:12g\nESG 8:20 = ESG 8:12h\nESG 8:21 = ESG 8:12i\nESG 8:22 = ESG 8:12k\nESG 8:23 = ESG 8:12l\nESG 8:24 = ESG 8:12m\nESG 8:25 = ESG 8:12n\nESG 8:26 = ESG 8:12o\nESG 8:27 = ESG 8:12p\nESG 8:28 = ESG 8:12q\nESG 8:29 = ESG 8:12r\nESG 8:30 = ESG 8:12s\nESG 8:31 = ESG 8:12t\nESG 8:32 = ESG 8:12u\nESG 8:33 = ESG 8:12x\nESG 8:34 = ESG 8:12y\nESG 8:35 = ESG 8:12y\nESG 8:36 = ESG 8:12y\nESG 8:37-41 = ESG 8:13-17\n# ESG chapter 10\nESG 10:4 = ESG 10:3a\nESG 10:5 = ESG 10:3b\nESG 10:6 = ESG 10:3c\nESG 10:7 = ESG 10:3d\nESG 10:8 = ESG 10:3e\nESG 10:9 = ESG 10:3f\nESG 10:10 = ESG 10:3g\nESG 10:11 = ESG 10:3h\nESG 10:12 = ESG 10:3i\nESG 10:13 = ESG 10:3k\nESG 10:14 = ESG 10:3l\n'},vul:{raw:"# Versification \"Vulgate\"\n# Version=1.5\n# \n# modifications by Studge 26/June/2009\n# this is for Bibles which follow the versification of the Vulgate, mainly Catholic Bibles\n# therefore this includes deuterocanonical books from Vulgate and Latin manuscripts\n# Vulgate projects in Paratext are VUL83 (Stuttgart text) and NVL98 (Nova Vulgata) [Studge]\n#\n# mapping for XXA -> PSA has been deleted [requested by RdB - Barb]\n# XXB has been moved to LAO [Barb] Jan 2011\n#\n# No mapping done for TOB, JDT and SIR, since they seem to follow another 'vorlage' than LXX\n# The versification of 2ES present here should become THE standard/original versification of this book! (Vulgate is 'the original' text of this book)\n#\n# List of books, chapters, verses\n# One line per book.\n# One entry for each chapter.\n# Verse number is the maximum verse number for that chapter.\n# See the lines containing ='s below for verse mappings.\n#\n#-----------------------------------------------------------\n# Old Testament\nGEN 1:31 2:25 3:24 4:26 5:32 6:22 7:24 8:22 9:29 10:32 11:32 12:20 13:18 14:24 15:21 16:16 17:27 18:33 19:38 20:18 21:34 22:24 23:20 24:67 25:34 26:35 27:46 28:22 29:35 30:43 31:55 32:32 33:20 34:31 35:29 36:43 37:36 38:30 39:23 40:23 41:57 42:38 43:34 44:34 45:28 46:34 47:31 48:22 49:32 50:25\nEXO 1:22 2:25 3:22 4:31 5:23 6:30 7:25 8:32 9:35 10:29 11:10 12:51 13:22 14:31 15:27 16:36 17:16 18:27 19:25 20:26 21:36 22:31 23:33 24:18 25:40 26:37 27:21 28:43 29:46 30:38 31:18 32:35 33:23 34:35 35:35 36:38 37:29 38:31 39:43 40:36\nLEV 1:17 2:16 3:17 4:35 5:19 6:30 7:38 8:36 9:24 10:20 11:47 12:8 13:59 14:57 15:33 16:34 17:16 18:30 19:37 20:27 21:24 22:33 23:44 24:23 25:55 26:45 27:34\nNUM 1:54 2:34 3:51 4:49 5:31 6:27 7:89 8:26 9:23 10:36 11:34 12:15 13:34 14:45 15:41 16:50 17:13 18:32 19:22 20:30 21:35 22:41 23:30 24:25 25:18 26:65 27:23 28:31 29:39 30:17 31:54 32:42 33:56 34:29 35:34 36:13\nDEU 1:46 2:37 3:29 4:49 5:33 6:25 7:26 8:20 9:29 10:22 11:32 12:32 13:18 14:29 15:23 16:22 17:20 18:22 19:21 20:20 21:23 22:30 23:25 24:22 25:19 26:19 27:26 28:68 29:29 30:20 31:30 32:52 33:29 34:12\nJOS 1:18 2:24 3:17 4:25 5:16 6:27 7:26 8:35 9:27 10:43 11:23 12:24 13:33 14:15 15:63 16:10 17:18 18:28 19:51 20:9 21:43 22:34 23:16 24:33\nJDG 1:36 2:23 3:31 4:24 5:32 6:40 7:25 8:35 9:57 10:18 11:40 12:15 13:25 14:20 15:20 16:31 17:13 18:31 19:30 20:48 21:24\nRUT 1:22 2:23 3:18 4:22\n1SA 1:28 2:36 3:21 4:22 5:12 6:21 7:17 8:22 9:27 10:27 11:15 12:25 13:23 14:52 15:35 16:23 17:58 18:30 19:24 20:43 21:15 22:23 23:28 24:23 25:44 26:25 27:12 28:25 29:11 30:31 31:13\n2SA 1:27 2:32 3:39 4:12 5:25 6:23 7:29 8:18 9:13 10:19 11:27 12:31 13:39 14:33 15:37 16:23 17:29 18:33 19:43 20:26 21:22 22:51 23:39 24:25\n1KI 1:53 2:46 3:28 4:34 5:18 6:38 7:51 8:66 9:28 10:29 11:43 12:33 13:34 14:31 15:34 16:34 17:24 18:46 19:21 20:43 21:29 22:54\n2KI 1:18 2:25 3:27 4:44 5:27 6:33 7:20 8:29 9:37 10:36 11:21 12:21 13:25 14:29 15:38 16:20 17:41 18:37 19:37 20:21 21:26 22:20 23:37 24:20 25:30\n1CH 1:54 2:55 3:24 4:43 5:26 6:81 7:40 8:40 9:44 10:14 11:46 12:40 13:14 14:17 15:29 16:43 17:27 18:17 19:19 20:7 21:30 22:19 23:32 24:31 25:31 26:32 27:34 28:21 29:30\n2CH 1:17 2:18 3:17 4:22 5:14 6:42 7:22 8:18 9:31 10:19 11:23 12:16 13:22 14:15 15:19 16:14 17:19 18:34 19:11 20:37 21:20 22:12 23:21 24:27 25:28 26:23 27:9 28:27 29:36 30:27 31:21 32:33 33:25 34:33 35:27 36:23\nEZR 1:11 2:70 3:13 4:24 5:17 6:22 7:28 8:36 9:15 10:44\n# EZR is for the Vulgate book called 1 Esdras\nNEH 1:11 2:20 3:31 4:23 5:19 6:19 7:73 8:18 9:38 10:39 11:36 12:46 13:31\n# NEH is for the Vulgate book called 2 Esdras\n#------------------------------------\n# In the Vulgate projects VUL83 Esther is the Greek Esther not Hebrew Esther, this definition is for Greek Esther. The book has been put under EST instead of ESG [Studge]\n# in VUL83 the definition of EST is\n#EST 1:22 2:23 3:15 4:17 5:14 6:14 7:10 8:17 9:32 10:13 11:12 12:6 13:18 14:19 15:19 16:24\n# in NVL98 Nova Vulgata the definition of EST is\nEST 1:32 2:23 3:15 4:47 5:28 6:14 7:10 8:41 9:32 10:13 \n# Note that chapter 3 v 15 is 15a-i\n# Note that chapter 4 v 47 is 17aa-kk\n#-----------------------------------\nJOB 1:22 2:13 3:26 4:21 5:27 6:30 7:21 8:22 9:35 10:22 11:20 12:25 13:28 14:22 15:35 16:23 17:16 18:21 19:29 20:29 21:34 22:30 23:17 24:25 25:6 26:14 27:23 28:28 29:25 30:31 31:40 32:22 33:33 34:37 35:16 36:33 37:24 38:41 39:35 40:28 41:25 42:16\nPSA 1:6 2:13 3:9 4:10 5:13 6:11 7:18 8:10 9:39 10:8 11:9 12:6 13:7 14:5 15:10 16:15 17:51 18:15 19:10 20:14 21:32 22:6 23:10 24:22 25:12 26:14 27:9 28:11 29:13 30:25 31:11 32:22 33:23 34:28 35:13 36:40 37:23 38:14 39:18 40:14 41:12 42:5 43:26 44:18 45:12 46:10 47:15 48:21 49:23 50:21 51:11 52:7 53:9 54:24 55:13 56:12 57:12 58:18 59:14 60:9 61:13 62:12 63:11 64:14 65:20 66:8 67:36 68:37 69:6 70:24 71:20 72:28 73:23 74:11 75:13 76:21 77:72 78:13 79:20 80:17 81:8 82:19 83:13 84:14 85:17 86:7 87:19 88:53 89:17 90:16 91:16 92:5 93:23 94:11 95:13 96:12 97:9 98:9 99:5 100:8 101:29 102:22 103:35 104:45 105:48 106:43 107:14 108:31 109:7 110:10 111:10 112:9 113:26 114:9 115:19 116:2 117:29 118:176 119:7 120:8 121:9 122:4 123:8 124:5 125:6 126:5 127:6 128:8 129:8 130:3 131:18 132:3 133:3 134:21 135:26 136:9 137:8 138:24 139:14 140:10 141:8 142:12 143:15 144:21 145:10 146:11 147:20 148:14 149:9 150:6\nPRO 1:33 2:22 3:35 4:27 5:23 6:35 7:27 8:36 9:18 10:32 11:31 12:28 13:25 14:35 15:33 16:33 17:28 18:24 19:29 20:30 21:31 22:29 23:35 24:34 25:28 26:28 27:27 28:28 29:27 30:33 31:31\nECC 1:18 2:26 3:22 4:17 5:19 6:11 7:30 8:17 9:18 10:20 11:10 12:14\nSNG 1:16 2:17 3:11 4:16 5:17 6:12 7:13 8:14\nISA 1:31 2:22 3:26 4:6 5:30 6:13 7:25 8:22 9:21 10:34 11:16 12:6 13:22 14:32 15:9 16:14 17:14 18:7 19:25 20:6 21:17 22:25 23:18 24:23 25:12 26:21 27:13 28:29 29:24 30:33 31:9 32:20 33:24 34:17 35:10 36:22 37:38 38:22 39:8 40:31 41:29 42:25 43:28 44:28 45:25 46:13 47:15 48:22 49:26 50:11 51:23 52:15 53:12 54:17 55:13 56:12 57:21 58:14 59:21 60:22 61:11 62:12 63:19 64:12 65:25 66:24\nJER 1:19 2:37 3:25 4:31 5:31 6:30 7:34 8:22 9:26 10:25 11:23 12:17 13:27 14:22 15:21 16:21 17:27 18:23 19:15 20:18 21:14 22:30 23:40 24:10 25:38 26:24 27:22 28:17 29:32 30:24 31:40 32:44 33:26 34:22 35:19 36:32 37:20 38:28 39:18 40:16 41:18 42:22 43:13 44:30 45:5 46:28 47:7 48:47 49:39 50:46 51:64 52:34\nLAM 1:22 2:22 3:66 4:22 5:22\nEZK 1:28 2:9 3:27 4:17 5:17 6:14 7:27 8:18 9:11 10:22 11:25 12:28 13:23 14:23 15:8 16:63 17:24 18:32 19:14 20:49 21:32 22:31 23:49 24:27 25:17 26:21 27:36 28:26 29:21 30:26 31:18 32:32 33:33 34:31 35:15 36:38 37:28 38:23 39:29 40:49 41:26 42:20 43:27 44:31 45:25 46:24 47:23 48:35\n#-------------------\n# Daniel in NVL98 has 14 chapters and is Greek LXX Daniel\n# the Additions to Daniel are repeated in S3Y, SUS and BEL in NVL98\n# in NVL98 and VUL83, DAN is used for Greek Daniel and it should be under DAG\nDAN 1:21 2:49 3:100 4:34 5:31 6:28 7:28 8:27 9:27 10:21 11:45 12:13 13:65 14:41\n#\n#--------------------\nHOS 1:11 2:24 3:5 4:19 5:15 6:11 7:16 8:14 9:17 10:15 11:12 12:14 13:15 14:10\nJOL 1:20 2:32 3:21\nAMO 1:15 2:16 3:15 4:13 5:27 6:15 7:17 8:14 9:15\nOBA 1:21\nJON 1:16 2:11 3:10 4:11\nMIC 1:16 2:13 3:12 4:13 5:14 6:16 7:20\nNAM 1:15 2:13 3:19\nHAB 1:17 2:20 3:19\nZEP 1:18 2:15 3:20\nHAG 1:14 2:24\nZEC 1:21 2:13 3:10 4:14 5:11 6:15 7:14 8:23 9:17 10:12 11:17 12:14 13:9 14:21\nMAL 1:14 2:17 3:18 4:6\n#--------------------------------------\n# New Testament books\nMAT 1:25 2:23 3:17 4:25 5:48 6:34 7:29 8:34 9:38 10:42 11:30 12:50 13:58 14:36 15:39 16:28 17:26 18:35 19:30 20:34 21:46 22:46 23:39 24:51 25:46 26:75 27:66 28:20\nMRK 1:45 2:28 3:35 4:40 5:43 6:56 7:37 8:39 9:49 10:52 11:33 12:44 13:37 14:72 15:47 16:20\nLUK 1:80 2:52 3:38 4:44 5:39 6:49 7:50 8:56 9:62 10:42 11:54 12:59 13:35 14:35 15:32 16:31 17:37 18:43 19:48 20:47 21:38 22:71 23:56 24:53\nJHN 1:51 2:25 3:36 4:54 5:47 6:72 7:53 8:59 9:41 10:42 11:57 12:50 13:38 14:31 15:27 16:33 17:26 18:40 19:42 20:31 21:25\nACT 1:26 2:47 3:26 4:37 5:42 6:15 7:59 8:40 9:43 10:48 11:30 12:25 13:52 14:27 15:41 16:40 17:34 18:28 19:40 20:38 21:40 22:30 23:35 24:27 25:27 26:32 27:44 28:31\nROM 1:32 2:29 3:31 4:25 5:21 6:23 7:25 8:39 9:33 10:21 11:36 12:21 13:14 14:23 15:33 16:27\n1CO 1:31 2:16 3:23 4:21 5:13 6:20 7:40 8:13 9:27 10:33 11:34 12:31 13:13 14:40 15:58 16:24\n2CO 1:24 2:17 3:18 4:18 5:21 6:18 7:16 8:24 9:15 10:18 11:33 12:21 13:13\nGAL 1:24 2:21 3:29 4:31 5:26 6:18\nEPH 1:23 2:22 3:21 4:32 5:33 6:24\nPHP 1:30 2:30 3:21 4:23\nCOL 1:29 2:23 3:25 4:18\n1TH 1:10 2:20 3:13 4:18 5:28\n2TH 1:12 2:17 3:18\n1TI 1:20 2:15 3:16 4:16 5:25 6:21\n2TI 1:18 2:26 3:17 4:22\nTIT 1:16 2:15 3:15\nPHM 1:25\nHEB 1:14 2:18 3:19 4:16 5:14 6:20 7:28 8:13 9:28 10:39 11:40 12:29 13:25\nJAS 1:27 2:26 3:18 4:17 5:20\n1PE 1:25 2:25 3:22 4:19 5:14\n2PE 1:21 2:22 3:18\n1JN 1:10 2:29 3:24 4:21 5:21\n2JN 1:13\n3JN 1:15\nJUD 1:25\nREV 1:20 2:29 3:22 4:11 5:14 6:17 7:17 8:13 9:21 10:11 11:19 12:18 13:18 14:20 15:8 16:21 17:18 18:24 19:21 20:15 21:27 22:21\n#-------------------------------------------------\n# Deuterocanonical books in the Catholic tradition\nTOB 1:25 2:23 3:25 4:23 5:28 6:22 7:20 8:24 9:12 10:13 11:21 12:22 13:23 14:17\nJDT 1:12 2:18 3:15 4:17 5:29 6:21 7:25 8:34 9:19 10:20 11:21 12:20 13:31 14:18 15:15 16:31\n#---------\n# ESG for Esther Greek has been put under EST in NVL98, a blank ESG was included in VUL83\n# this definition for ESG is for the full Esther Greek which is in the Vulgate NVL98 [Studge]\nESG 1:39 2:23 3:22 4:47 5:28 6:14 7:10 8:39 9:32 10:13\n#---------\nWIS 1:16 2:25 3:19 4:20 5:24 6:27 7:30 8:21 9:19 10:21 11:27 12:27 13:19 14:31 15:19 16:29 17:20 18:25 19:20\nSIR 1:40 2:23 3:34 4:36 5:18 6:37 7:40 8:22 9:25 10:34 11:36 12:19 13:32 14:27 15:22 16:31 17:31 18:33 19:28 20:33 21:31 22:33 23:38 24:47 25:36 26:28 27:33 28:30 29:35 30:27 31:42 32:28 33:33 34:31 35:26 36:28 37:34 38:39 39:41 40:32 41:28 42:26 43:37 44:27 45:31 46:23 47:31 48:28 49:19 50:31 51:38 52:13\nBAR 1:22 2:35 3:38 4:37 5:9 6:72\nLJE 1:72\n# NB Letter of Jeremiah is chapter 6 of Baruch in the Vulgate tradition [Studge]\n# the 3 additions to Daniel are part of Daniel in the Vulgate tradition [Studge]\nS3Y 1:67\nSUS 1:64\nBEL 1:42\n1MA 1:67 2:70 3:60 4:61 5:68 6:63 7:50 8:32 9:73 10:89 11:74 12:54 13:54 14:49 15:41 16:24\n2MA 1:36 2:33 3:40 4:50 5:27 6:31 7:42 8:36 9:29 10:38 11:38 12:46 13:26 14:46 15:40\n#--------------------------------------------------\n# Note that 3MA and 4MA are in the LXX tradition but not in the Vulgate, and not in VUL83 Latin critical text, but maybe in Interconfessional editions [Studge]\n3MA 1:29 2:33 3:30 4:21 5:51 6:41 7:23\n4MA 1:35 2:24 3:21 4:26 5:38 6:35 7:23 8:29 9:32 10:21 11:27 12:19 13:27 14:20 15:32 16:25 17:24 18:24\n#----------------------------------------------------\n# 1ES, 2ES, MAN and PS2 are in the Vulgate Apocrypha, but not in modern Catholic Bibles, but maybe in Interconfessional editions [Studge]\n1ES 1:58 2:31 3:24 4:63 5:73 6:34 7:15 8:97 9:56\n# 1ES is for the Vulgate book called 3 Esdras\n2ES 1:40 2:48 3:36 4:52 5:55 6:59 7:139 8:63 9:47 10:60 11:46 12:51 13:58 14:47 15:63 16:78\n# 2ES is for the Vulgate book called 4 Esdras\nMAN 1:15\nPS2 1:7\n#-----------------------------------------------------\n# ODA and PSS are only in LXX and SYR and not needed in any Vulgate manuscripts or any Catholic Bibles, I am not convinced they are needed in this versification file [Studge]\n#ODA 1:19 2:43 3:10 4:19 5:12 6:8 7:20 8:37 9:22 10:9 11:11 12:15 13:4 14:46\n#PSS 1:8 2:37 3:12 4:25 5:19 6:6 7:10 8:34 9:11 10:8 11:9 12:6 13:12 14:10 15:13 16:15 17:46 18:12\n#------------------------------------------------------\n# Variant LXX books, only used in LXX, now obselete in Paratext 7, never part of Vulgate\n# if these codes were used in any Vulgate versification projects they used the wrong code, and so the definitions are not relevant [Studge]\n# JSA 1:18 2:24 3:17 4:24 5:15 6:27 7:26 8:35 9:27 10:43 11:23 12:24 13:33 14:15 15:63 16:10 17:18 18:28 19:51 20:9 21:45 22:34 23:16 24:33\n# JDB 1:36 2:23 3:31 4:24 5:31 6:40 7:25 8:35 9:57 10:18 11:40 12:15 13:25 14:20 15:20 16:31 17:13 18:31 19:30 20:48 21:25\n# TBS 1:22 2:14 3:17 4:21 5:23 6:19 7:17 8:21 9:6 10:14 11:19 12:22 13:18 14:15\n# SST 1:64\n# DNT 1:21 2:49 3:97 4:37 5:30 6:29 7:28 8:27 9:27 10:21 11:45 12:13\n# BLT 1:42\n#------------------------------------------------------\n# add in versifications for 4,5 & 6 Ezra which are in Latin manuscripts [Studge]\n5EZ 1:40 2:48 \nEZA 1:36 2:52 3:55 4:59 5:139 6:63 7:47 8:60 9:46 10:51 11:58 12:47 \n6EZ 1:63 12:78\n#------------------------------------------------------\n# XXA and XXB books in project VUL83, left for backward compatability\n# XXA was used for a variant form of Psalms, but should be in a Latin Variant project [Studge]\n# XXA 1:6 2:13 3:9 4:10 5:13 6:11 7:18 8:10 9:39 10:8 11:9 12:6 13:7 14:5 15:10 16:15 17:51 18:15 19:10 20:14 21:32 22:6 23:10 24:22 25:12 26:14 27:9 28:11 29:13 30:25 31:11 32:22 33:23 34:28 35:13 36:40 37:23 38:14 39:18 40:14 41:12 42:5 43:26 44:18 45:12 46:10 47:15 48:21 49:23 50:21 51:11 52:7 53:9 54:24 55:13 56:12 57:12 58:18 59:14 60:9 61:13 62:12 63:11 64:14 65:20 66:8 67:36 68:37 69:6 70:24 71:20 72:28 73:23 74:11 75:13 76:21 77:72 78:13 79:20 80:17 81:8 82:19 83:13 84:14 85:17 86:7 87:19 88:53 89:17 90:16 91:16 92:5 93:23 94:11 95:13 96:12 97:9 98:9 99:5 100:8 101:29 102:22 103:35 104:45 105:48 106:43 107:14 108:31 109:7 110:10 111:10 112:9 113:26 114:9 115:19 116:2 117:29 118:176 119:7 120:8 121:9 122:4 123:8 124:5 125:6 126:5 127:6 128:8 129:8 130:3 131:18 132:3 133:3 134:21 135:26 136:9 137:8 138:24 139:14 140:10 141:8 142:12 143:15 144:21 145:10 146:11 147:20 148:14 149:9 150:6\n# XXB was used for the Letter to the Laodiceans, but should be under LAO [Studge]\n# XXB 1:20\n#----------------------------------------------------------\n# Daniel Greek is currently under DAN [Studge]\nDAG 1:21 2:49 3:97 4:37 5:31 6:28 7:28 8:27 9:27 10:21 11:45 12:13 13:64 14:42\n# Letter to the Laodiceans in the VUL83 and some mediaeval translations of the Vulgate e.g. John Wycliffe's English Bible, appeared after Revelation [Studge]\nLAO 1:20\n#----------------------------------------------------------\n# Mapping\n#----------------------------------------------------------\n# Vulgate = BHS (see org.vrs)\n#\n# (Note: for performance reasons ranges must not span a chapter, e.g. 4:10-5:11 is illegal)\n#\nGEN 31:55 = GEN 32:1\nGEN 32:1-32 = GEN 32:2-33\n# missing <- GEN 49:32\nGEN 49:31 = GEN 49:31\nGEN 49:31 = GEN 49:32\nGEN 49:32 = GEN 49:33\n# GEN 50:22 <- GEN 50:22-23\nGEN 50:22 = GEN 50:22\nGEN 50:22 = GEN 50:23\nGEN 50:23-25 = GEN 50:24-26\nEXO 8:1-4 = EXO 7:26-29\nEXO 8:5-32 = EXO 8:1-28\nEXO 22:1 = EXO 21:37\nEXO 22:2-31 = EXO 22:1-30\n# EXO 40:13 <- EXO 40:13-15\nEXO 40:13 = EXO 40:13\nEXO 40:13 = EXO 40:14\nEXO 40:13 = EXO 40:15\nEXO 40:14-36 = EXO 40:16-38\nLEV 6:1-7 = LEV 5:20-26\nLEV 6:8-30 = LEV 6:1-23\n# LEV 26:45 <- LEV 26:45-46\nLEV 26:45 = LEV 26:45\nLEV 26:45 = LEV 26:46\n# NUM 11:34 <- NUM 11:34-35\nNUM 11:34 = NUM 11:34\nNUM 11:34 = NUM 11:35\nNUM 13:1 = NUM 12:16\nNUM 13:2-34 = NUM 13:1-33\nNUM 16:36-50 = NUM 17:1-15\nNUM 17:1-13 = NUM 17:16-28\n# NUM 20:28-29 -> NUM 20:28\nNUM 20:28 = NUM 20:28\nNUM 20:29 = NUM 20:28\nNUM 20:30 = NUM 20:29\n# NUM 26:1 <- NUM 25:19--26:1\nNUM 26:1 = NUM 25:19\nNUM 26:1 = NUM 26:1\nDEU 12:32 = DEU 13:1\nDEU 13:1-18 = DEU 13:2-19\nDEU 22:30 = DEU 23:1\nDEU 23:1-25 = DEU 23:2-26\nDEU 29:1 = DEU 28:69\nDEU 29:2-29 = DEU 29:1-28\n# JOS 4:23-24 -> JOS 4:23\nJOS 4:23 = JOS 4:23\nJOS 4:24 = JOS 4:23\nJOS 4:25 = JOS 4:24\n# JOS 5:14-15 -> JOS 5:14\nJOS 5:14 = JOS 5:14\nJOS 5:15 = JOS 5:14\nJOS 5:16 = JOS 5:15\n# JOS 21:36 (missing) <- JOS 21:36-37\nJOS 21:36 = JOS 21:36\nJOS 21:36 = JOS 21:37\n# JOS 21:37 <- JOS 21:38-39\nJOS 21:37 = JOS 21:38\nJOS 21:37 = JOS 21:39\nJOS 21:38-43 = JOS 21:40-45\n# JDG 5:31-32 -> JDG 5:31\nJDG 5:31 = JDG 5:31\nJDG 5:32 = JDG 5:31\n# JDG 21:24 <- JDG 21:24-25\nJDG 21:24 = JDG 21:24\nJDG 21:24 = JDG 21:25\n1SA 20:43 = 1SA 21:1\n1SA 21:1-15 = 1SA 21:2-16\n2SA 18:33 = 2SA 19:1\n2SA 19:1-43 = 2SA 19:2-44\n1KI 4:21-34 = 1KI 5:1-14\n1KI 5:1-18 = 1KI 5:15-32\n2KI 11:21 = 2KI 12:1\n2KI 12:1-21 = 2KI 12:2-22\n1CH 6:1-15 = 1CH 5:27-41\n1CH 6:16-81 = 1CH 6:1-66\n# 1CH 11:46 <- 1CH 11:46-47\n1CH 11:46 = 1CH 11:46\n1CH 11:46 = 1CH 11:47\n# 1CH 12:4 <- 1CH 12:4-5\n1CH 12:4 = 1CH 12:4\n1CH 12:4 = 1CH 12:5\n1CH 12:5-40 = 1CH 12:6-41\n# 1CH 20:7 <- 1CH 20:7-8\n1CH 20:7 = 1CH 20:7\n1CH 20:7 = 1CH 20:8\n2CH 2:1 = 2CH 1:18\n2CH 2:2-18 = 2CH 2:1-17\n2CH 14:1 = 2CH 13:23\n2CH 14:2-15 = 2CH 14:1-14\n# NEH 3:30 <- NEH 3:30-31\nNEH 3:30 = NEH 3:30\nNEH 3:30 = NEH 3:31\nNEH 3:31 = NEH 3:32\nNEH 4:1-6 = NEH 3:33-38\nNEH 4:7-23 = NEH 4:1-17\n# NEH 7:68 (missing) -> NEH 7:67b\nNEH 7:67 = NEH 7:67\nNEH 7:68 = NEH 7:67\nNEH 7:69-73 = NEH 7:68-72\nNEH 9:38 = NEH 10:1\nNEH 10:1-39 = NEH 10:2-40\n# NEH 12:33 <- NEH 12:33-34\nNEH 12:33 = NEH 12:33\nNEH 12:33 = NEH 12:34\nNEH 12:34-46 = NEH 12:35-47\n# mapping EST onto ESG, it should map ESG onto EST\n#EST 10:4-13 = ESG 1:4-13\n#EST 11:1-12 = ESG 2:1-12\n#EST 12:1-6 = ESG 3:1-6\n#EST 13:1-18 = ESG 4:1-18\n#EST 14:1-19 = ESG 5:1-19\n#EST 15:1-16 = ESG 6:1-16\n#EST 16:1-24 = ESG 7:1-24\n# JOB 16:4-5 -> JOB 16:4\nJOB 16:4 = JOB 16:4\nJOB 16:5 = JOB 16:4\nJOB 16:6-23 = JOB 16:5-22\nJOB 39:31-35 = JOB 40:1-5\nJOB 40:1-27 = JOB 40:6-32\nJOB 40:28 = JOB 41:1\nJOB 41:1-25 = JOB 41:2-26\n# JOB 42:16 <- JOB 42:16-17\nJOB 42:16 = JOB 42:16\nJOB 42:16 = JOB 42:17\n# In PSA, the equivalent mappings (in chs. 1-9; 147-150) are given too, because XXA is mapped to PSA as well !!!\n# There could still be some errors regarding the irregular mapping of psalm titles (like in PSA 12:1 <- PSA 13:1-2)\nPSA 1:0-6 = PSA 1:0-6\nPSA 2:0-11 = PSA 2:0-11\n# PSA 2:12-13 -> PSA 2:12\nPSA 2:12 = PSA 2:12\nPSA 2:13 = PSA 2:12\nPSA 3:0-9 = PSA 3:0-9\nPSA 4:0-8 = PSA 4:0-8\n# PSA 4:9-10 -> PSA 4:9\nPSA 4:9 = PSA 4:9\nPSA 4:10 = PSA 4:9\nPSA 5:0-13 = PSA 5:0-13\nPSA 6:0-11 = PSA 6:0-11\nPSA 7:0-18 = PSA 7:0-18\nPSA 8:0-10 = PSA 8:0-10\nPSA 9:0-21 = PSA 9:0-21\nPSA 9:22 = PSA 10:0\nPSA 9:22-39 = PSA 10:1-18\n# PSA 10:1-2 -> PSA 11:1\nPSA 10:0-1 = PSA 11:0-1\nPSA 10:2 = PSA 11:1\nPSA 10:3-8 = PSA 11:2-7\nPSA 11:0-9 = PSA 12:0-9\n# PSA 12:1 <- PSA 13:1-2\nPSA 12:0-1 = PSA 13:0-1\nPSA 12:1 = PSA 13:2\n# PSA 12:2-3 -> PSA 13:3\nPSA 12:2 = PSA 13:3\nPSA 12:3 = PSA 13:3\nPSA 12:4-6 = PSA 13:4-6\nPSA 13:0-7 = PSA 14:0-7\nPSA 14:0-1 = PSA 15:0-1\n# PSA 14:3a = PSA 15:2b\nPSA 14:2 = PSA 15:2\nPSA 14:3 = PSA 15:2\nPSA 14:3 = PSA 15:3\nPSA 14:4-5 = PSA 15:4-5\nPSA 15:0-9 = PSA 16:0-9\n# PSA 15:10 <- PSA 16:10-11\nPSA 15:10 = PSA 16:10\nPSA 15:10 = PSA 16:11\nPSA 16:0-15 = PSA 17:0-15\nPSA 17:0-51 = PSA 18:0-51\nPSA 18:0-15 = PSA 19:0-15\nPSA 19:0-10 = PSA 20:0-10\nPSA 20:0-14 = PSA 21:0-14\nPSA 21:0-32 = PSA 22:0-32\nPSA 22:0-6 = PSA 23:0-6\nPSA 23:0-10 = PSA 24:0-10\nPSA 24:0-22 = PSA 25:0-22\nPSA 25:0-12 = PSA 26:0-12\nPSA 26:0-14 = PSA 27:0-14\nPSA 27:0-9 = PSA 28:0-9\nPSA 28:0-11 = PSA 29:0-11\nPSA 29:0-13 = PSA 30:0-13\nPSA 30:0-25 = PSA 31:0-25\nPSA 31:0-11 = PSA 32:0-11\nPSA 32:0-22 = PSA 33:0-22\nPSA 33:0-23 = PSA 34:0-23\nPSA 34:0-28 = PSA 35:0-28\nPSA 35:0-13 = PSA 36:0-13\nPSA 36:0-40 = PSA 37:0-40\nPSA 37:0-23 = PSA 38:0-23\nPSA 38:0-14 = PSA 39:0-14\nPSA 39:0-18 = PSA 40:0-18\nPSA 40:0-14 = PSA 41:0-14\nPSA 41:0-12 = PSA 42:0-12\nPSA 42:0-5 = PSA 43:0-5\nPSA 43:0-21 = PSA 44:0-21\n# PSA 43:22 <- PSA 44:22-23\nPSA 43:22 = PSA 44:22\nPSA 43:22 = PSA 44:23\nPSA 43:23-26 = PSA 44:24-27\nPSA 44:0-18 = PSA 45:0-18\nPSA 45:0-12 = PSA 46:0-12\nPSA 46:0-10 = PSA 47:0-10\nPSA 47:0-15 = PSA 48:0-15\nPSA 48:0-21 = PSA 49:0-21\nPSA 49:0-23 = PSA 50:0-23\nPSA 50:0-21 = PSA 51:0-21\nPSA 51:0-11 = PSA 52:0-11\nPSA 52:0-7 = PSA 53:0-7\nPSA 53:0-9 = PSA 54:0-9\nPSA 54:0-24 = PSA 55:0-24\nPSA 55:0-10 = PSA 56:0-10\n# PSA 55:11 <- PSA 56:11-12\nPSA 55:11 = PSA 56:11\nPSA 55:11 = PSA 56:12\nPSA 55:12-13 = PSA 56:13-14\nPSA 56:0-12 = PSA 57:0-12\nPSA 57:0-12 = PSA 58:0-12\nPSA 58:0-18 = PSA 59:0-18\nPSA 59:0-14 = PSA 60:0-14\nPSA 60:0-9 = PSA 61:0-9\nPSA 61:0-13 = PSA 62:0-13\nPSA 62:0-12 = PSA 63:0-12\nPSA 63:0-11 = PSA 64:0-11\nPSA 64:0-14 = PSA 65:0-14\nPSA 65:0-20 = PSA 66:0-20\nPSA 66:0-8 = PSA 67:0-8\nPSA 67:0-36 = PSA 68:0-36\nPSA 68:0-37 = PSA 69:0-37\nPSA 69:0-6 = PSA 70:0-6\nPSA 70:0-24 = PSA 71:0-24\nPSA 71:0-20 = PSA 72:0-20\nPSA 72:0-28 = PSA 73:0-28\nPSA 73:0-23 = PSA 74:0-23\nPSA 74:0-11 = PSA 75:0-11\nPSA 75:0-13 = PSA 76:0-13\nPSA 76:0-21 = PSA 77:0-21\nPSA 77:0-72 = PSA 78:0-72\nPSA 78:0-13 = PSA 79:0-13\nPSA 79:0-20 = PSA 80:0-20\nPSA 80:0-17 = PSA 81:0-17\nPSA 81:0-8 = PSA 82:0-8\nPSA 82:0-19 = PSA 83:0-19\nPSA 83:0-13 = PSA 84:0-13\nPSA 84:0-14 = PSA 85:0-14\nPSA 85:0-17 = PSA 86:0-17\nPSA 86:0-7 = PSA 87:0-7\nPSA 87:0-19 = PSA 88:0-19\nPSA 88:0-53 = PSA 89:0-53\nPSA 89:0-17 = PSA 90:0-17\nPSA 90:0-16 = PSA 91:0-16\nPSA 91:0-16 = PSA 92:0-16\nPSA 92:0-5 = PSA 93:0-5\nPSA 93:0-23 = PSA 94:0-23\nPSA 94:0-11 = PSA 95:0-11\nPSA 95:0-13 = PSA 96:0-13\nPSA 96:0-12 = PSA 97:0-12\nPSA 97:0-9 = PSA 98:0-9\nPSA 98:0-9 = PSA 99:0-9\nPSA 99:0-5 = PSA 100:0-5\nPSA 100:0-8 = PSA 101:0-8\nPSA 101:0-29 = PSA 102:0-29\nPSA 102:0-22 = PSA 103:0-22\nPSA 103:0-35 = PSA 104:0-35\nPSA 104:0-45 = PSA 105:0-45\nPSA 105:0-48 = PSA 106:0-48\nPSA 106:0-43 = PSA 107:0-43\nPSA 107:0-14 = PSA 108:0-14\nPSA 108:0-31 = PSA 109:0-31\nPSA 109:0-7 = PSA 110:0-7\nPSA 110:0-10 = PSA 111:0-10\nPSA 111:0-10 = PSA 112:0-10\nPSA 112:0-9 = PSA 113:0-9\nPSA 113:0-8 = PSA 114:0-8\nPSA 113:9 = PSA 115:0\nPSA 113:9-26 = PSA 115:1-18\nPSA 114:1-9 = PSA 116:1-9\n# What does 115:1-9 map to? this seems very wrong\nPSA 115:10-19 = PSA 116:10-19\nPSA 116:0-2 = PSA 117:0-2\nPSA 117:0-29 = PSA 118:0-29\nPSA 118:0-176 = PSA 119:0-176\nPSA 119:0-7 = PSA 120:0-7\nPSA 120:0-8 = PSA 121:0-8\nPSA 121:0-9 = PSA 122:0-9\nPSA 122:0-4 = PSA 123:0-4\nPSA 123:0-8 = PSA 124:0-8\nPSA 124:0-5 = PSA 125:0-5\nPSA 125:0-6 = PSA 126:0-6\nPSA 126:0-5 = PSA 127:0-5\nPSA 127:0-6 = PSA 128:0-6\nPSA 128:0-8 = PSA 129:0-8\nPSA 129:0-8 = PSA 130:0-8\nPSA 130:0-3 = PSA 131:0-3\nPSA 131:0-18 = PSA 132:0-18\nPSA 132:0-3 = PSA 133:0-3\nPSA 133:0-3 = PSA 134:0-3\nPSA 134:0-21 = PSA 135:0-21\nPSA 135:0-26 = PSA 136:0-26\nPSA 136:0-9 = PSA 137:0-9\nPSA 137:0-8 = PSA 138:0-8\nPSA 138:0-24 = PSA 139:0-24\nPSA 139:0-14 = PSA 140:0-14\nPSA 140:0-10 = PSA 141:0-10\nPSA 141:0-8 = PSA 142:0-8\nPSA 142:0-12 = PSA 143:0-12\nPSA 143:0-15 = PSA 144:0-15\nPSA 144:0-21 = PSA 145:0-21\n# PSA 145:2a = PSA 146:1b\nPSA 145:0-1 = PSA 146:0-1\nPSA 145:2 = PSA 146:1\nPSA 145:2 = PSA 146:2\nPSA 145:3-10 = PSA 146:3-10\nPSA 146:0-11 = PSA 147:0-11\nPSA 147:12-20 = PSA 147:12-20\nPSA 148:0-14 = PSA 148:0-14\nPSA 149:0-9 = PSA 149:0-9\nPSA 150:0-6 = PSA 150:0-6\nECC 7:1 = ECC 6:12\nECC 7:2-30 = ECC 7:1-29\nSNG 1:1 = SNG 1:1\nSNG 1:1-16 = SNG 1:2-17\nSNG 5:17 = SNG 6:1\nSNG 6:1-11 = SNG 6:2-12\n# SNG 6:12 -> SNG 7:1a\n# SNG 7:1 <- SNG 7:1b-2\n# or: SNG 6:12--7:1 = SNG 7:1-2\nSNG 6:12 = SNG 7:1\nSNG 7:1 = SNG 7:1\nSNG 7:1 = SNG 7:2\nSNG 7:2-13 = SNG 7:3-14\n# ISA 8:22d = ISA 8:23a\nISA 8:22 = ISA 8:22\nISA 8:22 = ISA 8:23\nISA 9:1 = ISA 8:23\nISA 9:2-21 = ISA 9:1-20\n# ISA 9:20d = ISA 9:20ab\nISA 9:20 = ISA 9:19\nISA 9:20 = ISA 9:20\nISA 9:21 = ISA 9:20\n# ISA 64:1 -> ISA 63:19cd\nISA 63:19 = ISA 63:19\nISA 64:1 = ISA 63:19\nISA 64:2-12 = ISA 64:1-11\nJER 9:1 = JER 8:23\nJER 9:2-26 = JER 9:1-25\n# JER 37:4 <- JER 37:4-5\nJER 37:4 = JER 37:4\nJER 37:4 = JER 37:5\nJER 37:5-20 = JER 37:6-21\n# EZK 2:9 <- EZK 2:9-10\nEZK 2:9 = EZK 2:9\nEZK 2:9 = EZK 2:10\nEZK 20:45-49 = EZK 21:1-5\nEZK 21:1-32 = EZK 21:6-37\nDAN 3:24-90 = S3Y 1:1-67\nDAN 3:91-100 = DAN 3:24-33\nDAN 5:31 = DAN 6:1\nDAN 6:1-28 = DAN 6:2-29\nDAN 13:1-64 = SUS 1:1-64\nDAN 13:65 = BEL 1:1\nDAN 14:1 = BEL 1:1\nDAN 14:2-41 = BEL 1:2-41\nHOS 1:10-11 = HOS 2:1-2\nHOS 2:1-22 = HOS 2:3-24\n# HOS 2:23-24 -> HOS 2:25\nHOS 2:23 = HOS 2:25\nHOS 2:24 = HOS 2:25\nHOS 11:12 = HOS 12:1\nHOS 12:1-14 = HOS 12:2-15\nJOL 2:28-32 = JOL 3:1-5\nJOL 3:1-21 = JOL 4:1-21\n# AMO 6:10-11 -> AMO 6:10\nAMO 6:10 = AMO 6:10\nAMO 6:11 = AMO 6:10\nAMO 6:12-15 = AMO 6:11-14\nMIC 5:1 = MIC 4:14\nMIC 5:2-10 = MIC 5:1-9\n# MIC 5:11 <- MIC 5:10-11\nMIC 5:11 = MIC 5:10\nMIC 5:11 = MIC 5:11\n# MIC 5:12-14 = MIC 5:12-14\nJON 1:17 = JON 2:1\nJON 2:1-10 = JON 2:2-11\nNAM 1:15 = NAM 2:1\nNAM 2:1-13 = NAM 2:2-14\nHAG 2:1 = HAG 1:15\nHAG 2:2-24 = HAG 2:1-23\nZEC 1:18-21 = ZEC 2:1-4\nZEC 2:1-13 = ZEC 2:5-17\nMAL 4:1-6 = MAL 3:19-24\n#\n#\n# Mapping\n# Vulgate = UBS GNT\n#\n#\n# MAT 17:14 <- MAT 17:14-15\nMAT 17:15-26 = MAT 17:16-27\n# MRK 4:40 <- MRK 4:40-41\nMRK 4:40 = MRK 4:40\nMRK 4:40 = MRK 4:41\nMRK 8:39 = MRK 9:1\nMRK 9:1-49 = MRK 9:2-50\n# JHN 6:51-52 -> JHN 6:51\nJHN 6:51 = JHN 6:51\nJHN 6:52 = JHN 6:51\nJHN 6:53-72 = JHN 6:52-71\n# ACT 7:55 <- ACT 7:55-56\nACT 7:55 = ACT 7:55\nACT 7:55 = ACT 7:56\nACT 7:56-59 = ACT 7:57-60\n# ACT 14:6 <- ACT 14:6-7\nACT 14:6 = ACT 14:6\nACT 14:6 = ACT 14:7\nACT 14:7-27 = ACT 14:8-28\n#\n#\n#\n# Mapping\n# Vulgate = +/-LXX\n#\n#\n# WIS 2:24-25 -> WIS 2:24\nWIS 2:24 = WIS 2:24\nWIS 2:25 = WIS 2:24\n# WIS 5:13-14 -> WIS 5:13\nWIS 5:13 = WIS 5:13\nWIS 5:14 = WIS 5:13\nWIS 5:15-24 = WIS 5:14-23\n# WIS 6:1 -> missing\nWIS 6:2-21 = WIS 6:1-20\nWIS 6:22 = WIS 6:21\nWIS 6:23 = WIS 6:21\n# WIS 6:23 -> missing\nWIS 6:24-27 = WIS 6:22-25\n# WIS 9:18-19 -> WIS 9:18\nWIS 9:18 = WIS 9:18\nWIS 9:19 = WIS 9:18\n# WIS 11:5-6 -> WIS 11:5\nWIS 11:5 = WIS 11:5\nWIS 11:6 = WIS 11:5\nWIS 11:7-27 = WIS 11:6-26\n# WIS 19:12 <- WIS 19:12-13\nWIS 19:12 = WIS 19:12\nWIS 19:12 = WIS 19:13\nWIS 19:13-19 = WIS 19:14-20\n# WIS 19:20 <- WIS 19:21-22\nWIS 19:20 = WIS 19:21\nWIS 19:20 = WIS 19:22\nBAR 6:1-72 = LJE 1:1-72\n# 1MA 1:4-5 -> 1MA 1:4\n1MA 1:4 = 1MA 1:4\n1MA 1:5 = 1MA 1:4\n1MA 1:6-31 = 1MA 1:5-30\n# 1MA 1:31-32 -> 1MA 1:30\n1MA 1:31 = 1MA 1:30\n1MA 1:32 = 1MA 1:30\n1MA 1:33-35 = 1MA 1:31-33\n# 1MA 1:36ab <- 1MA 1:34\n# 1MA 1:36bc = 1MA 1:35a\n# 1MA 1:37 -> 1MA 1:35b\n1MA 1:36 = 1MA 1:34\n1MA 1:36 = 1MA 1:35\n1MA 1:37 = 1MA 1:35\n1MA 1:38-46 = 1MA 1:36-44\n# 1MA 1:47-48 -> 1MA 1:45\n1MA 1:47 = 1MA 1:45\n1MA 1:48 = 1MA 1:45\n1MA 1:49-67 = 1MA 1:46-64\n# 1MA 12:53-54 -> 1MA 12:53\n1MA 12:53 = 1MA 12:53\n1MA 12:54 = 1MA 12:53\n# 1MA 13:52-53 -> 1MA 13:52\n1MA 13:52 = 1MA 13:52\n1MA 13:53 = 1MA 13:52\n1MA 13:54 = 1MA 13:53\n# 2MA 2:18-19 -> 2MA 2:18\n2MA 2:18 = 2MA 2:18\n2MA 2:19 = 2MA 2:18\n2MA 2:20-33 = 2MA 2:19-32\n# 2MA 12:45-46 -> 2MA 12:45\n2MA 12:45 = 2MA 12:45\n2MA 12:46 = 2MA 12:45\n# 2MA 15:36-37 -> 2MA 15:36\n2MA 15:36 = 2MA 15:36\n2MA 15:37 = 2MA 15:36\n2MA 15:38-40 = 2MA 15:37-39\n#\n#\n# For 1ES the mapping info is taken from the Bible Works program\n# mapping Vulgate onto LXX\n#\n1ES 1:4 = 1ES 1:3\n1ES 1:4 = 1ES 1:4\n1ES 1:5 = 1ES 1:4\n1ES 1:5 = 1ES 1:5\n1ES 1:10 = 1ES 1:10\n1ES 1:10 = 1ES 1:11\n1ES 1:11 = 1ES 1:12\n1ES 1:12 = 1ES 1:13\n1ES 1:13 = 1ES 1:13\n1ES 1:13 = 1ES 1:14\n1ES 1:14 = 1ES 1:14\n1ES 1:15 = 1ES 1:15\n1ES 1:16 = 1ES 1:15\n1ES 1:17 = 1ES 1:16\n1ES 1:18 = 1ES 1:16\n1ES 1:19-50 = 1ES 1:17-48\n1ES 1:51 = 1ES 1:49\n1ES 1:52 = 1ES 1:49\n1ES 1:53-58 = 1ES 1:50-55\n1ES 2:1 = 1ES 2:1\n1ES 2:2 = 1ES 2:1\n1ES 2:3 = 1ES 2:2\n1ES 2:4 = 1ES 2:2\n1ES 2:5 = 1ES 2:3\n1ES 2:6 = 1ES 2:4\n1ES 2:7 = 1ES 2:4\n1ES 2:8 = 1ES 2:5\n1ES 2:9 = 1ES 2:6\n1ES 2:10 = 1ES 2:7\n1ES 2:11 = 1ES 2:8\n1ES 2:12 = 1ES 2:8\n1ES 2:13 = 1ES 2:9\n1ES 2:13 = 1ES 2:10\n1ES 2:14 = 1ES 2:11\n1ES 2:15 = 1ES 2:11\n1ES 2:16-19 = 1ES 2:12-15\n1ES 2:20 = 1ES 2:16\n1ES 2:21 = 1ES 2:16\n1ES 2:22 = 1ES 2:17\n1ES 2:23 = 1ES 2:17\n1ES 2:24 = 1ES 2:18\n1ES 2:25 = 1ES 2:19\n1ES 2:26 = 1ES 2:20\n1ES 2:26 = 1ES 2:21\n1ES 2:27 = 1ES 2:21\n1ES 2:27 = 1ES 2:22\n1ES 2:28 = 1ES 2:23\n1ES 2:29 = 1ES 2:24\n1ES 2:30 = 1ES 2:25\n1ES 2:30 = 1ES 2:26\n1ES 3:14 = 1ES 3:14\n1ES 3:15 = 1ES 3:14\n1ES 3:16 = 1ES 3:15\n1ES 3:17 = 1ES 3:16\n1ES 3:17 = 1ES 3:17\n1ES 4:10 = 1ES 4:10\n1ES 4:10 = 1ES 4:11\n1ES 4:11 = 1ES 4:11\n1ES 4:33 = 1ES 4:33\n1ES 4:33 = 1ES 4:34\n1ES 4:39 = 1ES 4:39\n1ES 4:40 = 1ES 4:39\n1ES 4:40 = 1ES 4:40\n1ES 5:41 = 1ES 5:41\n1ES 5:42 = 1ES 5:41\n1ES 5:43-53 = 1ES 5:42-52\n1ES 5:54 = 1ES 5:53\n1ES 5:55 = 1ES 5:53\n1ES 5:56 = 1ES 5:54\n1ES 5:57 = 1ES 5:55\n1ES 5:58 = 1ES 5:56\n1ES 5:58 = 1ES 5:57\n1ES 5:59 = 1ES 5:57\n1ES 5:60 = 1ES 5:57\n1ES 5:61-72 = 1ES 5:58-69\n1ES 5:73 = 1ES 5:70\n1ES 5:73 = 1ES 5:71\n1ES 6:8 = 1ES 6:8\n1ES 6:9 = 1ES 6:8\n1ES 6:10-34 = 1ES 6:9-33\n1ES 8:5 = 1ES 8:5\n1ES 8:6 = 1ES 8:5\n1ES 8:6 = 1ES 8:6\n1ES 8:13 = 1ES 8:13\n1ES 8:14 = 1ES 8:13\n1ES 8:14 = 1ES 8:14\n1ES 8:19 = 1ES 8:19\n1ES 8:20 = 1ES 8:19\n1ES 8:20 = 1ES 8:20\n1ES 8:43 = 1ES 8:43\n1ES 8:44 = 1ES 8:43\n1ES 8:45-49 = 1ES 8:44-48\n1ES 8:50 = 1ES 8:49\n1ES 8:50 = 1ES 8:50\n1ES 8:56 = 1ES 8:56\n1ES 8:57 = 1ES 8:56\n1ES 8:58-62 = 1ES 8:57-61\n1ES 8:63 = 1ES 8:62\n1ES 8:64 = 1ES 8:62\n1ES 8:65 = 1ES 8:63\n1ES 8:66 = 1ES 8:63\n1ES 8:67-85 = 1ES 8:64-82\n1ES 8:86 = 1ES 8:83\n1ES 8:86 = 1ES 8:84\n1ES 8:87 = 1ES 8:84\n1ES 8:88-92 = 1ES 8:85-89\n1ES 8:93 = 1ES 8:90\n1ES 8:94 = 1ES 8:90\n1ES 8:95 = 1ES 8:91\n1ES 8:96 = 1ES 8:92\n#\n#--------------------------------------------------------------------------\n# mapping XXA onto PSA, XXA should be in a variant Vulgate project [Studge]\n# Both PSA and XXA are synchronized to PSA in the original versification.\n# Is this allowed???\n# by request of RdB, XXA mapping to PSA has been deleted - [Barb] 20110127\n# XXA has been moved to PSA and the old PSA is now the Resource VULGP83 [Barb]\n# There could still be some errors regarding the irregular mapping of psalm titles (like in PSA 12:1 <- PSA 13:1-2)\n#\n#\n#-------------------------------------------------------\n# Removing the following lines (FB 52696)\n#2ES 3:1-36 = EZA 1:1-36\n#2ES 4:1-52 = EZA 2:1-52\n#2ES 5:1-56 = EZA 3:1-56\n#2ES 6:1-59 = EZA 4:1-59\n#2ES 7:1-35 = EZA 5:1-35\n#2ES 7:106-140 = EZA 5:36-70\n#2ES 8:1-63 = EZA 6:1-63\n#2ES 9:1-47 = EZA 7:1-47\n#2ES 10:1-60 = EZA 8:1-60\n#2ES 11:1-46 = EZA 9:1-46\n#2ES 12:1-51 = EZA 10:1-51\n#2ES 13:1-58 = EZA 11:1-58\n#2ES 14:1-48 = EZA 12:1-48\n#-----------------------------------------------------\n# map Letter to the Laodiceans [Studge]\n# XXB 1:1-7 = LAO 1:1-7\n#-----------------------------------------------------\n# map Esther Greek onto Hebrew Esther [Studge]\n# to be added in\n#-----------------------------------------------------\n# Mapping Additions to Daniel onto Hebrew Daniel [Studge]\nDAG 1:1-21 = DAN 1:1-21\nDAG 2:1-49 = DAN 2:1-49\nDAG 3:24-52 = S3Y 1:1-29\nDAG 3:52-23 = S3Y 1:30-31\nDAG 3:54 = S3Y 1:33\nDAG 3:55 = S3Y 1:32\nDAG 3:56-57 = S3Y 1:34-35\nDAG 3:58 = S3Y 1:37\nDAG 3:59 = S3Y 1:36\nDAG 3:60-90 = S3Y 1:38-68\nDAG 3:91-97 = DAN 3:24-30\nDAG 4:1-3 = DAN 3:31-33\nDAG 4:4-37 = DAN 4:1-34\nDAG 5:1-31 = DAN 5:1-31\nDAG 6:1-28 = DAN 6:1-28\nDAG 7:1-28 = DAN 7:1-28\nDAG 8:1-27 = DAN 8:1-27\nDAG 9:1-27 = DAN 9:1-27\nDAG 10:1-21 = DAN 10:1-21\nDAG 11:1-45 = DAN 11:1-45 \nDAG 12:1-13 = DAN 12:1-13\n# Susanna\nDAG 13:1-63 = SUS 1:63\n# Bel and the Dragon\nDAG 14:1-42 = BEL 1:42\n#-------------------------------------------------------\n"}},md=/^([A-Z0-9]{3}) (([0-9]+:[0-9]+) ?)*$/;for(var[Sd,yd]of Object.entries(hd)){yd.cv={};var gd=yd.raw.split("\n").filter((e=>e.match(md)));if(gd)for(var vd of gd){var bd=vd.slice(0,3);for(var Ed of(yd.cv[bd]={},vd.substr(4).split(" "))){var[Ad,Td]=Ed.split(":");yd.cv[bd][Ad]=Td}}}const wd=hd;var kd,Pd,Id='\n"""The top level of Proskomma queries"""\ntype Query {\n """The id of the processor, which is different for each Proskomma instance"""\n id: String!\n """A string describing the processor class"""\n processor: String!\n """The NPM package version"""\n packageVersion: String!\n """The selectors used to define docSets"""\n selectors: [selectorSpec!]!\n """The number of docSets"""\n nDocSets: Int!\n """The docSets in the processor"""\n docSets(\n """A whitelist of ids of docSets to include"""\n ids: [String!]\n """Only return docSets that match the list of selector values"""\n withSelectors: [InputKeyValue!]\n """Only return docSets containing a document with the specified bookCode"""\n withBook: String\n """Only return docSets with all the specified tags"""\n withTags: [String!]\n """Only return docSets with none of the specified tags"""\n withoutTags: [String!]\n ): [DocSet!]!\n """The docSet with the specified id"""\n docSet(\n """The id of the docSet"""\n id: String!\n ): DocSet\n """The number of documents in the processor"""\n nDocuments: Int!\n """The documents in the processor"""\n documents(\n """A whitelist of ids of documents to include"""\n ids: [String!]\n """Only return documents with the specified bookCode"""\n withBook: String\n """Only return documents with the specified header key/values"""\n withHeaderValues: [InputKeyValue!]\n """Only return documents with all the specified tags"""\n withTags: [String!]\n """Only return documents with none of the specified tags"""\n withoutTags: [String!]\n """Sort returned documents by the designated method (currently '+Object.keys(ld).join(", ")+')"""\n sortedBy: String\n ): [Document!]!\n """The document with the specified id, or the specified docSet and withBook"""\n document(\n """The id of the document"""\n id: String\n """The docSet of the document (use with withBook)"""\n docSetId: String\n """The book of the document (use with docSetId)"""\n withBook: String\n ) : Document\n """Reference information about standard versifications"""\n versifications: [versification!]!\n """Reference information about a named, standard versification"""\n versification(\n """The id of the versification"""\n id: String!\n ) : versification!\n}\n',Nd={id:e=>e.processorId,selectors:e=>e.selectors,docSets:(e,t)=>{var n=("withBook"in t?e.docSetsWithBook(t.withBook):Object.values(e.docSets)).filter((e=>!t.ids||t.ids.includes(e.id)));return t.withSelectors&&(n=n.filter((e=>((e,t)=>{for(var n of t)if(e.selectors[n.key].toString()!==n.value)return!1;return!0})(e,t.withSelectors)))),t.withTags&&(n=n.filter((e=>t.withTags.filter((t=>e.tags.has(t))).length===t.withTags.length))),t.withoutTags&&(n=n.filter((e=>0===t.withoutTags.filter((t=>e.tags.has(t))).length))),n},docSet:(e,t)=>e.docSetById(t.id),documents:(e,t)=>{var n=t.withBook?e.documentsWithBook(t.withBook):e.documentList();if(n=n.filter((e=>!t.ids||t.ids.includes(e.id))),t.withHeaderValues&&(n=n.filter((e=>((e,t)=>{for(var n of t||[])if(!(n.key in e)||e[n.key]!==n.value)return!1;return!0})(e.headers,t.withHeaderValues)))),t.withTags&&(n=n.filter((e=>t.withTags.filter((t=>e.tags.has(t))).length===t.withTags.length))),t.withoutTags&&(n=n.filter((e=>0===t.withoutTags.filter((t=>e.tags.has(t))).length))),t.sortedBy){if(!(t.sortedBy in ld))throw new Error("sortedBy value must be one of ["+Object.keys(ld).join(", ")+"], not "+t.sortedBy);n.sort(ld[t.sortedBy])}return n},document:(e,t)=>{if(!t.id||t.docSetId||t.withBook){if(!t.id&&t.docSetId&&t.withBook)return e.documentsWithBook(t.withBook).filter((e=>e.docSetId===t.docSetId))[0];throw new Error("document requires either id or both docSetId and withBook (but not all three)")}return e.documentById(t.id)},versifications:()=>Object.entries(wd),versification:(e,t)=>Object.entries(wd).filter((e=>e[0]===t.id))[0]},Od=(e,t,n,r)=>{for(var s=n.blocks.length,o=0;o<s;o++)t.deleteBlock(n.id,0,!1);for(var a=0;a<r.length;a++){var i=r[a];if(t.newBlock(n.id,a,i.bs.payload,null,!1),!e.updateBlockGrafts(t.id,n.id,a,i.bg))return!1;if(!e.updateOpenScopes(t.id,n.id,a,i.os))return!1;if(!e.updateIncludedScopes(t.id,n.id,a,i.is))return!1;if(!e.updateItems(t.id,n.id,a,i.items))return!1}},_d={addDocument:(e,t)=>{var n={};return t.selectors.forEach((e=>{n[e.key]=e.value})),!!e.importDocument(n,t.contentType,t.content,null,null,null,t.tags||[])},newSequence:(e,t)=>{var n=e.documents[t.documentId],r=n.processor.docSets[n.docSetId];if(!n)throw new Error("Document '"+t.documentId+"' not found");var s=n.newSequence(t.type,t.tags);if(t.blocksSpec&&(Od(r,n,n.sequences[s],t.blocksSpec),n.buildChapterVerseIndex()),t.graftToMain){r.maybeBuildPreEnums();var o=n.sequences[n.mainId].blocks[0].bg,a=r.enumForCategoryValue("graftTypes",t.type,!0),i=r.enumForCategoryValue("ids",s,!0);gi.succinct.pushSuccinctGraftBytes(o,a,i)}return s},newBlock:(e,t)=>{var n=e.documents[t.documentId];if(!n)throw new Error("Document '"+t.documentId+"' not found");return n.newBlock(t.sequenceId,t.blockN,t.blockScope)}},xd={deleteDocSet:(e,t)=>e.deleteDocSet(t.docSetId),deleteDocument:(e,t)=>e.deleteDocument(t.docSetId,t.documentId),deleteSequence:(e,t)=>{var n=e.documents[t.documentId];if(!n)throw new Error("Document '"+t.documentId+"' not found");return n.deleteSequence(t.sequenceId)},deleteBlock:(e,t)=>{var n=e.documents[t.documentId];if(!n)throw new Error("Document '"+t.documentId+"' not found");return n.deleteBlock(t.sequenceId,t.blockN)}},Cd={addDocSetTags:(e,t)=>{var n=e.docSets[t.docSetId];for(var r of t.tags)n.addTag(r);return Array.from(n.tags)},addDocumentTags:(e,t)=>{var n=e.docSets[t.docSetId].processor.documents[t.documentId];for(var r of t.tags)n.addTag(r);return Array.from(n.tags)},addSequenceTags:(e,t)=>{var n=e.docSets[t.docSetId].processor.documents[t.documentId].sequences[t.sequenceId];for(var r of t.tags)gi.tags.addTag(n.tags,r);return Array.from(n.tags)},removeDocSetTags:(e,t)=>{var n=e.docSets[t.docSetId];for(var r of t.tags)n.removeTag(r);return Array.from(n.tags)},removeDocumentTags:(e,t)=>{var n=e.docSets[t.docSetId].processor.documents[t.documentId];for(var r of t.tags)n.removeTag(r);return Array.from(n.tags)},removeSequenceTags:(e,t)=>{var n=e.docSets[t.docSetId].processor.documents[t.documentId].sequences[t.sequenceId];for(var r of t.tags)gi.tags.removeTag(n.tags,r);return Array.from(n.tags)}},Dd=n(5108);function $d(e,t,n,r,s,o,a){try{var i=e[o](a),u=i.value}catch(e){return void n(e)}i.done?t(u):Promise.resolve(u).then(r,s)}function Rd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function qd(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var jd=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Rd(Object(n),!0).forEach((function(t){qd(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Rd(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},_d,xd,{rehashDocSet:(e,t)=>e.rehashDocSet(t.docSetId)},Cd,{updateItems:(e,t)=>{var n=e.docSets[t.docSetId];if(!n)throw new Error("DocSet '"+t.docSetId+"' not found");if(!t.items)throw new Error("Must provide items");return!!n.updateItems(t.documentId,t.sequenceId,t.blockPosition,t.items)&&(!(t.blockGrafts&&!n.updateBlockGrafts(t.documentId,t.sequenceId,t.blockPosition,t.blockGrafts))&&!(t.blockScope&&!n.updateBlockScope(t.documentId,t.sequenceId,t.blockPosition,t.blockScope)))},updateAllBlocks:(e,t)=>{var n=e.docSets[t.docSetId];if(!n)throw new Error("DocSet '"+t.docSetId+"' not found");var r=e.documents[t.documentId];if(!r)throw new Error("Document '"+t.documentId+"' not found");var s=r.sequences[t.sequenceId||r.mainId];if(!s)throw new Error("Sequence '"+(t.sequenceId||r.mainId)+"' not found");return Od(n,r,s,t.blocksSpec),r.buildChapterVerseIndex(),!0},updateSequenceFromPerf:(kd=function*(e,t){var n=e.docSets[t.docSetId];if(!n)throw new Error("DocSet '"+t.docSetId+"' not found");var r=e.documents[t.documentId];if(!r)throw new Error("Document '"+t.documentId+"' not found");var s=r.sequences[t.sequenceId||r.mainId];if(!s)throw new Error("Sequence '"+(t.sequenceId||r.mainId)+"' not found");var o=JSON.parse(t.perf),a={schema:{structure:"flat",structure_version:"0.3.0",constraints:[{name:"perf",version:"0.3.0"}]},metadata:{translation:{},document:{}},sequences:{},main_sequence_id:t.sequenceId};a.sequences[t.sequenceId]=o;var i={};try{var u=new Ki.PipelineHandler({pipelines:Du,transforms:Ju,proskomma:e}),c=yield u.runPipeline("perf2PkJsonPipeline",{perf:a});i=Object.values(c.pkJson)[0]}catch(e){return Dd.error("pipelineHandler Error :\n",e),!1}return Od(n,r,s,i),r.buildChapterVerseIndex(),!0},Pd=function(){var e=this,t=arguments;return new Promise((function(n,r){var s=kd.apply(e,t);function o(e){$d(s,n,r,o,a,"next",e)}function a(e){$d(s,n,r,o,a,"throw",e)}o(void 0)}))},function(e,t){return Pd.apply(this,arguments)}),gcSequences:(e,t)=>{var n=e.docSets[t.docSetId];if(!n)throw new Error("DocSet '"+t.docSetId+"' not found");var r=e.documents[t.documentId];if(!r)throw new Error("Document '"+t.documentId+"' not found");return!!r.gcSequences()&&(n.rehash(),!0)}},{setVerseMapping:(e,t)=>{if(t.vrsSource&&t.jsonSource)throw new Error("Cannot specify both vrsSource and jsonSource");if(!t.vrsSource&&!t.jsonSource)throw new Error("Must specify either vrsSource or jsonSource");var n,r=e.docSets[t.docSetId];if(!r)return!1;n=t.vrsSource?gi.versification.vrs2json(t.vrsSource):t.jsonSource;var s=gi.versification.succinctifyVerseMappings(n.mappedVerses),o=gi.versification.reverseVersification(n),a=gi.versification.succinctifyVerseMappings(o.reverseMappedVerses);for(var i of r.documents().filter((e=>"bookCode"in e.headers))){var u=i.headers.bookCode,c=r.documentWithBook(u);if(c){var d=c.sequences[c.mainId];d.verseMapping={},u in s&&(d.verseMapping.forward=s[u]),u in a&&(d.verseMapping.reversed=a[u])}}return r.tags.add("hasMapping"),!0},unsetVerseMapping:(e,t)=>{var n=e.docSets[t.docSetId];if(!n)return!1;for(var r of n.documents().filter((e=>"bookCode"in e.headers))){var s=r.headers.bookCode,o=n.documentWithBook(s);o&&(o.sequences[o.mainId].verseMapping={})}return n.tags.delete("hasMapping"),!0}}),Md="\n "+Id+'\n \ntype Mutation {\n\n """Adds a document which will be assigned to an existing or new docSet on the basis of the specified selectors"""\n addDocument(\n """The selectors for this document, the keys of which must match those of the Proskomma instance"""\n selectors: [InputKeyValue!]!\n """The format of the content (probably usfm or usx)"""\n contentType: String!\n """The document content as a string"""\n content: String!\n """A list of tags to be added"""\n tags: [String!]\n ): Boolean!\n """Creates a new, empty sequence"""\n newSequence(\n """The id of the document to which the sequence will be added"""\n documentId: String!\n """The type of the new sequence (main, heading...)"""\n type: String!\n """The JSON describing blocks, if any, for the new sequence"""\n blocksSpec: [inputBlockSpec!]\n """If true, graft to the first block of the main sequence"""\n graftToMain: Boolean\n """\'A list of tags to be added"""\n tags: [String!]\n ): String!\n """Adds a new block to a sequence"""\n newBlock(\n """The id of the document containing the sequence to which the block will be added"""\n documentId: String!\n """The id of the sequence to which the block will be added"""\n sequenceId: String!\n """The zero-indexed position at which to add the block"""\n blockN: Int!\n """The scope to be applied to the block, eg blockScope/p"""\n blockScope: String!\n ): Boolean!\n\n\n """Deletes a docSet"""\n deleteDocSet(\n """The id of the docSet containing the document to be deleted"""\n docSetId: String!\n ): Boolean\n """Deletes a document"""\n deleteDocument(\n """The id of the docSet containing the document to be deleted"""\n docSetId: String!\n """The id of the document to be deleted"""\n documentId: String!\n ): Boolean\n """Deletes a sequence from a document"""\n deleteSequence(\n """The id of the document containing the sequence to be deleted"""\n documentId: String!\n """The id of the sequence to be deleted"""\n sequenceId: String!\n ): Boolean\n """Deletes a block from a sequence"""\n deleteBlock(\n """The id of the document containing the sequence from which the block will be deleted"""\n documentId: String!\n """The id of the sequence from which the block will be deleted"""\n sequenceId: String!\n """The zero-indexed number of the block to be deleted"""\n blockN: Int!\n ): Boolean\n\n\n """Explicitly rebuild the text lookup tables for a docSet. (You probably don\'t need to do this)"""\n rehashDocSet(\n """The id of the docSet"""\n docSetId: String!\n ): Boolean!\n\n\n """Add one or more tags to a docSet, if they are not already present"""\n addDocSetTags(\n """The id of the docSet to which the tags will be added"""\n docSetId: String!\n """A list of tags to be added"""\n tags: [String]!\n ): [String!]!\n """Add one or more tags to a document, if they are not already present"""\n addDocumentTags(\n """The id of the docSet containing the document to which the tags will be added"""\n docSetId: String!\n """The id of the document to which the tags will be added"""\n documentId: String!\n """A list of tags to be added"""\n tags: [String]!\n ): [String!]\n """Add one or more tags to a sequence, if they are not already present"""\n addSequenceTags(\n """The id of the docSet containing the document containing the sequence to which the tags will be added"""\n docSetId: String!\n """The id of the document containing the sequence to which the tags will be added"""\n documentId: String!\n """The id of the sequence to which the tags will be added"""\n sequenceId: String!\n """A list of tags to be added"""\n tags: [String]!\n ) : [String!]\n """Remove one or more tags from a docSet, if they are present"""\n removeDocSetTags(\n """The id of the docSet from which the tags will be removed"""\n docSetId: String!\n """A list of tags to be removed"""\n tags: [String]!\n ): [String!]\n """Remove one or more tags from a document, if they are present"""\n removeDocumentTags(\n """The id of the docSet containing the document from which the tags will be removed"""\n docSetId: String!\n """The id of the document from which the tags will be removed"""\n documentId: String!\n """A list of tags to be removed"""\n tags: [String]!\n ): [String!]\n """Remove one or more tags from a sequence, if they are present"""\n removeSequenceTags(\n """The id of the docSet containing the document containing the sequence from which the tags will be removed"""\n docSetId: String!\n """The id of the document containing the sequence from which the tags will be removed"""\n documentId: String!\n """The id of the sequence from which the tags will be removed"""\n sequenceId: String!\n """A list of tags to be removed"""\n tags: [String]!\n ) : [String!]\n\n\n """Replaces the items of a block with a new set of items"""\n updateItems(\n """The id of the docSet containing the document containing the sequence containing the block for which the items will be updated"""\n docSetId: String!\n """The id of the document containing the sequence containing the block for which the items will be updated"""\n documentId: String!\n """The id of the sequence containing the block for which the items will be updated (defaults to the main sequence)"""\n sequenceId: String\n """The zero-indexed number of the block for which the items will be updated"""\n blockPosition: Int!\n """The new content for the block as item objects"""\n items: [InputItemObject!]\n """BlockGrafts for the block as item objects"""\n blockGrafts: [InputItemObject!]\n """Optional blockScope for the block as an item object"""\n blockScope: InputItemObject\n ): Boolean!\n """Replaces all the blocks of a sequence with a new set of blocks"""\n updateAllBlocks(\n """The id of the docSet containing the document containing the sequence for which the blocks will be updated"""\n docSetId: String!\n """The id of the document containing the sequence for which the blocks will be updated"""\n documentId: String!\n """The id of the sequence for which the blocks will be updated (defaults to the main sequence)"""\n sequenceId: String\n """The JSON describing blocks"""\n blocksSpec: [inputBlockSpec!]!\n ): Boolean!\n """Replaces all the blocks of a sequence with a new set of blocks derived from PERF"""\n updateSequenceFromPerf(\n """The id of the docSet containing the document containing the sequence for which the blocks will be updated"""\n docSetId: String!\n """The id of the document containing the sequence for which the blocks will be updated"""\n documentId: String!\n """The id of the sequence for which the blocks will be updated (defaults to the main sequence)"""\n sequenceId: String\n """The JSON describing blocks"""\n perf: String!\n ): Boolean!\n """Garbage collects unused sequences within a document. (You probably don\\\'t need to do this.)"""\n gcSequences(\n """The id of the docSet containing the document to be garbage collected"""\n docSetId: String!\n """The id of the document to be garbage collected"""\n documentId: String!\n ) : Boolean!\n \n\n\n """Adds verse mapping tables to the documents in a docSet, where the verse mapping may be provided in legacy .vrs or JSON format"""\n setVerseMapping(\n """the id of the docSet to which the verse mapping will be added"""\n docSetId: String!\n """The verse mapping, in legacy .vrs format (as a string)"""\n vrsSource: String\n """The verse mapping, in JSON format (as a string)"""\n jsonSource: String\n ): Boolean!\n """Removes verse mapping tables from the documents in a docSet"""\n unsetVerseMapping(\n """The id of the docSet from which verse mapping will be removed"""\n docSetId: String!\n ): Boolean!\n\n}\n \n"""Key/Value tuple"""\ntype KeyValue {\n """The key"""\n key: String!\n """The value"""\n value: String!\n}\n \n"""A chapter-verse reference"""\ntype cv {\n """The chapter number"""\n chapter: Int\n """The verse number"""\n verse: Int\n}\n\n \n"""Type-dependent parts of the ID header"""\ntype idParts {\n """The type of the ID"""\n type: String\n """An array of parts of the ID"""\n parts: [String]\n """A part of the ID, by index"""\n part(\n """The numeric index of the part"""\n index: Int!\n ): String\n}\n\n \n"""Attribute Specification"""\ninput AttSpec {\n"""The type of attribute, ie what type of thing it\'s connected to"""\nattType: String!\n"""The name of the USFM tag to which the attribute is connected"""\ntagName: String!\n"""The attribute key (ie the bit to the left of the equals sign in USX)"""\nattKey: String!\n"""The position of the value (which is 0 except for attributes with multiple values)"""\nvalueN: Int!\n}\n \n"""Key/Regex tuple"""\ninput KeyMatches {\n """The key"""\n key: String!\n """The regex to match"""\n matches: String!\n}\n\n \n"""Input Key/Value Object"""\ninput InputKeyValue {\n """The key"""\n key: String!\n """The value"""\n value: String!\n}\n\n \n"""Input Key/Values Object"""\ninput KeyValues {\n """The key"""\n key: String!\n """The values"""\n values: [String!]!\n}\n\n \n"""Item for arguments"""\ninput InputItemObject {\n """The basic item type (token, scope or graft)\'"""\n type: String!\n """The type-dependent subtype of the item"""\n subType: String!\n """The content of the item (the text for tokens, the label for scopes and the sequence id for grafts)"""\n payload: String!\n}\n \n"""Item"""\ntype Item {\n """The basic item type (token, scope or graft)"""\n type: String!\n """The type-dependent subtype of the item"""\n subType: String!\n """The content of the item (the text for tokens, the label for scopes and the sequence id for grafts)"""\n payload(\n """If true, turn all whitespace into a normal space"""\n normalizeSpace: Boolean\n """A whitelist of characters to include"""\n includeChars: [String!]\n """A blacklist of characters to exclude"""\n excludeChars: [String!],\n ): String!\n """If \'includeContext\' was selected, and for tokens, the index of the token from the start of the sequence"""\n position(\n """Only include scopes that begin with this value"""\n startsWith: [String!]\n ): Int\n """If \'includeContext\' was selected, a list of scopes that are open around the item"""\n scopes(\n """Only include scopes that begin with this value"""\n startsWith: [String!]\n ): [String!]\n}\n\n \n"""A collection of items, with scope context"""\ntype ItemGroup {\n """Items for this itemGroup"""\n items: [Item!]!\n """Tokens for this itemGroup"""\n tokens(\n """Return tokens whose payload is an exact match to one of the specified strings"""\n withChars: [String!]\n """Return tokens with one of the specified subTypes"""\n withSubTypes: [String!]\n ): [Item!]!\n """The text of the itemGroup as a single string"""\n text(\n """If true, converts each whitespace character to a single space"""\n normalizeSpace: Boolean\n ): String!\n """The labels of scopes that were open at the beginning of the itemGroup"""\n scopeLabels(\n """Only include scopes that begin with this value"""\n startsWith: [String!]\n ): [String!]!\n """The itemGroup content as a string in a compact eyeballable format"""\n dump: String!\n """A list of scopes from the items of the itemGroup"""\n includedScopes: [String!]!\n} \n\n \n"""Key/Items tuple"""\ntype kvEntry {\n """The key"""\n key: String!\n """The secondary keys"""\n secondaryKeys: [KeyValue!]\n """The fields as itemGroups"""\n itemGroups: [ItemGroup]!\n}\n \n"""Information about a regex match on an enum"""\ntype regexIndex {\n """The index in the enum"""\n index: String!\n """The string in the enum that matched"""\n matched: String!\n}\n \n"""Row Equals Specification"""\ninput rowEqualsSpec {\n """The position of the column in which to search a match"""\n colN: Int!\n """The values to match"""\n values: [String!]!\n}\n\n \n"""Row Match Specification"""\ninput rowMatchSpec {\n """The position of the column in which to search a match"""\n colN: Int!\n """The regex to match"""\n matching: String!\n}\n\n \n"""Information about a verse range (which may only cover one verse)"""\ntype verseRange {\n """The range, as it would be printed in a Bible"""\n range: String!\n """A list of verse numbers for this range"""\n numbers: [Int!]!\n}\n\n \n"""Mapped verse information"""\ntype orig {\n """The book code"""\n book: String\n """A list of chapter-verse references"""\n cvs: [cv!]!\n}\n\n \n"""Information about a verse number (which may be part of a verse range)"""\ntype verseNumber {\n """The verse number"""\n number: Int!\n """The verse range to which the verse number belongs"""\n range: String!\n """The reference for this verse when mapped to \'original\' versification"""\n orig: orig!\n}\n\n \n"""A table cell"""\ntype cell {\n """The row numbers"""\n rows: [Int!]!\n """The column numbers"""\n columns: [Int!]!\n """A list of items from the c (content) field of the cell"""\n items: [Item!]!\n """A list of tokens from the c (content) field of the cell"""\n tokens: [Item!]!\n """The text of the cell as a single string"""\n text(\n """If true, converts each whitespace character to a single space"""\n normalizeSpace: Boolean\n ): String!\n}\n\n \n"""A chapter index entry"""\ntype cIndex {\n """The chapter number"""\n chapter: Int!\n """The zero-indexed number of the block where the chapter starts"""\n startBlock: Int\n """The zero-indexed number of the block where the chapter ends"""\n endBlock: Int\n """The zero-indexed position of the item where the chapter starts"""\n startItem: Int\n """The zero-indexed position of the item where the chapter ends"""\n endItem: Int\n """The value of nextToken at the beginning of the chapter"""\n nextToken: Int\n """A list of items for this chapter"""\n items(\n """If true, adds scope and nextToken information to each token"""\n includeContext: Boolean\n ): [Item]!\n """The items as a string in a compact eyeballable format"""\n dumpItems: String\n """A list of tokens for this chapter"""\n tokens(\n """If true, adds scope and nextToken information to each token"""\n includeContext: Boolean\n """Return tokens whose payload is an exact match to one of the specified strings"""\n withChars: [String!]\n """Return tokens with one of the specified subTypes"""\n withSubTypes: [String!]\n ): [Item]!\n """The text of the chapter as a single string"""\n text(\n """If true, converts each whitespace character to a single space"""\n normalizeSpace: Boolean\n ): String!\n}\n\n \n""""""\ntype cvVerseElement {\n """The zero-indexed number of the block where the verse starts"""\n startBlock: Int\n """The zero-indexed number of the block where the verse ends"""\n endBlock: Int\n """The zero-indexed position of the item where the verse starts"""\n startItem: Int\n """The zero-indexed position of the item where the verse ends"""\n endItem: Int\n """The value of nextToken at the beginning of the verse"""\n nextToken: Int\n """The verse range for this verse as it would be printed in a Bible"""\n verseRange: String\n """A list of items for this verse"""\n items(\n """If true, adds scope and nextToken information to each token"""\n includeContext: Boolean\n ): [Item]!\n """The items as a string in a compact eyeballable format"""\n dumpItems: String\n """A list of tokens for this verse"""\n tokens(\n """If true, adds scope and nextToken information to each token"""\n includeContext: Boolean\n """Return tokens whose payload is an exact match to one of the specified strings"""\n withChars: [String!]\n """Return tokens with one of the specified subTypes"""\n withSubTypes: [String!]\n ): [Item]!\n """The text of the verse as a single string"""\n text(\n """If true, converts each whitespace character to a single space"""\n normalizeSpace: Boolean\n ): String!\n}\n\n \n"""Information about a verse in the chapter, which may be split into several pieces"""\ntype cvVerses {\n """The pieces of verse"""\n verse: [cvVerseElement]\n}\n\n \n"""A chapterVerse index entry"""\ntype cvIndex {\n """The chapter number"""\n chapter: Int!\n """Information about the verses in the chapter"""\n verses: [cvVerses]\n """A list of verse number and range information, organized by verse number"""\n verseNumbers: [verseNumber!]\n """A list of verse number and range information, organized by verse range"""\n verseRanges: [verseRange!]\n}\n\n \n"""Various answers to \'previous\' and \'next\' with respect to a verse"""\ntype cvNavigation {\n """The verse number for the next verse"""\n nextVerse: cv\n """The verse number for the previous verse"""\n previousVerse: cv\n """The verse number for the next verse range"""\n nextVerseRangeVerse: cv\n """The verse number for the previous verse range"""\n previousVerseRangeVerse: cv\n """The next chapter number (as a string)"""\n nextChapter: String\n """The previous chapter number (as a string)"""\n previousChapter: String\n}\n\n \n"""A specification to create or update a block"""\ninput inputBlockSpec {\n """The block scope as an item"""\n bs: InputItemObject!\n """The block grafts as items"""\n bg: [InputItemObject!]!\n """The open scopes as items"""\n os: [InputItemObject!]!\n """The included scopes as items"""\n is: [InputItemObject!]!\n """The items"""\n items: [InputItemObject!]!\n}\n\n \n"""A tree node"""\ntype node {\n """The node id"""\n id: String!\n """The node parent id"""\n parentId: String\n """The keys for content"""\n keys: [String!]!\n """The content as itemGroups"""\n itemGroups(\n """If true, adds scope and nextToken information to each token"""\n includeContext: Boolean\n ): [ItemGroup!]!\n """The node children ids"""\n childIds: [String!]!\n}\n\n \n"""A contiguous flow of content for key-values"""\ntype kvSequence {\n """The id of the sequence"""\n id: String!\n """The number of entries in the key-value sequence"""\n nEntries: Int!\n """The entries in the key-value sequence"""\n entries(\n """Only return entries whose key matches the specification"""\n keyMatches: String\n """Only return entries whose key equals one of the values in the specification"""\n keyEquals: [String!]\n """Only return entries whose secondary keys match the specification"""\n secondaryMatches: [KeyMatches!]\n """Only return entries whose secondary keys equal one of the values in the specification"""\n secondaryEquals: [KeyValues!]\n """Only return entries whose content matches the specification"""\n contentMatches: [KeyMatches!]\n """Only return entries whose content equals one of the values in the specification"""\n contentEquals: [KeyValues!]\n ): [kvEntry!]\n """A list of the tags of this sequence"""\n tags: [String!]!\n """A list of the tags of this sequence as key/value tuples"""\n tagsKv: [KeyValue!]!\n """Whether or not the sequence has the specified tag"""\n hasTag(\n """The tag name"""\n tagName: String\n ): Boolean!\n}\n\n \n"""A contiguous flow of content for a table"""\ntype tableSequence {\n """The id of the sequence"""\n id: String!\n """The number of cells in the table sequence"""\n nCells: Int!\n """The number of rows in the table sequence"""\n nRows: Int!\n """The number of columns in the table sequence"""\n nColumns: Int!\n """The cells in the table sequence"""\n cells: [cell!]!\n """The rows in the table sequence"""\n rows(\n """Only return rows whose zero-indexed position is in the list"""\n positions: [Int!]\n """Only return columns whose zero-indexed position is in the list"""\n columns: [Int!]\n """Only return rows whose cells match the specification"""\n matches: [rowMatchSpec!]\n """\'Only return rows whose cells contain one of the values in the specification"""\n equals: [rowEqualsSpec!]\n ): [[cell!]!]!\n """A list of the tags of this sequence"""\n tags: [String!]!\n """A list of the tags of this sequence as key/value tuples"""\n tagsKv: [KeyValue!]!\n """Whether or not the sequence has the specified tag"""\n hasTag(\n """The tag name"""\n tagName: String\n ): Boolean!\n """A list of column headings for this tableSequence, derived from the sequence tags"""\n headings: [String!]!\n}\n\n \n"""The nodes of a tree"""\ntype treeSequence {\n """The id of the sequence"""\n id: String!\n """The number of nodes in the tree sequence"""\n nNodes: Int!\n """The nodes in the tree sequence"""\n nodes: [node!]!\n """The JSON result for a Tribos query, as a string"""\n tribos(\n """The Tribos query string"""\n query: String!\n ): String!\n """The JSON results for the Tribos queries, as an array of strings"""\n triboi(\n """The Tribos query strings"""\n queries: [String!]!\n ): [String!]!\n """Tribos documentation"""\n tribosDoc: String!\n """A list of the tags of this sequence"""\n tags: [String!]!\n """A list of the tags of this sequence as key/value tuples"""\n tagsKv: [KeyValue!]!\n """Whether or not the sequence has the specified tag"""\n hasTag(\n """The tag name"""\n tagName: String\n ): Boolean!\n}\n\n \n"""Part of a sequence, roughly equivalent to a USFM paragraph"""\ntype Block {\n """The length in bytes of the succinct representation of c (block items)"""\n cBL: Int!\n """The length in bytes of the succinct representation of bg (block grafts)"""\n bgBL: Int!\n """The length in bytes of the succinct representation of os (open scopes)"""\n osBL: Int!\n """The length in bytes of the succinct representation of is (included scopes)"""\n isBL: Int!\n """The length in bytes of the succinct representation of nt (nextToken at the start of the block)"""\n ntBL: Int!\n """The number of items in the succinct representation of c (block items)"""\n cL: Int!\n """The number of items in the succinct representation of bg (block grafts)"""\n bgL: Int!\n """The number of items in the succinct representation of os (open scopes)"""\n osL: Int!\n """The number of items in the succinct representation of is (included scopes)"""\n isL: Int!\n """A list of included scopes for this block"""\n is: [Item!]!\n """A list of open scopes for this block"""\n os: [Item!]!\n """The block scope for this block"""\n bs: Item!\n """A list of block grafts for this block"""\n bg: [Item!]!\n """The value of nextToken at the start of this block"""\n nt: Int!\n """A list of items from the c (content) field of the block"""\n items(\n """Only return items that are within specific scopes"""\n withScopes: [String!]\n """If true, withScopes filtering matches items within at least one of the specified scopes"""\n anyScope: Boolean\n """Only return items that are within a chapterVerse range (ch or ch:v or ch:v-v or ch:v-ch:v)"""\n withScriptureCV: String\n """If true, adds scope and nextToken information to each token"""\n includeContext: Boolean\n ) : [Item!]! \n """A list of tokens from the c (content) field of the block"""\n tokens(\n """Only return tokens that are within specific scopes"""\n withScopes: [String!]\n """If true, withScopes filtering matches tokens within at least one of the specified scopes"""\n anyScope: Boolean\n """Only return tokens that are within a chapterVerse range (ch or ch:v or ch:v-v or ch:v-ch:v)"""\n withScriptureCV: String\n """If true, adds scope and nextToken information to each token"""\n includeContext: Boolean\n """Return tokens whose payload is an exact match to one of the specified strings"""\n withChars: [String!]\n """Return tokens whose payload matches one of the specified regexes"""\n withMatchingChars: [String!]\n """Return tokens with one of the specified subTypes"""\n withSubTypes: [String!]\n ) : [Item!]!\n """The text of the block as a single string"""\n text(\n """Only return text that is within a chapterVerse range (ch or ch:v or ch:v-v or ch:v-ch:v)"""\n withScriptureCV: String\n """If true, converts each whitespace character to a single space"""\n normalizeSpace: Boolean\n ): String!\n """\'Block items grouped by scopes or milestones"""\n itemGroups(\n """Produce one itemGroup for every match of the list of scopes"""\n byScopes: [String!]\n """Start a new itemGroup whenever a milestone in the list is encountered"""\n byMilestones: [String!]\n ): [ItemGroup]!\n """The block content as a string in a compact eyeballable format"""\n dump: String!\n """A list of the labels for the block\\\'s bs, os and is scopes"""\n scopeLabels(\n """Only include scopes that begin with this value"""\n startsWith: [String!]\n ): [String!]!\n}\n\n \n"""A contiguous flow of content"""\ntype Sequence {\n """The id of the sequence"""\n id: String!\n """The type of the sequence (main, heading...)"""\n type: String!\n """The number of blocks in the sequence"""\n nBlocks: Int!\n """The blocks in the sequence"""\n blocks(\n """Only return blocks where the list of scopes is open"""\n withScopes: [String!]\n """Only return blocks whose zero-indexed position is in the list"""\n positions: [Int!]\n """Only return blocks with the specified block scope (eg \'blockScope/p\'"""\n withBlockScope: String\n """Only return blocks that contain items within the specified chapter, verse or chapterVerse range"""\n withScriptureCV: String\n """Ordered list of attribute specs whose values must match those in \'attValues\'"""\n attSpecs: [[AttSpec!]!]\n """Ordered list of attribute values, used in conjunction with \\\'attSpecs\\\'"""\n attValues: [[String!]!]\n """If true, blocks where all attSpecs match will be included"""\n allAtts: Boolean\n """Return blocks containing a token whose payload is an exact match to one of the specified strings"""\n withChars: [String!]\n """Return blocks containing a token whose payload matches the specified regexes"""\n withMatchingChars: [String!]\n """If true, blocks where all regexes match will be included"""\n allChars: Boolean\n ): [Block!]!\n """The items for each block in the sequence"""\n blocksItems: [[Item!]!]\n """The tokens for each block in the sequence"""\n blocksTokens: [[Item!]!]\n """The text for each block in the sequence"""\n blocksText(\n """If true, converts each whitespace character to a single space"""\n normalizeSpace: Boolean\n ): [String!]\n """The text for the sequence"""\n text(\n """If true, converts each whitespace character to a single space"""\n normalizeSpace: Boolean\n ) : String!\n """Sequence content grouped by scopes or milestones"""\n itemGroups(\n """Produce one itemGroup for every different match of the list of scopes"""\n byScopes: [String!]\n """Start a new itemGroup whenever a milestone in the list is encountered"""\n byMilestones: [String!]\n ) : [ItemGroup!]!\n """A list of the tags of this sequence"""\n tags: [String!]!\n """A list of the tags of this sequence as key/value tuples"""\n tagsKv: [KeyValue!]!\n """Whether or not the sequence has the specified tag"""\n hasTag(\n """The specified tag"""\n tagName: String!\n ): Boolean!\n """A list of wordLike token strings in a main sequence"""\n wordLikes(\n """Whether to coerce the strings (toLower|toUpper|none)"""\n coerceCase: String\n ) : [String!]!\n """Returns true if a main sequence contains the specified tokens"""\n hasChars(\n """Token strings to be matched exactly"""\n chars: [String!]\n """If true all tokens must match"""\n allChars: Boolean\n ): Boolean!\n """Returns true if a main sequence contains a match for specified regexes"""\n hasMatchingChars(\n """Regexes to be matched"""\n chars: [String!]\n """If true all regexes must match"""\n allChars: Boolean\n ): Boolean!\n}\n\n \n"""A document, typically corresponding to USFM for one book"""\ntype Document {\n """The id of the document"""\n id: String!\n """A parsed version of the id header"""\n idParts: idParts!\n """The id of the docSet to which this document belongs"""\n docSetId: String!\n """USFM header information such as TOC"""\n headers: [KeyValue!]!\n """One USFM header"""\n header(\n """The header id, corresponding to the tag name minus any trailing \'1\'"""\n id: String!\n ): String\n """The main sequence"""\n mainSequence: Sequence!\n """The number of sequences"""\n nSequences: Int!\n """A list of sequences for this document"""\n sequences(\n """ids of sequences to include, if found"""\n ids: [String!]\n """types of sequences to include, if found"""\n types: [String!]\n """Only return sequences with all the specified tags"""\n withTags: [String!]\n """Only return sequences with none of the specified tags"""\n withoutTags: [String!]\n ): [Sequence!]!\n """A list of table sequences for this document"""\n tableSequences(\n """ids of sequences to include, if found"""\n ids: [String!]\n """Only return sequences with all the specified tags"""\n withTags: [String!]\n """Only return sequences with none of the specified tags"""\n withoutTags: [String!]\n ): [tableSequence!]!\n """A list of tree sequences for this document"""\n treeSequences(\n """ids of sequences to include, if found"""\n ids: [String!]\n """Only return sequences with all the specified tags"""\n withTags: [String!]\n """Only return sequences with none of the specified tags"""\n withoutTags: [String!]\n ): [treeSequence!]!\n """A list of key-value sequences for this document"""\n kvSequences(\n """ids of sequences to include, if found"""\n ids: [String!]\n """Only return sequences with all the specified tags"""\n withTags: [String!]\n """Only return sequences with none of the specified tags"""\n withoutTags: [String!]\n ): [kvSequence!]!\n """A list of text (ie non-table, non-tree, non-kv) sequences for this document"""\n textSequences(\n """ids of sequences to include, if found"""\n ids: [String!]\n """Only return sequences with all the specified tags"""\n withTags: [String!]\n """Only return sequences with none of the specified tags"""\n withoutTags: [String!]\n ): [Sequence!]!\n """The sequence with the specified id"""\n sequence(\n """id of the sequence"""\n id: String!\n ): Sequence\n """The table sequence with the specified id"""\n tableSequence(\n """id of the sequence"""\n id: String!\n ): tableSequence\n """The tree sequence with the specified id"""\n treeSequence(\n """id of the sequence"""\n id: String!\n ): treeSequence\n """The key-value sequence with the specified id"""\n kvSequence(\n """id of the sequence"""\n id: String!\n ): kvSequence\n """The blocks of the main sequence"""\n mainBlocks: [Block!]!\n """The items for each block of the main sequence"""\n mainBlocksItems: [[Item!]!]!\n """The tokens for each block of the main sequence"""\n mainBlocksTokens: [[Item!]!]!\n """The text for each block of the main sequence"""\n mainBlocksText(\n """If true, converts each whitespace character to a single space"""\n normalizeSpace: Boolean\n ): [String!]!\n """The text for the main sequence"""\n mainText(\n """If true, converts each whitespace character to a single space"""\n normalizeSpace: Boolean\n ): String!\n """A list of the tags of this document"""\n tags: [String!]!\n """A list of the tags of this document as key/value tuples"""\n tagsKv: [KeyValue!]!\n """\'Whether or not the document has the specified tag"""\n hasTag(\n tagName: String!\n ): Boolean!\n """Content for a Scripture reference within this document, using local versification"""\n cv(\n """The chapter number (as a string)"""\n chapter: String\n """\'A list of verse numbers (as strings)"""\n verses: [String!]\n """A chapterVerse Reference (ch:v-ch:v)"""\n chapterVerses: String\n """If true, adds scope and nextToken information to each token"""\n includeContext: Boolean\n ): [ItemGroup!]!\n """Content for a Scripture reference within this document, using the versification of the specified docSet"""\n mappedCv(\n """The chapter number (as a string)"""\n chapter: String!\n """The id of the mapped docSet"""\n mappedDocSetId: String!\n """A list of verse numbers (as strings)"""\n verses: [String!]!\n """If true, adds scope and nextToken information to each token"""\n includeContext: Boolean\n ): [ItemGroup!]!\n """Content for each verse of a chapter within this document, using the versification of the specified docSet"""\n mappedCvs(\n """The chapter number (as a string)"""\n chapter: String!\n """The id of the mapped docSet"""\n mappedDocSetId: String!\n """If true, adds scope and nextToken information to each token"""\n includeContext: Boolean\n ): [[ItemGroup!]!]!\n """What\'s previous and next with respect to the specified verse"""\n cvNavigation(\n """The chapter number (as a string)"""\n chapter: String!\n """A verse number (as a string)"""\n verse: String!\n ): cvNavigation\n """The content of the main sequence indexed by chapterVerse"""\n cvIndexes: [cvIndex]!\n """The content of the specified chapter indexed by chapterVerse"""\n cvIndex(\n """The chapter number"""\n chapter: Int!\n ): cvIndex!\n """The content of the main sequence indexed by chapter"""\n cIndexes: [cIndex]!\n """The content of a chapter"""\n cIndex(\n """\'The chapter number"""\n chapter: Int!\n ): cIndex!\n """Verses matching the arguments"""\n cvMatching(\n """Return verses containing a token whose payload is an exact match to one of the specified strings"""\n withChars: [String!]\n """Return verses containing a token whose payload matches the specified regexes"""\n withMatchingChars: [String!]\n """Only return blocks where the list of scopes is open"""\n withScopes: [String!]\n """If true, verses where all regexes match will be included"""\n allChars: Boolean\n """If true, verses where all scopes match will be included"""\n allScopes: Boolean\n ): [ItemGroup!]!\n """A string of PERF JSON for this document"""\n perf(\n """Format JSON string with this indent"""\n indent: Int\n ): String! \n """A string of USFM for this document"""\n usfm: String! \n """A string of SOFRIA JSON for this document"""\n sofria(\n """Format JSON string with this indent"""\n indent: Int\n """Return SOFRIA for this chapter only"""\n chapter: Int\n ): String! \n}\n\n '+pd+'\n \n"""Specification of a selector"""\ntype selectorSpec {\n """Name (ie the key)"""\n name: String!\n """Data type (string or integer)"""\n type: String!\n """Regex for validating string selector"""\n regex: String\n """Inclusive minimum value for integer selector"""\n min: String\n """Inclusive maximum value for integer selector"""\n max: String\n """Enum of permitted string values"""\n enum: [String!]\n}\n\n \n"""Input specification of a selector"""\ninput inputSelectorSpec {\n """Name (ie the key)"""\n name: String!\n """Data type (string or integer)"""\n type: String!\n """Regex for validating string selector"""\n regex: String\n """Inclusive minimum value for integer selector"""\n min: String\n """Inclusive maximum value for integer selector"""\n max: String\n """Enum of permitted string values"""\n enum: [String!]\n}\n\n \n"""Information about a standard versification scheme"""\ntype versification {\n """id, derived from the Paratext vrs filename"""\n id: String!\n """A string of the original vrs file"""\n vrs: String!\n """Chapter/verse information for each book"""\n cvBooks: [cvBook!]!\n """Chapter/verse information for one book"""\n cvBook(\n """The bookCode"""\n bookCode: String!\n ): cvBook!\n}\n\n \n"""Chapter/verse information for a book"""\ntype cvBook {\n """The bookCode"""\n bookCode: String!\n """The chapter records"""\n chapters: [cvChapter!]!\n}\n\n \n"""Information for a chapter"""\ntype cvChapter {\n """The chapter"""\n chapter: Int!\n """The maximum verse number"""\n maxVerse: Int!\n}\n\n ',Bd={Mutation:jd,Query:Nd,KeyValue:{key:e=>e[0],value:e=>e[1]},cv:{chapter:e=>e[0],verse:e=>e[1]},idParts:{type:e=>e[0],parts:e=>e[1],part:(e,t)=>!e[1]||t.index<0||t.index>=e[1].length?null:e[1][t.index]},Item:{type:e=>e[0],subType:e=>e[1],payload:(e,t)=>{var n=e[2];if("token"===e[0]&&(t.normalizeSpace&&(n=e[2].replace(/[ \t\n\r]+/g," ")),t.includeChars||t.excludeChars)){var r=n.split("");r=r.filter((e=>!t.includeChars||t.includeChars.includes(e))),r=r.filter((e=>!t.excludeChars||!t.excludeChars.includes(e))),n=r.join("")}return n},position:e=>e[3],scopes:(e,t)=>e[4]?e[4].filter((e=>!t.startsWith||((e,t)=>{if(0===e.length)return!0;for(var n of e)if(t.startsWith(n))return!0;return!1})(t.startsWith,e))):[]},ItemGroup:Oc,kvEntry:{key:e=>e[0],secondaryKeys:e=>e[1],itemGroups:e=>e[2]},regexIndex:{index:e=>e[0],matched:e=>e[1]},verseNumber:_c,cell:{rows:e=>e[0],columns:e=>e[1],items:e=>e[2],tokens:e=>e[2].filter((e=>"token"===e[0])),text:(e,t)=>{var n=e[2].filter((e=>"token"===e[0])).map((e=>e[2])).join("").trim();return t.normalizeSpace&&(n=n.replace(/[ \t\n\r]+/g," ")),n}},cIndex:xc,cvVerseElement:Cc,cvVerses:{verse:e=>e},cvIndex:{chapter:e=>e[0],verses:e=>e[1],verseNumbers:(e,t,n)=>(n.cvIndex=e,[...e[1].entries()].filter((e=>e[1].length>0)).map((e=>({number:e[0],range:e[1][e[1].length-1].verses})))),verseRanges:e=>{var t=[];for(var[n,r]of[...e[1].entries()].filter((e=>e[1].length>0)))0===t.length||t[t.length-1].range!==r[r.length-1].verses?t.push({range:r[r.length-1].verses,numbers:[n]}):t[t.length-1].numbers.push(n);return t}},cvNavigation:Rc,node:qc,kvSequence:jc,tableSequence:Mc,treeSequence:Wc,Block:Xc,Sequence:nd,Document:dd,DocSet:fd,selectorSpec:{regex:e=>e.regex||null,min:e=>e.min||null,max:e=>e.max||null,enum:e=>e.enum||null},versification:{id:e=>e[0],vrs:e=>e[1].raw,cvBooks:e=>Object.entries(e[1].cv),cvBook:(e,t)=>Object.entries(e[1].cv).filter((e=>e[0]===t.bookCode))[0]},cvBook:{bookCode:e=>e[0],chapters:e=>Object.entries(e[1])},cvChapter:{chapter:e=>parseInt(e[0]),maxVerse:e=>parseInt(e[1])}},{labelForScope:Gd}=gi.scopeDefs,Ld=(e,t)=>{var n=[],r=e.split(/[\n\r]+/);for(var[s,o]of r.entries())if(!t||0!==s){var a=o.split("\t");for(var[i,u]of a.entries()){var c={os:[],bg:[],bs:{type:"scope",subType:"start",payload:Gd("tTableRow",[""+s])},is:[],items:[]},d="tTableCol/"+i;for(var[l,p]of(c.is.push({type:"scope",subType:"start",payload:d}),c.items.push({type:"scope",subType:"start",payload:d}),yu(u)))c.items.push({type:"token",subType:p,payload:l});c.items.push({type:"scope",subType:"end",payload:d}),n.push(c)}}return n},Fd=e=>e.split(/[\n\r]+/)[0].split("\t").map(((e,t)=>"col"+t+":"+e.trim())),Vd=e=>{var t=[];for(var n of wu(Tu(e))){var r={os:[],bg:[],bs:{type:"scope",subType:"start",payload:Gd("tTreeNode",[""+n.id])},is:[],items:[]},s=Gd("tTreeParent",[""+n.parentId]);if(r.items.push({type:"scope",subType:"start",payload:s}),r.is.push({type:"scope",subType:"start",payload:s}),n.content)for(var[o,a]of Object.entries(n.content)){var i=r.items.length,u=yu(a),c=Gd("tTreeContent",[o,n.id,""+i,""+u.length]);for(var[d,l]of(r.items.push({type:"scope",subType:"start",payload:c}),r.is.push({type:"scope",subType:"start",payload:c}),u))r.items.push({type:"token",subType:l,payload:d});r.items.push({type:"scope",subType:"end",payload:c})}if(n.children)for(var[p,f]of n.children.entries()){var h=Gd("tTreeChild",[p,f]);r.items.push({type:"scope",subType:"start",payload:h}),r.is.push({type:"scope",subType:"start",payload:h}),r.items.push({type:"scope",subType:"end",payload:h})}r.items.push({type:"scope",subType:"end",payload:s}),t.push(r)}return t},Ud=e=>e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\t/g,"\\t").replace(/\r/g,"\\r"),Jd=e=>"["+e.map((e=>'\n {\n type: "'+e.type+'" \n subType: "'+e.subType+'" \n payload: "'+Ud(e.payload)+'"\n }')).join(",")+"]",Hd=e=>'{\n type: "'+e.type+'" \n subType: "'+e.subType+'" \n payload: "'+Ud(e.payload)+'"}',Kd=e=>"[\n"+e.map((e=>" {\n bs: "+Hd(e.bs)+", \n bg: "+Jd(e.bg)+", \n os: "+Jd(e.os)+", \n is: "+Jd(e.is)+", \n items: "+Jd(e.items)+"}\n"))+"]";function Wd(e,t,n,r,s,o,a){try{var i=e[o](a),u=i.value}catch(e){return void n(e)}i.done?t(u):Promise.resolve(u).then(r,s)}var Xd=e=>wu(Tu(e)),Yd=function({typeDefs:e,resolvers:t={},resolverValidationOptions:n={},inheritResolversFromInterfaces:r=!1,updateResolversInPlace:s=!1,schemaExtensions:o,...a}){if("object"!=typeof n)throw new Error("Expected `resolverValidationOptions` to be an object");if(!e)throw new Error("Must provide typeDefs");let i;var u;return i=Rt(e)?e:(null==a?void 0:a.commentDescriptions)?function(e,t){return Rr(un(e,{noLocation:null==t?void 0:t.noLocation,allowLegacyFragmentVariables:null==t?void 0:t.allowLegacyFragmentVariables}),{assumeValidSDL:null==t?void 0:t.assumeValidSDL,assumeValid:null==t?void 0:t.assumeValid})}(wo(e,{...a,commentDescriptions:!0}),a):Rr(wo(e,a),a),i=function({schema:e,resolvers:t,defaultFieldResolver:n,resolverValidationOptions:r={},inheritResolversFromInterfaces:s=!1,updateResolversInPlace:o=!1}){const{requireResolversToMatchSchema:a="error",requireResolversForResolveType:i}=r,u=s?function(e,t){const n={},r=e.getTypeMap();for(const e in r){const s=r[e];if("getInterfaces"in s){n[e]={};for(const r of s.getInterfaces())if(t[r.name])for(const s in t[r.name])"__isTypeOf"!==s&&s.startsWith("__")||(n[e][s]=t[r.name][s]);const r=t[e];n[e]={...n[e],...r}}else{const r=t[e];null!=r&&(n[e]=r)}}return n}(e,t):t;for(const t in u){const n=u[t];if("object"!=typeof n)throw new Error(`"${t}" defined in resolvers, but has invalid value "${n}". The resolver's value must be of type object.`);const r=e.getType(t);if(null==r){if("ignore"===a)continue;throw new Error(`"${t}" defined in resolvers, but not in schema`)}if(ut(r))for(const e in n)e.startsWith("__")?r[e.substring(2)]=n[e]:r[e]=n[e];else if(ve(r)){const e=r.getValues();for(const t in n)if(!t.startsWith("__")&&!e.some((e=>e.name===t))&&a&&"ignore"!==a)throw new Error(`${r.name}.${t} was defined in resolvers, but not present within ${r.name}`)}else if(ge(r)){for(const e in n)if(!e.startsWith("__")&&a&&"ignore"!==a)throw new Error(`${r.name}.${e} was defined in resolvers, but ${r.name} is not an object or interface type`)}else if(Se(r)||ye(r))for(const e in n)if(!e.startsWith("__"))if(null==r.getFields()[e]){if(a&&"ignore"!==a)throw new Error(`${t}.${e} defined in resolvers, but not in schema`)}else{const r=n[e];if("function"!=typeof r&&"object"!=typeof r)throw new Error(`Resolver ${t}.${e} must be object or function`)}}return e=o?function(e,t,n){var r,s,o,a,i,u,c,d,l,p,f,h;const m=e.getTypeMap();for(const n in t){const S=e.getType(n),y=t[n];if(me(S))for(const e in y)e.startsWith("__")?S[e.substring(2)]=y[e]:"astNode"===e&&null!=S.astNode?S.astNode={...S.astNode,description:null!==(s=null===(r=null==y?void 0:y.astNode)||void 0===r?void 0:r.description)&&void 0!==s?s:S.astNode.description,directives:(null!==(o=S.astNode.directives)&&void 0!==o?o:[]).concat(null!==(i=null===(a=null==y?void 0:y.astNode)||void 0===a?void 0:a.directives)&&void 0!==i?i:[])}:"extensionASTNodes"===e&&null!=S.extensionASTNodes?S.extensionASTNodes=S.extensionASTNodes.concat(null!==(u=null==y?void 0:y.extensionASTNodes)&&void 0!==u?u:[]):"extensions"===e&&null!=S.extensions&&null!=y.extensions?S.extensions=Object.assign(Object.create(null),S.extensions,y.extensions):S[e]=y[e];else if(ve(S)){const e=S.toConfig(),t=e.values;for(const n in y)n.startsWith("__")?e[n.substring(2)]=y[n]:"astNode"===n&&null!=e.astNode?e.astNode={...e.astNode,description:null!==(d=null===(c=null==y?void 0:y.astNode)||void 0===c?void 0:c.description)&&void 0!==d?d:e.astNode.description,directives:(null!==(l=e.astNode.directives)&&void 0!==l?l:[]).concat(null!==(f=null===(p=null==y?void 0:y.astNode)||void 0===p?void 0:p.directives)&&void 0!==f?f:[])}:"extensionASTNodes"===n&&null!=e.extensionASTNodes?e.extensionASTNodes=e.extensionASTNodes.concat(null!==(h=null==y?void 0:y.extensionASTNodes)&&void 0!==h?h:[]):"extensions"===n&&null!=S.extensions&&null!=y.extensions?S.extensions=Object.assign(Object.create(null),S.extensions,y.extensions):t[n]&&(t[n].value=y[n]);m[n]=new We(e)}else if(ge(S))for(const e in y)e.startsWith("__")&&(S[e.substring(2)]=y[e]);else if(Se(S)||ye(S))for(const e in y){if(e.startsWith("__")){S[e.substring(2)]=y[e];continue}const t=S.getFields()[e];if(null!=t){const n=y[e];"function"==typeof n?t.resolve=n.bind(y):as(t,n)}}}return Br(e,Lr),Jr(e),Br(e,Fr),null!=n&&Hr(e,(e=>{e.resolve||(e.resolve=n)})),e}(e,u,n):function(e,t,n){return e=Xr(e,{[Vr.SCALAR_TYPE]:e=>{var n,r,s,o,a,i;const u=e.toConfig(),c=t[e.name];if(!ut(e)&&null!=c){for(const t in c)t.startsWith("__")?u[t.substring(2)]=c[t]:"astNode"===t&&null!=u.astNode?u.astNode={...u.astNode,description:null!==(r=null===(n=null==c?void 0:c.astNode)||void 0===n?void 0:n.description)&&void 0!==r?r:u.astNode.description,directives:(null!==(s=u.astNode.directives)&&void 0!==s?s:[]).concat(null!==(a=null===(o=null==c?void 0:c.astNode)||void 0===o?void 0:o.directives)&&void 0!==a?a:[])}:"extensionASTNodes"===t&&null!=u.extensionASTNodes?u.extensionASTNodes=u.extensionASTNodes.concat(null!==(i=null==c?void 0:c.extensionASTNodes)&&void 0!==i?i:[]):"extensions"===t&&null!=u.extensions&&null!=c.extensions?u.extensions=Object.assign(Object.create(null),e.extensions,c.extensions):u[t]=c[t];return new qe(u)}},[Vr.ENUM_TYPE]:e=>{var n,r,s,o,a,i;const u=t[e.name],c=e.toConfig(),d=c.values;if(null!=u){for(const t in u)t.startsWith("__")?c[t.substring(2)]=u[t]:"astNode"===t&&null!=c.astNode?c.astNode={...c.astNode,description:null!==(r=null===(n=null==u?void 0:u.astNode)||void 0===n?void 0:n.description)&&void 0!==r?r:c.astNode.description,directives:(null!==(s=c.astNode.directives)&&void 0!==s?s:[]).concat(null!==(a=null===(o=null==u?void 0:u.astNode)||void 0===o?void 0:o.directives)&&void 0!==a?a:[])}:"extensionASTNodes"===t&&null!=c.extensionASTNodes?c.extensionASTNodes=c.extensionASTNodes.concat(null!==(i=null==u?void 0:u.extensionASTNodes)&&void 0!==i?i:[]):"extensions"===t&&null!=c.extensions&&null!=u.extensions?c.extensions=Object.assign(Object.create(null),e.extensions,u.extensions):d[t]&&(d[t].value=u[t]);return new We(c)}},[Vr.UNION_TYPE]:e=>{const n=t[e.name];if(null!=n){const t=e.toConfig();return n.__resolveType&&(t.resolveType=n.__resolveType),new He(t)}},[Vr.OBJECT_TYPE]:e=>{const n=t[e.name];if(null!=n){const t=e.toConfig();return n.__isTypeOf&&(t.isTypeOf=n.__isTypeOf),new je(t)}},[Vr.INTERFACE_TYPE]:e=>{const n=t[e.name];if(null!=n){const t=e.toConfig();return n.__resolveType&&(t.resolveType=n.__resolveType),new Je(t)}},[Vr.COMPOSITE_FIELD]:(e,n,r)=>{const s=t[r];if(null!=s){const t=s[n];if(null!=t){const n={...e};return"function"==typeof t?n.resolve=t.bind(s):as(n,t),n}}}}),null!=n&&(e=Xr(e,{[Vr.OBJECT_FIELD]:e=>({...e,resolve:null!=e.resolve?e.resolve:n})})),e}(e,u,n),i&&"ignore"!==i&&function(e,t){Xr(e,{[Vr.ABSTRACT_TYPE]:e=>{if(!e.resolveType){const n=`Type "${e.name}" is missing a "__resolveType" resolver. Pass 'ignore' into "resolverValidationOptions.requireResolversForResolveType" to disable this error.`;if("error"===t)throw new Error(n);"warn"===t&&os.warn(n)}}})}(e,i),e}({schema:i,resolvers:Oo(t),resolverValidationOptions:n,inheritResolversFromInterfaces:r,updateResolversInPlace:s}),Object.keys(n).length>0&&function(e,t={}){const{requireResolversForArgs:n,requireResolversForNonScalar:r,requireResolversForAllFields:s}=t;if(s&&(n||r))throw new TypeError("requireResolversForAllFields takes precedence over the more specific assertions. Please configure either requireResolversForAllFields or requireResolversForArgs / requireResolversForNonScalar, but not a combination of them.");Hr(e,((e,t,o)=>{s&&cs("requireResolversForAllFields",s,e,t,o),n&&e.args.length>0&&cs("requireResolversForArgs",n,e,t,o),"ignore"===r||me(De(e.type))||cs("requireResolversForNonScalar",r,e,t,o)}))}(i,n),o&&(u=o,function(e,t){_o(e,t.schemaExtensions);for(const[n,r]of Object.entries(t.types||{})){const t=e.getType(n);if(t)if(_o(t,r.extensions),"object"===r.type||"interface"===r.type)for(const[e,n]of Object.entries(r.fields)){const r=t.getFields()[e];if(r){_o(r,n.extensions);for(const[e,t]of Object.entries(n.arguments))_o(r.args.find((t=>t.name===e)),t)}}else if("input"===r.type)for(const[e,n]of Object.entries(r.fields))_o(t.getFields()[e],n.extensions);else if("enum"===r.type)for(const[e,n]of Object.entries(r.values))_o(t.getValue(e),n)}}(i,o=Io(Array.isArray(u)?u:u?[u]:[]))),i}({typeDefs:Md,resolvers:Bd});class zd{constructor(e){this.processorId=gi.generateId(),this.documents={},this.docSetsBySelector={},this.docSets={},this.filters={},this.customTags={heading:[],paragraph:[],char:[],word:[],intro:[],introHeading:[]},this.emptyBlocks=[],this.selectors=e||[{name:"lang",type:"string",regex:"[a-z]{3}"},{name:"abbr",type:"string"}],this.validateSelectorSpec(this.selectors),this.mutex=new Do,this.nextPeriph=0,this.nextTable=0,this.nextNodes=0}validateSelectors(){if(0===this.selectors.length)throw new Error("No selectors found");for(var[e,t]of this.selectors.entries()){if(!("name"in t))throw new Error("Selector "+e+" has no name");if(!("type"in t))throw new Error("Selector "+e+" has no type");if(!["string","integer"].includes(t.type))throw new Error("Type for selector "+e+" must be string or number, not "+t.type);if("string"===t.type){if("min"in t)throw new Error("String selector should not include 'min'");if("max"in t)throw new Error("String selector should not include 'max'");if("regex"in t)try{(0,l.default)(t.regex)}catch(e){throw new Error("Regex '"+t.regex+"' is not valid: "+e)}if("enum"in t)for(var n of t.enum)if("string"!=typeof n)throw new Error("Enum values for selector "+t.name+" should be strings, not '"+n+"'")}else{if("regex"in t)throw new Error("Integer selector should not include 'regex'");if("min"in t&&"number"!=typeof t.min)throw new Error("'min' must be a number, not '"+t.min+"'");if("max"in t&&"number"!=typeof t.max)throw new Error("'max' must be a number, not '"+t.max+"'");if("min"in t&&"max"in t&&t.min>t.max)throw new Error("'min' cannot be greater than 'max' ("+t.min+" > "+t.max+")");if("enum"in t)for(var r of t.enum)if("number"!=typeof r)throw new Error("Enum values for selector "+t.name+" should be numbers, not '"+r+"'")}for(var s of Object.keys(t))if(!["name","type","regex","min","max","enum"].includes(s))throw new Error("Unexpected key '"+s+"' in selector "+e)}}validateSelectorSpec(e){for(var t of e){if(!t.name)throw new Error("name not found in selector spec element '"+JSON.stringify(t)+"'");if(!t.type)throw new Error("type not found in selector spec element '"+JSON.stringify(t)+"'");if(!["string","integer"].includes(t.type))throw new Error("Type for spec element must be string or number, not "+t.type);for(var n of Object.keys(t))if(!["name","type","regex","min","max","enum"].includes(n))throw new Error("Unexpected key '"+n+"' in selectorSpec")}}selectorString(e){return this.selectors.map((e=>e.name)).map((t=>""+e[t])).join("_")}processor(){return"Proskomma JS"}packageVersion(){return"0.9.3"}docSetList(){return Object.values(this.docSets)}docSetsById(e){return Object.values(this.docSets).filter((t=>e.includes(t.id)))}docSetById(e){return this.docSets[e]}docSetsWithBook(e){var t=Object.values(this.documents).filter((t=>"bookCode"in t.headers&&t.headers.bookCode===e)).map((e=>e.id));return Object.values(this.docSets).filter((e=>(e=>{for(var n of t)if(e.docIds.includes(n))return!0;return!1})(e)))}nDocSets(){return this.docSetList().length}nDocuments(){return this.documentList().length}documentList(){return Object.values(this.documents)}documentById(e){return this.documents[e]}documentsById(e){return Object.values(this.documents).filter((t=>e.includes(t.id)))}documentsWithBook(e){return Object.values(this.documents).filter((t=>"bookCode"in t.headers&&t.headers.bookCode===e))}importDocument(e,t,n,r,s,o,a){return this.importDocuments(e,t,[n],r,s,o,a)[0]}importDocuments(e,t,n,r,s,o,a){r||(r=this.filters),s||(s=this.customTags),o||(o=this.emptyBlocks),a||(a=[]);var i=this.findOrMakeDocSet(e),u=this.docSets[i];u.buildPreEnums();var c=[];for(var d of n){var l=new Ic(this,i,t,d,r,s,o,a),p=l.headers.bookCode;if(Object.values(this.documents).filter((e=>u.docIds.includes(e.id))).map((e=>e.headers.bookCode)).includes(p))throw new Error("Attempt to import document with bookCode '"+p+"' which already exists in docSet "+i);this.addDocument(l,i),c.push(l)}return u.preEnums={},c}importUsfmPeriph(e,t,n,r,s,o){var a=t.toString().split(/[\n\r]+/),i=a[0].substring(4,7);if(!["FRT","BAK","INT"].includes(i))throw new Error("importUsfmInt() expected bookCode of FRT, BAK or INT, not '"+i+"'");var u=[];for(var c of a)if("\\periph"===c.substring(0,7)){var d=l.default.exec(c,(0,l.default)('^\\\\periph (.*)\\|\\s*id\\s*=\\s*"([^"]+)"\\s*$'));if(!d)throw new Error("Unable to parse periph line '"+c+"'");var p=d[1],f=d[2],h="\\id P"+(this.nextPeriph>9?this.nextPeriph:"0"+this.nextPeriph);u.push([h+" INT "+f+" - "+p]),this.nextPeriph++}else u.length>0&&"\\id"!==c.substring(0,3)&&u[u.length-1].push(c);this.importDocuments(e,"usfm",u.map((e=>e.join("\n"))),n,r,s,o)}cleanUsfm(e,t){t=t||{};var n=e.toString().split(/[\n\r]+/),r=[],s=!0,o=["\\id","\\ide","\\usfm","\\sts","\\rem","\\h","\\toc"];for(var a of n){var i=a.split(" ")[0].replace(/[0-9]+/g,"");if(!("remove"in t)||!t.remove.includes(i)){var u=o.includes(i);s&&!u&&"\\mt"!==i&&r.push("\\mt1 USFM"),r.push(a),u||(s=!1)}}return r.join("\n")}deleteDocSet(e){if(!(e in this.docSets))return!1;for(var t of Object.entries(this.documents).filter((t=>t[1].docSetId===e)).map((e=>e[0])))this.deleteDocument(e,t,!1,!1);var n=this.docSetsBySelector,r=this.selectors.slice(0,this.selectors.length-1);for(var s of r)n=n[this.docSets[e].selectors[s.name]];var o=this.selectors[this.selectors.length-1].name,a=this.docSets[e].selectors[o];if(!n[a])throw new Error("Could not find docSetId '"+e+"' in docSetsBySelector in deleteDocSet");return delete n[a],delete this.docSets[e],!0}deleteDocument(e,t,n,r){return n=void 0===n||n,r=void 0===r||r,e in this.docSets&&t in this.documents&&(delete this.documents[t],this.docSets[e].docIds.length>1?(this.docSets[e].docIds=this.docSets[e].docIds.filter((e=>e!==t)),r&&this.rehashDocSet(e)):n&&this.deleteDocSet(e),!0)}rehashDocSet(e){return e in this.docSets&&this.docSets[e].rehash()}addDocument(e,t){this.documents[e.id]=e,this.docSets[t].docIds.push(e.id),this.docSets[t].buildEnumIndexes()}loadSuccinctDocSet(e){var t=e.id;if(t in this.docSets)throw new Error("Attempting to succinct load docSet "+t+" which is already loaded");var n=new Ji(this,null,null,e),r=n.id;this.docSets[r]=n;var s=this.docSetsBySelector,o=e.metadata.selectors;for(var a of this.selectors)a.name===this.selectors[this.selectors.length-1].name?o[a.name]in s||(s[o[a.name]]=n,this.docSets[n.id]=n):(o[a.name]in s||(s[o[a.name]]={}),s=s[o[a.name]]);n.buildPreEnums();var i=[];for(var u of Object.keys(e.docs)){var c=this.newDocumentFromSuccinct(u,e);i.push(c)}return n.preEnums={},i}newDocumentFromSuccinct(e,t){var n=new Ic(this,t.id);n.id=e;var r=t.docs[e];for(var[s,o]of(n.filterOptions={},n.customTags=[],n.emptyBlocks=[],n.tags=new Set(r.tags),n.headers=r.headers,n.mainId=r.mainId,n.sequences={},Object.entries(r.sequences))){if(n.sequences[s]={id:s,type:o.type,tags:new Set(o.tags),blocks:[]},"main"===o.type){if(n.sequences[s].chapters={},!("chapters"in o))throw new Error("chapters not found in main sequence");for(var[a,i]of Object.entries(o.chapters)){var u=new gi.ByteArray;u.fromBase64(i),n.sequences[s].chapters[a]=u}if(n.sequences[s].chapterVerses={},!("chapterVerses"in o))throw new Error("chapterVerses not found in main sequence");for(var[c,d]of Object.entries(o.chapterVerses)){var l=new gi.ByteArray;l.fromBase64(d),n.sequences[s].chapterVerses[c]=l}if(!("tokensPresent"in o))throw new Error("tokensPresent not found in main sequence");n.sequences[s].tokensPresent=new(na())(o.tokensPresent)}for(var p of o.blocks){var f={};for(var[h,m]of Object.entries(p)){var S=new gi.ByteArray(256);S.fromBase64(m),f[h]=S}n.sequences[s].blocks.push(f)}}return this.addDocument(n,t.id),n}findOrMakeDocSet(e){var t,n=this.docSetsBySelector;for(var r of this.selectors)r.name===this.selectors[this.selectors.length-1].name?e[r.name]in n?t=n[e[r.name]]:(t=new Ji(this,e),n[e[r.name]]=t,this.docSets[t.id]=t):(e[r.name]in n||(n[e[r.name]]={}),n=n[e[r.name]]);return t.id}gqlQuery(e,t){var n=this;return function(e){return function(){var t=this,n=arguments;return new Promise((function(r,s){var o=e.apply(t,n);function a(e){Wd(o,r,s,a,i,"next",e)}function i(e){Wd(o,r,s,a,i,"throw",e)}a(void 0)}))}}((function*(){var r,s=yield n.mutex.acquire();try{var o=yield(r={schema:Yd,source:e,rootValue:n,contextValue:{}},new Promise((e=>e(ea(r)))));return t&&t(o),o}finally{s()}}))()}gqlQuerySync(e,t){var n=function(e){const t=ea(e);if(qo(t))throw new Error("GraphQL execution failed to complete synchronously.");return t}({schema:Yd,source:e,rootValue:this,contextValue:{}});return t&&t(n),n}serializeSuccinct(e){return this.docSets[e].serializeSuccinct()}checksum(){var e=Object.values(this.docSets).map((e=>e.checksum())).sort().join(" ");return Ro()(e)}}})(),module.exports=r})();
|
|
8
|
+
deps: ${n}}`};const a={keyword:"dependencies",type:"object",schemaType:"object",error:t.error,code(e){const[t,n]=function({schema:e}){const t={},n={};for(const r in e)"__proto__"!==r&&((Array.isArray(e[r])?t:n)[r]=e[r]);return[t,n]}(e);i(e,t),u(e,n)}};function i(e,t=e.schema){const{gen:n,data:s,it:a}=e;if(0===Object.keys(t).length)return;const i=n.let("missing");for(const u in t){const c=t[u];if(0===c.length)continue;const d=(0,o.propertyInData)(n,s,u,a.opts.ownProperties);e.setParams({property:u,depsCount:c.length,deps:c.join(", ")}),a.allErrors?n.if(d,(()=>{for(const t of c)(0,o.checkReportMissingProp)(e,t)})):(n.if(r._`${d} && (${(0,o.checkMissingProp)(e,c,i)})`),(0,o.reportMissingProp)(e,i),n.else())}}function u(e,t=e.schema){const{gen:n,data:r,keyword:a,it:i}=e,u=n.name("valid");for(const c in t)(0,s.alwaysValidSchema)(i,t[c])||(n.if((0,o.propertyInData)(n,r,c,i.opts.ownProperties),(()=>{const t=e.subschema({keyword:a,schemaProp:c},u);e.mergeValidEvaluated(t,u)}),(()=>n.var(u,!0))),e.ok(u))}t.validatePropertyDeps=i,t.validateSchemaDeps=u,t.default=a},4880:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s=n(7299),o={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:{message:({params:e})=>r.str`must match "${e.ifClause}" schema`,params:({params:e})=>r._`{failingKeyword: ${e.ifClause}}`},code(e){const{gen:t,parentSchema:n,it:o}=e;void 0===n.then&&void 0===n.else&&(0,s.checkStrictMode)(o,'"if" without "then" and "else" is ignored');const i=a(o,"then"),u=a(o,"else");if(!i&&!u)return;const c=t.let("valid",!0),d=t.name("_valid");if(function(){const t=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},d);e.mergeEvaluated(t)}(),e.reset(),i&&u){const n=t.let("ifClause");e.setParams({ifClause:n}),t.if(d,l("then",n),l("else",n))}else i?t.if(d,l("then")):t.if((0,r.not)(d),l("else"));function l(n,s){return()=>{const o=e.subschema({keyword:n},d);t.assign(c,d),e.mergeValidEvaluated(o,c),s?t.assign(s,r._`${n}`):e.setParams({ifClause:n})}}e.pass(c,(()=>e.error(!0)))}};function a(e,t){const n=e.schema[t];return void 0!==n&&!(0,s.alwaysValidSchema)(e,n)}t.default=o},2103:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(9717),s=n(8844),o=n(3458),a=n(840),i=n(480),u=n(1353),c=n(8142),d=n(2906),l=n(9580),p=n(8443),f=n(7666),h=n(5651),m=n(3965),S=n(4605),y=n(4880),g=n(2659);t.default=function(e=!1){const t=[f.default,h.default,m.default,S.default,y.default,g.default,c.default,d.default,u.default,l.default,p.default];return e?t.push(s.default,a.default):t.push(r.default,o.default),t.push(i.default),t}},3458:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateTuple=void 0;const r=n(1724),s=n(7299),o=n(9614),a={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){const{schema:t,it:n}=e;if(Array.isArray(t))return i(e,"additionalItems",t);n.items=!0,(0,s.alwaysValidSchema)(n,t)||e.ok((0,o.validateArray)(e))}};function i(e,t,n=e.schema){const{gen:o,parentSchema:a,data:i,keyword:u,it:c}=e;!function(e){const{opts:r,errSchemaPath:o}=c,a=n.length,i=a===e.minItems&&(a===e.maxItems||!1===e[t]);if(r.strictTuples&&!i){const e=`"${u}" is ${a}-tuple, but minItems or maxItems/${t} are not specified or different at path "${o}"`;(0,s.checkStrictMode)(c,e,r.strictTuples)}}(a),c.opts.unevaluated&&n.length&&!0!==c.items&&(c.items=s.mergeEvaluated.items(o,n.length,c.items));const d=o.name("valid"),l=o.const("len",r._`${i}.length`);n.forEach(((t,n)=>{(0,s.alwaysValidSchema)(c,t)||(o.if(r._`${l} > ${n}`,(()=>e.subschema({keyword:u,schemaProp:n,dataProp:n},d))),e.ok(d))}))}t.validateTuple=i,t.default=a},840:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s=n(7299),o=n(9614),a=n(9717),i={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:{message:({params:{len:e}})=>r.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>r._`{limit: ${e}}`},code(e){const{schema:t,parentSchema:n,it:r}=e,{prefixItems:i}=n;r.items=!0,(0,s.alwaysValidSchema)(r,t)||(i?(0,a.validateAdditionalItems)(e,i):e.ok((0,o.validateArray)(e)))}};t.default=i},7666:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(7299),s={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:t,schema:n,it:s}=e;if((0,r.alwaysValidSchema)(s,n))return void e.fail();const o=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),e.failResult(o,(()=>e.reset()),(()=>e.error()))},error:{message:"must NOT be valid"}};t.default=s},3965:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s=n(7299),o={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:{message:"must match exactly one schema in oneOf",params:({params:e})=>r._`{passingSchemas: ${e.passing}}`},code(e){const{gen:t,schema:n,parentSchema:o,it:a}=e;if(!Array.isArray(n))throw new Error("ajv implementation error");if(a.opts.discriminator&&o.discriminator)return;const i=n,u=t.let("valid",!1),c=t.let("passing",null),d=t.name("_valid");e.setParams({passing:c}),t.block((function(){i.forEach(((n,o)=>{let i;(0,s.alwaysValidSchema)(a,n)?t.var(d,!0):i=e.subschema({keyword:"oneOf",schemaProp:o,compositeRule:!0},d),o>0&&t.if(r._`${d} && ${u}`).assign(u,!1).assign(c,r._`[${c}, ${o}]`).else(),t.if(d,(()=>{t.assign(u,!0),t.assign(c,o),i&&e.mergeEvaluated(i,r.Name)}))}))})),e.result(u,(()=>e.reset()),(()=>e.error(!0)))}};t.default=o},8443:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(9614),s=n(1724),o=n(7299),a=n(7299),i={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:n,data:i,parentSchema:u,it:c}=e,{opts:d}=c,l=(0,r.allSchemaProperties)(n),p=l.filter((e=>(0,o.alwaysValidSchema)(c,n[e])));if(0===l.length||p.length===l.length&&(!c.opts.unevaluated||!0===c.props))return;const f=d.strictSchema&&!d.allowMatchingProperties&&u.properties,h=t.name("valid");!0===c.props||c.props instanceof s.Name||(c.props=(0,a.evaluatedPropsToName)(t,c.props));const{props:m}=c;function S(e){for(const t in f)new RegExp(e).test(t)&&(0,o.checkStrictMode)(c,`property ${t} matches pattern ${e} (use allowMatchingProperties)`)}function y(n){t.forIn("key",i,(o=>{t.if(s._`${(0,r.usePattern)(e,n)}.test(${o})`,(()=>{const r=p.includes(n);r||e.subschema({keyword:"patternProperties",schemaProp:n,dataProp:o,dataPropType:a.Type.Str},h),c.opts.unevaluated&&!0!==m?t.assign(s._`${m}[${o}]`,!0):r||c.allErrors||t.if((0,s.not)(h),(()=>t.break()))}))}))}!function(){for(const e of l)f&&S(e),c.allErrors?y(e):(t.var(h,!0),y(e),t.if(h))}()}};t.default=i},8844:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(3458),s={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,r.validateTuple)(e,"items")};t.default=s},9580:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(8250),s=n(9614),o=n(7299),a=n(2906),i={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:n,parentSchema:i,data:u,it:c}=e;"all"===c.opts.removeAdditional&&void 0===i.additionalProperties&&a.default.code(new r.KeywordCxt(c,a.default,"additionalProperties"));const d=(0,s.allSchemaProperties)(n);for(const e of d)c.definedProperties.add(e);c.opts.unevaluated&&d.length&&!0!==c.props&&(c.props=o.mergeEvaluated.props(t,(0,o.toHash)(d),c.props));const l=d.filter((e=>!(0,o.alwaysValidSchema)(c,n[e])));if(0===l.length)return;const p=t.name("valid");for(const n of l)f(n)?h(n):(t.if((0,s.propertyInData)(t,u,n,c.opts.ownProperties)),h(n),c.allErrors||t.else().var(p,!0),t.endIf()),e.it.definedProperties.add(n),e.ok(p);function f(e){return c.opts.useDefaults&&!c.compositeRule&&void 0!==n[e].default}function h(t){e.subschema({keyword:"properties",schemaProp:t,dataProp:t},p)}}};t.default=i},8142:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s=n(7299),o={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:{message:"property name must be valid",params:({params:e})=>r._`{propertyName: ${e.propertyName}}`},code(e){const{gen:t,schema:n,data:o,it:a}=e;if((0,s.alwaysValidSchema)(a,n))return;const i=t.name("valid");t.forIn("key",o,(n=>{e.setParams({propertyName:n}),e.subschema({keyword:"propertyNames",data:n,dataTypes:["string"],propertyName:n,compositeRule:!0},i),t.if((0,r.not)(i),(()=>{e.error(!0),a.allErrors||t.break()}))})),e.ok(i)}};t.default=o},2659:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(7299),s={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:n}){void 0===t.if&&(0,r.checkStrictMode)(n,`"${e}" without "if" is ignored`)}};t.default=s},9614:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateUnion=t.validateArray=t.usePattern=t.callValidateCode=t.schemaProperties=t.allSchemaProperties=t.noPropertyInData=t.propertyInData=t.isOwnProperty=t.hasPropFunc=t.reportMissingProp=t.checkMissingProp=t.checkReportMissingProp=void 0;const r=n(1724),s=n(7299),o=n(8839),a=n(7299);function i(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:r._`Object.prototype.hasOwnProperty`})}function u(e,t,n){return r._`${i(e)}.call(${t}, ${n})`}function c(e,t,n,s){const o=r._`${t}${(0,r.getProperty)(n)} === undefined`;return s?(0,r.or)(o,(0,r.not)(u(e,t,n))):o}function d(e){return e?Object.keys(e).filter((e=>"__proto__"!==e)):[]}t.checkReportMissingProp=function(e,t){const{gen:n,data:s,it:o}=e;n.if(c(n,s,t,o.opts.ownProperties),(()=>{e.setParams({missingProperty:r._`${t}`},!0),e.error()}))},t.checkMissingProp=function({gen:e,data:t,it:{opts:n}},s,o){return(0,r.or)(...s.map((s=>(0,r.and)(c(e,t,s,n.ownProperties),r._`${o} = ${s}`))))},t.reportMissingProp=function(e,t){e.setParams({missingProperty:t},!0),e.error()},t.hasPropFunc=i,t.isOwnProperty=u,t.propertyInData=function(e,t,n,s){const o=r._`${t}${(0,r.getProperty)(n)} !== undefined`;return s?r._`${o} && ${u(e,t,n)}`:o},t.noPropertyInData=c,t.allSchemaProperties=d,t.schemaProperties=function(e,t){return d(t).filter((n=>!(0,s.alwaysValidSchema)(e,t[n])))},t.callValidateCode=function({schemaCode:e,data:t,it:{gen:n,topSchemaRef:s,schemaPath:a,errorPath:i},it:u},c,d,l){const p=l?r._`${e}, ${t}, ${s}${a}`:t,f=[[o.default.instancePath,(0,r.strConcat)(o.default.instancePath,i)],[o.default.parentData,u.parentData],[o.default.parentDataProperty,u.parentDataProperty],[o.default.rootData,o.default.rootData]];u.opts.dynamicRef&&f.push([o.default.dynamicAnchors,o.default.dynamicAnchors]);const h=r._`${p}, ${n.object(...f)}`;return d!==r.nil?r._`${c}.call(${d}, ${h})`:r._`${c}(${h})`};const l=r._`new RegExp`;t.usePattern=function({gen:e,it:{opts:t}},n){const s=t.unicodeRegExp?"u":"",{regExp:o}=t.code,i=o(n,s);return e.scopeValue("pattern",{key:i.toString(),ref:i,code:r._`${"new RegExp"===o.code?l:(0,a.useFunc)(e,o)}(${n}, ${s})`})},t.validateArray=function(e){const{gen:t,data:n,keyword:o,it:a}=e,i=t.name("valid");if(a.allErrors){const e=t.let("valid",!0);return u((()=>t.assign(e,!1))),e}return t.var(i,!0),u((()=>t.break())),i;function u(a){const u=t.const("len",r._`${n}.length`);t.forRange("i",0,u,(n=>{e.subschema({keyword:o,dataProp:n,dataPropType:s.Type.Num},i),t.if((0,r.not)(i),a)}))}},t.validateUnion=function(e){const{gen:t,schema:n,keyword:o,it:a}=e;if(!Array.isArray(n))throw new Error("ajv implementation error");if(n.some((e=>(0,s.alwaysValidSchema)(a,e)))&&!a.opts.unevaluated)return;const i=t.let("valid",!1),u=t.name("_valid");t.block((()=>n.forEach(((n,s)=>{const a=e.subschema({keyword:o,schemaProp:s,compositeRule:!0},u);t.assign(i,r._`${i} || ${u}`),e.mergeValidEvaluated(a,u)||t.if((0,r.not)(i))})))),e.result(i,(()=>e.reset()),(()=>e.error(!0)))}},2531:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};t.default=n},8730:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(2531),s=n(6278),o=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",r.default,s.default];t.default=o},6278:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.callRef=t.getValidate=void 0;const r=n(6954),s=n(9614),o=n(1724),a=n(8839),i=n(3744),u=n(7299),c={keyword:"$ref",schemaType:"string",code(e){const{gen:t,schema:n,it:s}=e,{baseId:a,schemaEnv:u,validateName:c,opts:p,self:f}=s,{root:h}=u;if(("#"===n||"#/"===n)&&a===h.baseId)return function(){if(u===h)return l(e,c,u,u.$async);const n=t.scopeValue("root",{ref:h});return l(e,o._`${n}.validate`,h,h.$async)}();const m=i.resolveRef.call(f,h,a,n);if(void 0===m)throw new r.default(s.opts.uriResolver,a,n);return m instanceof i.SchemaEnv?function(t){const n=d(e,t);l(e,n,t,t.$async)}(m):function(r){const s=t.scopeValue("schema",!0===p.code.source?{ref:r,code:(0,o.stringify)(r)}:{ref:r}),a=t.name("valid"),i=e.subschema({schema:r,dataTypes:[],schemaPath:o.nil,topSchemaRef:s,errSchemaPath:n},a);e.mergeEvaluated(i),e.ok(a)}(m)}};function d(e,t){const{gen:n}=e;return t.validate?n.scopeValue("validate",{ref:t.validate}):o._`${n.scopeValue("wrapper",{ref:t})}.validate`}function l(e,t,n,r){const{gen:i,it:c}=e,{allErrors:d,schemaEnv:l,opts:p}=c,f=p.passContext?a.default.this:o.nil;function h(e){const t=o._`${e}.errors`;i.assign(a.default.vErrors,o._`${a.default.vErrors} === null ? ${t} : ${a.default.vErrors}.concat(${t})`),i.assign(a.default.errors,o._`${a.default.vErrors}.length`)}function m(e){var t;if(!c.opts.unevaluated)return;const r=null===(t=null==n?void 0:n.validate)||void 0===t?void 0:t.evaluated;if(!0!==c.props)if(r&&!r.dynamicProps)void 0!==r.props&&(c.props=u.mergeEvaluated.props(i,r.props,c.props));else{const t=i.var("props",o._`${e}.evaluated.props`);c.props=u.mergeEvaluated.props(i,t,c.props,o.Name)}if(!0!==c.items)if(r&&!r.dynamicItems)void 0!==r.items&&(c.items=u.mergeEvaluated.items(i,r.items,c.items));else{const t=i.var("items",o._`${e}.evaluated.items`);c.items=u.mergeEvaluated.items(i,t,c.items,o.Name)}}r?function(){if(!l.$async)throw new Error("async schema referenced by sync schema");const n=i.let("valid");i.try((()=>{i.code(o._`await ${(0,s.callValidateCode)(e,t,f)}`),m(t),d||i.assign(n,!0)}),(e=>{i.if(o._`!(${e} instanceof ${c.ValidationError})`,(()=>i.throw(e))),h(e),d||i.assign(n,!1)})),e.ok(n)}():e.result((0,s.callValidateCode)(e,t,f),(()=>m(t)),(()=>h(t)))}t.getValidate=d,t.callRef=l,t.default=c},6325:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s=n(7689),o=n(3744),a=n(7299),i={keyword:"discriminator",type:"object",schemaType:"object",error:{message:({params:{discrError:e,tagName:t}})=>e===s.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:n}})=>r._`{error: ${e}, tag: ${n}, tagValue: ${t}}`},code(e){const{gen:t,data:n,schema:i,parentSchema:u,it:c}=e,{oneOf:d}=u;if(!c.opts.discriminator)throw new Error("discriminator: requires discriminator option");const l=i.propertyName;if("string"!=typeof l)throw new Error("discriminator: requires propertyName");if(i.mapping)throw new Error("discriminator: mapping is not supported");if(!d)throw new Error("discriminator: requires oneOf keyword");const p=t.let("valid",!1),f=t.const("tag",r._`${n}${(0,r.getProperty)(l)}`);function h(n){const s=t.name("valid"),o=e.subschema({keyword:"oneOf",schemaProp:n},s);return e.mergeEvaluated(o,r.Name),s}t.if(r._`typeof ${f} == "string"`,(()=>function(){const n=function(){var e;const t={},n=s(u);let r=!0;for(let t=0;t<d.length;t++){let u=d[t];(null==u?void 0:u.$ref)&&!(0,a.schemaHasRulesButRef)(u,c.self.RULES)&&(u=o.resolveRef.call(c.self,c.schemaEnv.root,c.baseId,null==u?void 0:u.$ref),u instanceof o.SchemaEnv&&(u=u.schema));const p=null===(e=null==u?void 0:u.properties)||void 0===e?void 0:e[l];if("object"!=typeof p)throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${l}"`);r=r&&(n||s(u)),i(p,t)}if(!r)throw new Error(`discriminator: "${l}" must be required`);return t;function s({required:e}){return Array.isArray(e)&&e.includes(l)}function i(e,t){if(e.const)p(e.const,t);else{if(!e.enum)throw new Error(`discriminator: "properties/${l}" must have "const" or "enum"`);for(const n of e.enum)p(n,t)}}function p(e,n){if("string"!=typeof e||e in t)throw new Error(`discriminator: "${l}" values must be unique strings`);t[e]=n}}();t.if(!1);for(const e in n)t.elseIf(r._`${f} === ${e}`),t.assign(p,h(n[e]));t.else(),e.error(!1,{discrError:s.DiscrError.Mapping,tag:f,tagName:l}),t.endIf()}()),(()=>e.error(!1,{discrError:s.DiscrError.Tag,tag:f,tagName:l}))),e.ok(p)}};t.default=i},7689:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.DiscrError=void 0,(n=t.DiscrError||(t.DiscrError={})).Tag="tag",n.Mapping="mapping"},5432:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(8730),s=n(1504),o=n(2103),a=n(5313),i=n(486),u=[r.default,s.default,(0,o.default)(),a.default,i.metadataVocabulary,i.contentVocabulary];t.default=u},1318:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>r.str`must match format "${e}"`,params:({schemaCode:e})=>r._`{format: ${e}}`},code(e,t){const{gen:n,data:s,$data:o,schema:a,schemaCode:i,it:u}=e,{opts:c,errSchemaPath:d,schemaEnv:l,self:p}=u;c.validateFormats&&(o?function(){const o=n.scopeValue("formats",{ref:p.formats,code:c.code.formats}),a=n.const("fDef",r._`${o}[${i}]`),u=n.let("fType"),d=n.let("format");n.if(r._`typeof ${a} == "object" && !(${a} instanceof RegExp)`,(()=>n.assign(u,r._`${a}.type || "string"`).assign(d,r._`${a}.validate`)),(()=>n.assign(u,r._`"string"`).assign(d,a))),e.fail$data((0,r.or)(!1===c.strictSchema?r.nil:r._`${i} && !${d}`,function(){const e=l.$async?r._`(${a}.async ? await ${d}(${s}) : ${d}(${s}))`:r._`${d}(${s})`,n=r._`(typeof ${d} == "function" ? ${e} : ${d}.test(${s}))`;return r._`${d} && ${d} !== true && ${u} === ${t} && !${n}`}()))}():function(){const o=p.formats[a];if(!o)return void function(){if(!1!==c.strictSchema)throw new Error(e());function e(){return`unknown format "${a}" ignored in schema at path "${d}"`}p.logger.warn(e())}();if(!0===o)return;const[i,u,f]=function(e){const t=e instanceof RegExp?(0,r.regexpCode)(e):c.code.formats?r._`${c.code.formats}${(0,r.getProperty)(a)}`:void 0,s=n.scopeValue("formats",{key:a,ref:e,code:t});return"object"!=typeof e||e instanceof RegExp?["string",e,s]:[e.type||"string",e.validate,r._`${s}.validate`]}(o);i===t&&e.pass(function(){if("object"==typeof o&&!(o instanceof RegExp)&&o.async){if(!l.$async)throw new Error("async format in sync schema");return r._`await ${f}(${s})`}return"function"==typeof u?r._`${f}(${s})`:r._`${f}.test(${s})`}())}())}};t.default=s},5313:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=[n(1318).default];t.default=r},486:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.contentVocabulary=t.metadataVocabulary=void 0,t.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],t.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]},9672:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s=n(7299),o=n(4600),a={keyword:"const",$data:!0,error:{message:"must be equal to constant",params:({schemaCode:e})=>r._`{allowedValue: ${e}}`},code(e){const{gen:t,data:n,$data:a,schemaCode:i,schema:u}=e;a||u&&"object"==typeof u?e.fail$data(r._`!${(0,s.useFunc)(t,o.default)}(${n}, ${i})`):e.fail(r._`${u} !== ${n}`)}};t.default=a},2547:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s=n(7299),o=n(4600),a={keyword:"enum",schemaType:"array",$data:!0,error:{message:"must be equal to one of the allowed values",params:({schemaCode:e})=>r._`{allowedValues: ${e}}`},code(e){const{gen:t,data:n,$data:a,schema:i,schemaCode:u,it:c}=e;if(!a&&0===i.length)throw new Error("enum must have non-empty array");const d=i.length>=c.opts.loopEnum;let l;const p=()=>null!=l?l:l=(0,s.useFunc)(t,o.default);let f;if(d||a)f=t.let("valid"),e.block$data(f,(function(){t.assign(f,!1),t.forOf("v",u,(e=>t.if(r._`${p()}(${n}, ${e})`,(()=>t.assign(f,!0).break()))))}));else{if(!Array.isArray(i))throw new Error("ajv implementation error");const e=t.const("vSchema",u);f=(0,r.or)(...i.map(((t,s)=>function(e,t){const s=i[t];return"object"==typeof s&&null!==s?r._`${p()}(${n}, ${e}[${t}])`:r._`${n} === ${s}`}(e,s))))}e.pass(f)}};t.default=a},1504:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(3800),s=n(405),o=n(4657),a=n(3451),i=n(5939),u=n(9947),c=n(552),d=n(5070),l=n(9672),p=n(2547),f=[r.default,s.default,o.default,a.default,i.default,u.default,c.default,d.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},l.default,p.default];t.default=f},552:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const n="maxItems"===e?"more":"fewer";return r.str`must NOT have ${n} than ${t} items`},params:({schemaCode:e})=>r._`{limit: ${e}}`},code(e){const{keyword:t,data:n,schemaCode:s}=e,o="maxItems"===t?r.operators.GT:r.operators.LT;e.fail$data(r._`${n}.length ${o} ${s}`)}};t.default=s},4657:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s=n(7299),o=n(4420),a={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const n="maxLength"===e?"more":"fewer";return r.str`must NOT have ${n} than ${t} characters`},params:({schemaCode:e})=>r._`{limit: ${e}}`},code(e){const{keyword:t,data:n,schemaCode:a,it:i}=e,u="maxLength"===t?r.operators.GT:r.operators.LT,c=!1===i.opts.unicode?r._`${n}.length`:r._`${(0,s.useFunc)(e.gen,o.default)}(${n})`;e.fail$data(r._`${c} ${u} ${a}`)}};t.default=a},3800:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s=r.operators,o={maximum:{okStr:"<=",ok:s.LTE,fail:s.GT},minimum:{okStr:">=",ok:s.GTE,fail:s.LT},exclusiveMaximum:{okStr:"<",ok:s.LT,fail:s.GTE},exclusiveMinimum:{okStr:">",ok:s.GT,fail:s.LTE}},a={message:({keyword:e,schemaCode:t})=>r.str`must be ${o[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>r._`{comparison: ${o[e].okStr}, limit: ${t}}`},i={keyword:Object.keys(o),type:"number",schemaType:"number",$data:!0,error:a,code(e){const{keyword:t,data:n,schemaCode:s}=e;e.fail$data(r._`${n} ${o[t].fail} ${s} || isNaN(${n})`)}};t.default=i},5939:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const n="maxProperties"===e?"more":"fewer";return r.str`must NOT have ${n} than ${t} properties`},params:({schemaCode:e})=>r._`{limit: ${e}}`},code(e){const{keyword:t,data:n,schemaCode:s}=e,o="maxProperties"===t?r.operators.GT:r.operators.LT;e.fail$data(r._`Object.keys(${n}).length ${o} ${s}`)}};t.default=s},405:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1724),s={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:{message:({schemaCode:e})=>r.str`must be multiple of ${e}`,params:({schemaCode:e})=>r._`{multipleOf: ${e}}`},code(e){const{gen:t,data:n,schemaCode:s,it:o}=e,a=o.opts.multipleOfPrecision,i=t.let("res"),u=a?r._`Math.abs(Math.round(${i}) - ${i}) > 1e-${a}`:r._`${i} !== parseInt(${i})`;e.fail$data(r._`(${s} === 0 || (${i} = ${n}/${s}, ${u}))`)}};t.default=s},3451:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(9614),s=n(1724),o={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>s.str`must match pattern "${e}"`,params:({schemaCode:e})=>s._`{pattern: ${e}}`},code(e){const{data:t,$data:n,schema:o,schemaCode:a,it:i}=e,u=i.opts.unicodeRegExp?"u":"",c=n?s._`(new RegExp(${a}, ${u}))`:(0,r.usePattern)(e,o);e.fail$data(s._`!${c}.test(${t})`)}};t.default=o},9947:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(9614),s=n(1724),o=n(7299),a={keyword:"required",type:"object",schemaType:"array",$data:!0,error:{message:({params:{missingProperty:e}})=>s.str`must have required property '${e}'`,params:({params:{missingProperty:e}})=>s._`{missingProperty: ${e}}`},code(e){const{gen:t,schema:n,schemaCode:a,data:i,$data:u,it:c}=e,{opts:d}=c;if(!u&&0===n.length)return;const l=n.length>=d.loopRequired;if(c.allErrors?function(){if(l||u)e.block$data(s.nil,p);else for(const t of n)(0,r.checkReportMissingProp)(e,t)}():function(){const o=t.let("missing");if(l||u){const n=t.let("valid",!0);e.block$data(n,(()=>function(n,o){e.setParams({missingProperty:n}),t.forOf(n,a,(()=>{t.assign(o,(0,r.propertyInData)(t,i,n,d.ownProperties)),t.if((0,s.not)(o),(()=>{e.error(),t.break()}))}),s.nil)}(o,n))),e.ok(n)}else t.if((0,r.checkMissingProp)(e,n,o)),(0,r.reportMissingProp)(e,o),t.else()}(),d.strictRequired){const t=e.parentSchema.properties,{definedProperties:r}=e.it;for(const e of n)if(void 0===(null==t?void 0:t[e])&&!r.has(e)){const t=`required property "${e}" is not defined at "${c.schemaEnv.baseId+c.errSchemaPath}" (strictRequired)`;(0,o.checkStrictMode)(c,t,c.opts.strictRequired)}}function p(){t.forOf("prop",a,(n=>{e.setParams({missingProperty:n}),t.if((0,r.noPropertyInData)(t,i,n,d.ownProperties),(()=>e.error()))}))}}};t.default=a},5070:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(9677),s=n(1724),o=n(7299),a=n(4600),i={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:{message:({params:{i:e,j:t}})=>s.str`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>s._`{i: ${e}, j: ${t}}`},code(e){const{gen:t,data:n,$data:i,schema:u,parentSchema:c,schemaCode:d,it:l}=e;if(!i&&!u)return;const p=t.let("valid"),f=c.items?(0,r.getSchemaTypes)(c.items):[];function h(o,a){const i=t.name("item"),u=(0,r.checkDataTypes)(f,i,l.opts.strictNumbers,r.DataType.Wrong),c=t.const("indices",s._`{}`);t.for(s._`;${o}--;`,(()=>{t.let(i,s._`${n}[${o}]`),t.if(u,s._`continue`),f.length>1&&t.if(s._`typeof ${i} == "string"`,s._`${i} += "_"`),t.if(s._`typeof ${c}[${i}] == "number"`,(()=>{t.assign(a,s._`${c}[${i}]`),e.error(),t.assign(p,!1).break()})).code(s._`${c}[${i}] = ${o}`)}))}function m(r,i){const u=(0,o.useFunc)(t,a.default),c=t.name("outer");t.label(c).for(s._`;${r}--;`,(()=>t.for(s._`${i} = ${r}; ${i}--;`,(()=>t.if(s._`${u}(${n}[${r}], ${n}[${i}])`,(()=>{e.error(),t.assign(p,!1).break(c)}))))))}e.block$data(p,(function(){const r=t.let("i",s._`${n}.length`),o=t.let("j");e.setParams({i:r,j:o}),t.assign(p,!0),t.if(s._`${r} > 1`,(()=>(f.length>0&&!f.some((e=>"object"===e||"array"===e))?h:m)(r,o)))}),s._`${d} === false`),e.ok(p)}};t.default=i},987:e=>{"use strict";var t=e.exports=function(e,t,r){"function"==typeof t&&(r=t,t={}),n(t,"function"==typeof(r=t.cb||r)?r:r.pre||function(){},r.post||function(){},e,"",e)};function n(e,r,s,o,a,i,u,c,d,l){if(o&&"object"==typeof o&&!Array.isArray(o)){for(var p in r(o,a,i,u,c,d,l),o){var f=o[p];if(Array.isArray(f)){if(p in t.arrayKeywords)for(var h=0;h<f.length;h++)n(e,r,s,f[h],a+"/"+p+"/"+h,i,a,p,o,h)}else if(p in t.propsKeywords){if(f&&"object"==typeof f)for(var m in f)n(e,r,s,f[m],a+"/"+p+"/"+m.replace(/~/g,"~0").replace(/\//g,"~1"),i,a,p,o,m)}else(p in t.keywords||e.allKeys&&!(p in t.skipKeywords))&&n(e,r,s,f,a+"/"+p,i,a,p,o)}s(o,a,i,u,c,d,l)}}t.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0},t.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},t.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},t.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0}},3815:function(e,t,n){var r,s=n(4300).Buffer;r=function(){return function(){var e=function(e,t,n,r,s,o){for(var a=function(e,t){var n=e.toString(16);return n.length<2&&(n="0"+n),t&&(n=n.toUpperCase()),n},i=t;i<=n;i++)s[o++]=a(e[i],r);return s},t=function(e,t,n,r,s){for(var o=t;o<=n;o+=2)r[s++]=parseInt(e.substr(o,2),16)},n="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-:+=^!/*?&<>()[]{}@%$#".split(""),r=[0,68,0,84,83,82,72,0,75,76,70,65,0,63,62,69,0,1,2,3,4,5,6,7,8,9,64,0,73,66,74,71,81,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,77,0,78,67,0,0,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,79,0,80,0,0],o=function(e,t){var n={ibits:8,obits:8,obigendian:!0};for(var r in t)void 0!==n[r]&&(n[r]=t[r]);for(var s,o,a,i=[],u=0,c=0,d=0,l=e.length;0===c&&(o=e.charCodeAt(u++)),s=o>>n.ibits-(c+8)&255,c=(c+8)%n.ibits,n.obigendian?0===d?a=s<<n.obits-8:a|=s<<n.obits-8-d:0===d?a=s:a|=s<<d,!(0==(d=(d+8)%n.obits)&&(i.push(a),u>=l)););return i},a=function(e,t){var n={ibits:32,ibigendian:!0};for(var r in t)void 0!==n[r]&&(n[r]=t[r]);var s="",o=4294967295;n.ibits<32&&(o=(1<<n.ibits)-1);for(var a=e.length,i=0;i<a;i++)for(var u=e[i]&o,c=0;c<n.ibits;c+=8)n.ibigendian?s+=String.fromCharCode(u>>n.ibits-8-c&255):s+=String.fromCharCode(u>>c&255);return s},i=256,u=function(e,t,n,r,s,o,a,i){return[i,a,o,s,r,n,t,e]},c=function(){return u(0,0,0,0,0,0,0,0)},d=function(e){return e.slice(0)},l=function(e){for(var t=c(),n=0;n<8;n++)t[n]=Math.floor(e%i),e/=i;return t},p=function(e){for(var t=0,n=7;n>=0;n--)t*=i,t+=e[n];return Math.floor(t)},f=function(e,t){for(var n=0,r=0;r<8;r++)n+=e[r]+t[r],e[r]=Math.floor(n%i),n=Math.floor(n/i);return n},h=function(e,t){for(var n=0,r=0;r<8;r++)n+=e[r]*t,e[r]=Math.floor(n%i),n=Math.floor(n/i);return n},m=function(e,t){for(var n=0;n<8;n++)e[n]&=t[n];return e},S=function(e,t){var n=c();if(t%8!=0)throw new Error("ui64_rorn: only bit rotations supported with a multiple of digit bits");for(var r=Math.floor(t/8),s=0;s<r;s++){for(var o=6;o>=0;o--)n[o+1]=n[o];for(n[0]=e[0],o=0;o<7;o++)e[o]=e[o+1];e[o]=0}return p(n)},y=function(e,t){if(t>64)throw new Error("ui64_ror: invalid number of bits to shift");var n,r=new Array(16);for(n=0;n<8;n++)r[n+8]=e[n],r[n]=0;var s=Math.floor(t/8),o=t%8;for(n=s;n<15;n++)r[n-s]=255&(r[n]>>>o|r[n+1]<<8-o);for(r[15-s]=r[15]>>>o&255,n=15-s+1;n<16;n++)r[n]=0;for(n=0;n<8;n++)e[n]=r[n+8];return r.slice(0,8)},g=function(e,t){for(var n=0;n<8;n++)e[n]^=t[n]},v=function(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n},b=function(e,t){return e<<t&4294967295|e>>>32-t&4294967295},E=function(e){return a(function(e,t){function n(e,t,n,r){return e<20?t&n|~t&r:e<40?t^n^r:e<60?t&n|t&r|n&r:t^n^r}function r(e){return e<20?1518500249:e<40?1859775393:e<60?-1894007588:-899497514}e[t>>5]|=128<<24-t%32,e[15+(t+64>>9<<4)]=t;for(var s=Array(80),o=1732584193,a=-271733879,i=-1732584194,u=271733878,c=-1009589776,d=0;d<e.length;d+=16){for(var l=o,p=a,f=i,h=u,m=c,S=0;S<80;S++){s[S]=S<16?e[d+S]:b(s[S-3]^s[S-8]^s[S-14]^s[S-16],1);var y=v(v(b(o,5),n(S,a,i,u)),v(v(c,s[S]),r(S)));c=u,u=i,i=b(a,30),a=o,o=y}o=v(o,l),a=v(a,p),i=v(i,f),u=v(u,h),c=v(c,m)}return[o,a,i,u,c]}(o(e,{ibits:8,obits:32,obigendian:!0}),8*e.length),{ibits:32,ibigendian:!0})},A=function(e){return a(function(e,t){function n(e,t,n,r,s,o){return v(b(v(v(t,e),v(r,o)),s),n)}function r(e,t,r,s,o,a,i){return n(t&r|~t&s,e,t,o,a,i)}function s(e,t,r,s,o,a,i){return n(t&s|r&~s,e,t,o,a,i)}function o(e,t,r,s,o,a,i){return n(t^r^s,e,t,o,a,i)}function a(e,t,r,s,o,a,i){return n(r^(t|~s),e,t,o,a,i)}e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;for(var i=1732584193,u=-271733879,c=-1732584194,d=271733878,l=0;l<e.length;l+=16){var p=i,f=u,h=c,m=d;i=r(i,u,c,d,e[l+0],7,-680876936),d=r(d,i,u,c,e[l+1],12,-389564586),c=r(c,d,i,u,e[l+2],17,606105819),u=r(u,c,d,i,e[l+3],22,-1044525330),i=r(i,u,c,d,e[l+4],7,-176418897),d=r(d,i,u,c,e[l+5],12,1200080426),c=r(c,d,i,u,e[l+6],17,-1473231341),u=r(u,c,d,i,e[l+7],22,-45705983),i=r(i,u,c,d,e[l+8],7,1770035416),d=r(d,i,u,c,e[l+9],12,-1958414417),c=r(c,d,i,u,e[l+10],17,-42063),u=r(u,c,d,i,e[l+11],22,-1990404162),i=r(i,u,c,d,e[l+12],7,1804603682),d=r(d,i,u,c,e[l+13],12,-40341101),c=r(c,d,i,u,e[l+14],17,-1502002290),i=s(i,u=r(u,c,d,i,e[l+15],22,1236535329),c,d,e[l+1],5,-165796510),d=s(d,i,u,c,e[l+6],9,-1069501632),c=s(c,d,i,u,e[l+11],14,643717713),u=s(u,c,d,i,e[l+0],20,-373897302),i=s(i,u,c,d,e[l+5],5,-701558691),d=s(d,i,u,c,e[l+10],9,38016083),c=s(c,d,i,u,e[l+15],14,-660478335),u=s(u,c,d,i,e[l+4],20,-405537848),i=s(i,u,c,d,e[l+9],5,568446438),d=s(d,i,u,c,e[l+14],9,-1019803690),c=s(c,d,i,u,e[l+3],14,-187363961),u=s(u,c,d,i,e[l+8],20,1163531501),i=s(i,u,c,d,e[l+13],5,-1444681467),d=s(d,i,u,c,e[l+2],9,-51403784),c=s(c,d,i,u,e[l+7],14,1735328473),i=o(i,u=s(u,c,d,i,e[l+12],20,-1926607734),c,d,e[l+5],4,-378558),d=o(d,i,u,c,e[l+8],11,-2022574463),c=o(c,d,i,u,e[l+11],16,1839030562),u=o(u,c,d,i,e[l+14],23,-35309556),i=o(i,u,c,d,e[l+1],4,-1530992060),d=o(d,i,u,c,e[l+4],11,1272893353),c=o(c,d,i,u,e[l+7],16,-155497632),u=o(u,c,d,i,e[l+10],23,-1094730640),i=o(i,u,c,d,e[l+13],4,681279174),d=o(d,i,u,c,e[l+0],11,-358537222),c=o(c,d,i,u,e[l+3],16,-722521979),u=o(u,c,d,i,e[l+6],23,76029189),i=o(i,u,c,d,e[l+9],4,-640364487),d=o(d,i,u,c,e[l+12],11,-421815835),c=o(c,d,i,u,e[l+15],16,530742520),i=a(i,u=o(u,c,d,i,e[l+2],23,-995338651),c,d,e[l+0],6,-198630844),d=a(d,i,u,c,e[l+7],10,1126891415),c=a(c,d,i,u,e[l+14],15,-1416354905),u=a(u,c,d,i,e[l+5],21,-57434055),i=a(i,u,c,d,e[l+12],6,1700485571),d=a(d,i,u,c,e[l+3],10,-1894986606),c=a(c,d,i,u,e[l+10],15,-1051523),u=a(u,c,d,i,e[l+1],21,-2054922799),i=a(i,u,c,d,e[l+8],6,1873313359),d=a(d,i,u,c,e[l+15],10,-30611744),c=a(c,d,i,u,e[l+6],15,-1560198380),u=a(u,c,d,i,e[l+13],21,1309151649),i=a(i,u,c,d,e[l+4],6,-145523070),d=a(d,i,u,c,e[l+11],10,-1120210379),c=a(c,d,i,u,e[l+2],15,718787259),u=a(u,c,d,i,e[l+9],21,-343485551),i=v(i,p),u=v(u,f),c=v(c,h),d=v(d,m)}return[i,u,c,d]}(o(e,{ibits:8,obits:32,obigendian:!1}),8*e.length),{ibits:32,ibigendian:!1})},T=function(e){this.mul=u(88,81,244,45,76,149,127,45),this.inc=u(20,5,123,126,247,103,129,79),this.mask=u(0,0,0,0,255,255,255,255),this.state=d(this.inc),this.next(),m(this.state,this.mask),e=l(void 0!==e?e>>>0:4294967295*Math.random()>>>0),function(e,t){for(var n=0;n<8;n++)e[n]|=t[n]}(this.state,e),this.next()};T.prototype.next=function(){var e=d(this.state);(function(e,t){var n,r,s,o=new Array(16);for(n=0;n<16;n++)o[n]=0;for(n=0;n<8;n++){for(s=0,r=0;r<8;r++)s+=e[n]*t[r]+o[n+r],o[n+r]=s%i,s/=i;for(;r<16-n;r++)s+=o[n+r],o[n+r]=s%i,s/=i}for(n=0;n<8;n++)e[n]=o[n];o.slice(8,8)})(this.state,this.mul),f(this.state,this.inc);var t=d(e);y(t,18),g(t,e),y(t,27);var n=d(e);y(n,59),m(t,this.mask);var r=p(n),s=d(t);return function(e,t){if(t>64)throw new Error("ui64_rol: invalid number of bits to shift");var n,r=new Array(16);for(n=0;n<8;n++)r[n+8]=0,r[n]=e[n];var s=Math.floor(t/8),o=t%8;for(n=7-s;n>0;n--)r[n+s]=255&(r[n]<<o|r[n-1]>>>8-o);for(r[0+s]=r[0]<<o&255,n=0+s-1;n>=0;n--)r[n]=0;for(n=0;n<8;n++)e[n]=r[n];r.slice(8,8)}(s,32-r),y(t,r),g(t,s),p(t)};var w=new T,k=function(e,t){for(var n=[],r=0;r<e;r++)n[r]=w.next()%t;return n},P=0,I=0,N=function(){if(1===arguments.length&&"string"==typeof arguments[0])this.parse.apply(this,arguments);else if(arguments.length>=1&&"number"==typeof arguments[0])this.make.apply(this,arguments);else{if(arguments.length>=1)throw new Error("UUID: constructor: invalid arguments");for(var e=0;e<16;e++)this[e]=0}};return(N.prototype="undefined"!=typeof Uint8Array?new Uint8Array(16):s?s.alloc(16):new Array(16)).constructor=N,N.prototype.make=function(e){var t,n=this;if(1===e){var r=(new Date).getTime();r!==P?I=0:I++,P=r;var s,o=l(r);h(o,1e4),f(o,u(1,178,29,210,19,129,64,0)),I>0&&f(o,l(I)),s=S(o,8),n[3]=255&s,s=S(o,8),n[2]=255&s,s=S(o,8),n[1]=255&s,s=S(o,8),n[0]=255&s,s=S(o,8),n[5]=255&s,s=S(o,8),n[4]=255&s,s=S(o,8),n[7]=255&s,s=S(o,8),n[6]=15&s;var a=k(2,255);n[8]=a[0],n[9]=a[1];var i=k(6,255);for(i[0]|=1,i[0]|=2,t=0;t<6;t++)n[10+t]=i[t]}else if(4===e){var c=k(16,255);for(t=0;t<16;t++)this[t]=c[t]}else{if(3!==e&&5!==e)throw new Error("UUID: make: invalid version");var d="",p="object"==typeof arguments[1]&&arguments[1]instanceof N?arguments[1]:(new N).parse(arguments[1]);for(t=0;t<16;t++)d+=String.fromCharCode(p[t]);d+=arguments[2];var m=3===e?A(d):E(d);for(t=0;t<16;t++)n[t]=m.charCodeAt(t)}return n[6]&=15,n[6]|=e<<4,n[8]&=63,n[8]|=128,n},N.prototype.format=function(t){var r,s;return"z85"===t?r=function(e,t){if(t%4!=0)throw new Error("z85_encode: invalid input length (multiple of 4 expected)");for(var r="",s=0,o=0;s<t;)if(o=256*o+e[s++],s%4==0){for(var a=52200625;a>=1;){var i=Math.floor(o/a)%85;r+=n[i],a/=85}o=0}return r}(this,16):"b16"===t?(s=Array(32),e(this,0,15,!0,s,0),r=s.join("")):void 0!==t&&"std"!==t||(s=new Array(36),e(this,0,3,!1,s,0),s[8]="-",e(this,4,5,!1,s,9),s[13]="-",e(this,6,7,!1,s,14),s[18]="-",e(this,8,9,!1,s,19),s[23]="-",e(this,10,15,!1,s,24),r=s.join("")),r},N.prototype.toString=function(e){return this.format(e)},N.prototype.toJSON=function(){return this.format("std")},N.prototype.parse=function(e,n){if("string"!=typeof e)throw new Error("UUID: parse: invalid argument (type string expected)");if("z85"===n)!function(e,t){var n=e.length;if(n%5!=0)throw new Error("z85_decode: invalid input length (multiple of 5 expected)");void 0===t&&(t=new Array(4*n/5));for(var s=0,o=0,a=0;s<n;){var i=e.charCodeAt(s++)-32;if(i<0||i>=r.length)break;if(a=85*a+r[i],s%5==0){for(var u=16777216;u>=1;)t[o++]=Math.trunc(a/u%256),u/=256;a=0}}}(e,this);else if("b16"===n)t(e,0,35,this,0);else if(void 0===n||"std"===n){var s={nil:"00000000-0000-0000-0000-000000000000","ns:DNS":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","ns:URL":"6ba7b811-9dad-11d1-80b4-00c04fd430c8","ns:OID":"6ba7b812-9dad-11d1-80b4-00c04fd430c8","ns:X500":"6ba7b814-9dad-11d1-80b4-00c04fd430c8"};if(void 0!==s[e])e=s[e];else if(!e.match(/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/))throw new Error('UUID: parse: invalid string representation (expected "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")');t(e,0,7,this,0),t(e,9,12,this,4),t(e,14,17,this,6),t(e,19,22,this,8),t(e,24,35,this,10)}return this},N.prototype.export=function(){for(var e=Array(16),t=0;t<16;t++)e[t]=this[t];return e},N.prototype.import=function(e){if(!("object"==typeof e&&e instanceof Array))throw new Error("UUID: import: invalid argument (type Array expected)");if(16!==e.length)throw new Error("UUID: import: invalid argument (Array of length 16 expected)");for(var t=0;t<16;t++){if("number"!=typeof e[t])throw new Error("UUID: import: invalid array element #"+t+" (type Number expected)");if(!isFinite(e[t])||Math.floor(e[t])!==e[t])throw new Error("UUID: import: invalid array element #"+t+" (Number with integer value expected)");if(!(e[t]>=0&&e[t]<=255))throw new Error("UUID: import: invalid array element #"+t+" (Number with integer value in range 0...255 expected)");this[t]=e[t]}return this},N.prototype.compare=function(e){if("object"!=typeof e)throw new Error("UUID: compare: invalid argument (type UUID expected)");if(!(e instanceof N))throw new Error("UUID: compare: invalid argument (type UUID expected)");for(var t=0;t<16;t++){if(this[t]<e[t])return-1;if(this[t]>e[t])return 1}return 0},N.prototype.equal=function(e){return 0===this.compare(e)},N.prototype.fold=function(e){if(void 0===e)throw new Error("UUID: fold: invalid argument (number of fold operations expected)");if(e<1||e>4)throw new Error("UUID: fold: invalid argument (1-4 fold operations expected)");for(var t=16/Math.pow(2,e),n=new Array(t),r=0;r<t;r++){for(var s=0,o=0;r+o<16;o+=t)s^=this[r+o];n[r]=s}return n},N.PCG=T,N}()}.call(t,n,t,e),void 0===r||(e.exports=r)},6099:(e,t,n)=>{var r=n(4300).Buffer;!function(e){e.parser=function(e,t){return new o(e,t)},e.SAXParser=o,e.SAXStream=i,e.createStream=function(e,t){return new i(e,t)},e.MAX_BUFFER_LENGTH=65536;var t,s=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function o(t,n){if(!(this instanceof o))return new o(t,n);var r=this;!function(e){for(var t=0,n=s.length;t<n;t++)e[s[t]]=""}(r),r.q=r.c="",r.bufferCheckPosition=e.MAX_BUFFER_LENGTH,r.opt=n||{},r.opt.lowercase=r.opt.lowercase||r.opt.lowercasetags,r.looseCase=r.opt.lowercase?"toLowerCase":"toUpperCase",r.tags=[],r.closed=r.closedRoot=r.sawRoot=!1,r.tag=r.error=null,r.strict=!!t,r.noscript=!(!t&&!r.opt.noscript),r.state=T.BEGIN,r.strictEntities=r.opt.strictEntities,r.ENTITIES=r.strictEntities?Object.create(e.XML_ENTITIES):Object.create(e.ENTITIES),r.attribList=[],r.opt.xmlns&&(r.ns=Object.create(d)),r.trackPosition=!1!==r.opt.position,r.trackPosition&&(r.position=r.line=r.column=0),k(r,"onready")}e.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"],Object.create||(Object.create=function(e){function t(){}return t.prototype=e,new t}),Object.keys||(Object.keys=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t}),o.prototype={end:function(){_(this)},write:function(t){var n=this;if(this.error)throw this.error;if(n.closed)return O(n,"Cannot write after close. Assign an onready handler.");if(null===t)return _(n);"object"==typeof t&&(t=t.toString());for(var r=0,o="";o=B(t,r++),n.c=o,o;)switch(n.trackPosition&&(n.position++,"\n"===o?(n.line++,n.column=0):n.column++),n.state){case T.BEGIN:if(n.state=T.BEGIN_WHITESPACE,"\ufeff"===o)continue;M(n,o);continue;case T.BEGIN_WHITESPACE:M(n,o);continue;case T.TEXT:if(n.sawRoot&&!n.closedRoot){for(var a=r-1;o&&"<"!==o&&"&"!==o;)(o=B(t,r++))&&n.trackPosition&&(n.position++,"\n"===o?(n.line++,n.column=0):n.column++);n.textNode+=t.substring(a,r-1)}"<"!==o||n.sawRoot&&n.closedRoot&&!n.strict?(m(o)||n.sawRoot&&!n.closedRoot||x(n,"Text data outside of root node."),"&"===o?n.state=T.TEXT_ENTITY:n.textNode+=o):(n.state=T.OPEN_WAKA,n.startTagPosition=n.position);continue;case T.SCRIPT:"<"===o?n.state=T.SCRIPT_ENDING:n.script+=o;continue;case T.SCRIPT_ENDING:"/"===o?n.state=T.CLOSE_TAG:(n.script+="<"+o,n.state=T.SCRIPT);continue;case T.OPEN_WAKA:if("!"===o)n.state=T.SGML_DECL,n.sgmlDecl="";else if(m(o));else if(g(l,o))n.state=T.OPEN_TAG,n.tagName=o;else if("/"===o)n.state=T.CLOSE_TAG,n.tagName="";else if("?"===o)n.state=T.PROC_INST,n.procInstName=n.procInstBody="";else{if(x(n,"Unencoded <"),n.startTagPosition+1<n.position){var i=n.position-n.startTagPosition;o=new Array(i).join(" ")+o}n.textNode+="<"+o,n.state=T.TEXT}continue;case T.SGML_DECL:"[CDATA["===(n.sgmlDecl+o).toUpperCase()?(P(n,"onopencdata"),n.state=T.CDATA,n.sgmlDecl="",n.cdata=""):n.sgmlDecl+o==="--"?(n.state=T.COMMENT,n.comment="",n.sgmlDecl=""):"DOCTYPE"===(n.sgmlDecl+o).toUpperCase()?(n.state=T.DOCTYPE,(n.doctype||n.sawRoot)&&x(n,"Inappropriately located doctype declaration"),n.doctype="",n.sgmlDecl=""):">"===o?(P(n,"onsgmldeclaration",n.sgmlDecl),n.sgmlDecl="",n.state=T.TEXT):S(o)?(n.state=T.SGML_DECL_QUOTED,n.sgmlDecl+=o):n.sgmlDecl+=o;continue;case T.SGML_DECL_QUOTED:o===n.q&&(n.state=T.SGML_DECL,n.q=""),n.sgmlDecl+=o;continue;case T.DOCTYPE:">"===o?(n.state=T.TEXT,P(n,"ondoctype",n.doctype),n.doctype=!0):(n.doctype+=o,"["===o?n.state=T.DOCTYPE_DTD:S(o)&&(n.state=T.DOCTYPE_QUOTED,n.q=o));continue;case T.DOCTYPE_QUOTED:n.doctype+=o,o===n.q&&(n.q="",n.state=T.DOCTYPE);continue;case T.DOCTYPE_DTD:n.doctype+=o,"]"===o?n.state=T.DOCTYPE:S(o)&&(n.state=T.DOCTYPE_DTD_QUOTED,n.q=o);continue;case T.DOCTYPE_DTD_QUOTED:n.doctype+=o,o===n.q&&(n.state=T.DOCTYPE_DTD,n.q="");continue;case T.COMMENT:"-"===o?n.state=T.COMMENT_ENDING:n.comment+=o;continue;case T.COMMENT_ENDING:"-"===o?(n.state=T.COMMENT_ENDED,n.comment=N(n.opt,n.comment),n.comment&&P(n,"oncomment",n.comment),n.comment=""):(n.comment+="-"+o,n.state=T.COMMENT);continue;case T.COMMENT_ENDED:">"!==o?(x(n,"Malformed comment"),n.comment+="--"+o,n.state=T.COMMENT):n.state=T.TEXT;continue;case T.CDATA:"]"===o?n.state=T.CDATA_ENDING:n.cdata+=o;continue;case T.CDATA_ENDING:"]"===o?n.state=T.CDATA_ENDING_2:(n.cdata+="]"+o,n.state=T.CDATA);continue;case T.CDATA_ENDING_2:">"===o?(n.cdata&&P(n,"oncdata",n.cdata),P(n,"onclosecdata"),n.cdata="",n.state=T.TEXT):"]"===o?n.cdata+="]":(n.cdata+="]]"+o,n.state=T.CDATA);continue;case T.PROC_INST:"?"===o?n.state=T.PROC_INST_ENDING:m(o)?n.state=T.PROC_INST_BODY:n.procInstName+=o;continue;case T.PROC_INST_BODY:if(!n.procInstBody&&m(o))continue;"?"===o?n.state=T.PROC_INST_ENDING:n.procInstBody+=o;continue;case T.PROC_INST_ENDING:">"===o?(P(n,"onprocessinginstruction",{name:n.procInstName,body:n.procInstBody}),n.procInstName=n.procInstBody="",n.state=T.TEXT):(n.procInstBody+="?"+o,n.state=T.PROC_INST_BODY);continue;case T.OPEN_TAG:g(p,o)?n.tagName+=o:(C(n),">"===o?R(n):"/"===o?n.state=T.OPEN_TAG_SLASH:(m(o)||x(n,"Invalid character in tag name"),n.state=T.ATTRIB));continue;case T.OPEN_TAG_SLASH:">"===o?(R(n,!0),q(n)):(x(n,"Forward-slash in opening tag not followed by >"),n.state=T.ATTRIB);continue;case T.ATTRIB:if(m(o))continue;">"===o?R(n):"/"===o?n.state=T.OPEN_TAG_SLASH:g(l,o)?(n.attribName=o,n.attribValue="",n.state=T.ATTRIB_NAME):x(n,"Invalid attribute name");continue;case T.ATTRIB_NAME:"="===o?n.state=T.ATTRIB_VALUE:">"===o?(x(n,"Attribute without value"),n.attribValue=n.attribName,$(n),R(n)):m(o)?n.state=T.ATTRIB_NAME_SAW_WHITE:g(p,o)?n.attribName+=o:x(n,"Invalid attribute name");continue;case T.ATTRIB_NAME_SAW_WHITE:if("="===o)n.state=T.ATTRIB_VALUE;else{if(m(o))continue;x(n,"Attribute without value"),n.tag.attributes[n.attribName]="",n.attribValue="",P(n,"onattribute",{name:n.attribName,value:""}),n.attribName="",">"===o?R(n):g(l,o)?(n.attribName=o,n.state=T.ATTRIB_NAME):(x(n,"Invalid attribute name"),n.state=T.ATTRIB)}continue;case T.ATTRIB_VALUE:if(m(o))continue;S(o)?(n.q=o,n.state=T.ATTRIB_VALUE_QUOTED):(x(n,"Unquoted attribute value"),n.state=T.ATTRIB_VALUE_UNQUOTED,n.attribValue=o);continue;case T.ATTRIB_VALUE_QUOTED:if(o!==n.q){"&"===o?n.state=T.ATTRIB_VALUE_ENTITY_Q:n.attribValue+=o;continue}$(n),n.q="",n.state=T.ATTRIB_VALUE_CLOSED;continue;case T.ATTRIB_VALUE_CLOSED:m(o)?n.state=T.ATTRIB:">"===o?R(n):"/"===o?n.state=T.OPEN_TAG_SLASH:g(l,o)?(x(n,"No whitespace between attributes"),n.attribName=o,n.attribValue="",n.state=T.ATTRIB_NAME):x(n,"Invalid attribute name");continue;case T.ATTRIB_VALUE_UNQUOTED:if(!y(o)){"&"===o?n.state=T.ATTRIB_VALUE_ENTITY_U:n.attribValue+=o;continue}$(n),">"===o?R(n):n.state=T.ATTRIB;continue;case T.CLOSE_TAG:if(n.tagName)">"===o?q(n):g(p,o)?n.tagName+=o:n.script?(n.script+="</"+n.tagName,n.tagName="",n.state=T.SCRIPT):(m(o)||x(n,"Invalid tagname in closing tag"),n.state=T.CLOSE_TAG_SAW_WHITE);else{if(m(o))continue;v(l,o)?n.script?(n.script+="</"+o,n.state=T.SCRIPT):x(n,"Invalid tagname in closing tag."):n.tagName=o}continue;case T.CLOSE_TAG_SAW_WHITE:if(m(o))continue;">"===o?q(n):x(n,"Invalid characters in closing tag");continue;case T.TEXT_ENTITY:case T.ATTRIB_VALUE_ENTITY_Q:case T.ATTRIB_VALUE_ENTITY_U:var u,c;switch(n.state){case T.TEXT_ENTITY:u=T.TEXT,c="textNode";break;case T.ATTRIB_VALUE_ENTITY_Q:u=T.ATTRIB_VALUE_QUOTED,c="attribValue";break;case T.ATTRIB_VALUE_ENTITY_U:u=T.ATTRIB_VALUE_UNQUOTED,c="attribValue"}";"===o?(n[c]+=j(n),n.entity="",n.state=u):g(n.entity.length?h:f,o)?n.entity+=o:(x(n,"Invalid character in entity name"),n[c]+="&"+n.entity+o,n.entity="",n.state=u);continue;default:throw new Error(n,"Unknown state: "+n.state)}return n.position>=n.bufferCheckPosition&&function(t){for(var n=Math.max(e.MAX_BUFFER_LENGTH,10),r=0,o=0,a=s.length;o<a;o++){var i=t[s[o]].length;if(i>n)switch(s[o]){case"textNode":I(t);break;case"cdata":P(t,"oncdata",t.cdata),t.cdata="";break;case"script":P(t,"onscript",t.script),t.script="";break;default:O(t,"Max buffer length exceeded: "+s[o])}r=Math.max(r,i)}var u=e.MAX_BUFFER_LENGTH-r;t.bufferCheckPosition=u+t.position}(n),n},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){var e;I(e=this),""!==e.cdata&&(P(e,"oncdata",e.cdata),e.cdata=""),""!==e.script&&(P(e,"onscript",e.script),e.script="")}};try{t=n(2781).Stream}catch(e){t=function(){}}var a=e.EVENTS.filter((function(e){return"error"!==e&&"end"!==e}));function i(e,n){if(!(this instanceof i))return new i(e,n);t.apply(this),this._parser=new o(e,n),this.writable=!0,this.readable=!0;var r=this;this._parser.onend=function(){r.emit("end")},this._parser.onerror=function(e){r.emit("error",e),r._parser.error=null},this._decoder=null,a.forEach((function(e){Object.defineProperty(r,"on"+e,{get:function(){return r._parser["on"+e]},set:function(t){if(!t)return r.removeAllListeners(e),r._parser["on"+e]=t,t;r.on(e,t)},enumerable:!0,configurable:!1})}))}i.prototype=Object.create(t.prototype,{constructor:{value:i}}),i.prototype.write=function(e){if("function"==typeof r&&"function"==typeof r.isBuffer&&r.isBuffer(e)){if(!this._decoder){var t=n(1576).StringDecoder;this._decoder=new t("utf8")}e=this._decoder.write(e)}return this._parser.write(e.toString()),this.emit("data",e),!0},i.prototype.end=function(e){return e&&e.length&&this.write(e),this._parser.end(),!0},i.prototype.on=function(e,n){var r=this;return r._parser["on"+e]||-1===a.indexOf(e)||(r._parser["on"+e]=function(){var t=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);t.splice(0,0,e),r.emit.apply(r,t)}),t.prototype.on.call(r,e,n)};var u="http://www.w3.org/XML/1998/namespace",c="http://www.w3.org/2000/xmlns/",d={xml:u,xmlns:c},l=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,p=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,f=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,h=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function m(e){return" "===e||"\n"===e||"\r"===e||"\t"===e}function S(e){return'"'===e||"'"===e}function y(e){return">"===e||m(e)}function g(e,t){return e.test(t)}function v(e,t){return!g(e,t)}var b,E,A,T=0;for(var w in e.STATE={BEGIN:T++,BEGIN_WHITESPACE:T++,TEXT:T++,TEXT_ENTITY:T++,OPEN_WAKA:T++,SGML_DECL:T++,SGML_DECL_QUOTED:T++,DOCTYPE:T++,DOCTYPE_QUOTED:T++,DOCTYPE_DTD:T++,DOCTYPE_DTD_QUOTED:T++,COMMENT_STARTING:T++,COMMENT:T++,COMMENT_ENDING:T++,COMMENT_ENDED:T++,CDATA:T++,CDATA_ENDING:T++,CDATA_ENDING_2:T++,PROC_INST:T++,PROC_INST_BODY:T++,PROC_INST_ENDING:T++,OPEN_TAG:T++,OPEN_TAG_SLASH:T++,ATTRIB:T++,ATTRIB_NAME:T++,ATTRIB_NAME_SAW_WHITE:T++,ATTRIB_VALUE:T++,ATTRIB_VALUE_QUOTED:T++,ATTRIB_VALUE_CLOSED:T++,ATTRIB_VALUE_UNQUOTED:T++,ATTRIB_VALUE_ENTITY_Q:T++,ATTRIB_VALUE_ENTITY_U:T++,CLOSE_TAG:T++,CLOSE_TAG_SAW_WHITE:T++,SCRIPT:T++,SCRIPT_ENDING:T++},e.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},e.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(e.ENTITIES).forEach((function(t){var n=e.ENTITIES[t],r="number"==typeof n?String.fromCharCode(n):n;e.ENTITIES[t]=r})),e.STATE)e.STATE[e.STATE[w]]=w;function k(e,t,n){e[t]&&e[t](n)}function P(e,t,n){e.textNode&&I(e),k(e,t,n)}function I(e){e.textNode=N(e.opt,e.textNode),e.textNode&&k(e,"ontext",e.textNode),e.textNode=""}function N(e,t){return e.trim&&(t=t.trim()),e.normalize&&(t=t.replace(/\s+/g," ")),t}function O(e,t){return I(e),e.trackPosition&&(t+="\nLine: "+e.line+"\nColumn: "+e.column+"\nChar: "+e.c),t=new Error(t),e.error=t,k(e,"onerror",t),e}function _(e){return e.sawRoot&&!e.closedRoot&&x(e,"Unclosed root tag"),e.state!==T.BEGIN&&e.state!==T.BEGIN_WHITESPACE&&e.state!==T.TEXT&&O(e,"Unexpected end"),I(e),e.c="",e.closed=!0,k(e,"onend"),o.call(e,e.strict,e.opt),e}function x(e,t){if("object"!=typeof e||!(e instanceof o))throw new Error("bad call to strictFail");e.strict&&O(e,t)}function C(e){e.strict||(e.tagName=e.tagName[e.looseCase]());var t=e.tags[e.tags.length-1]||e,n=e.tag={name:e.tagName,attributes:{}};e.opt.xmlns&&(n.ns=t.ns),e.attribList.length=0,P(e,"onopentagstart",n)}function D(e,t){var n=e.indexOf(":")<0?["",e]:e.split(":"),r=n[0],s=n[1];return t&&"xmlns"===e&&(r="xmlns",s=""),{prefix:r,local:s}}function $(e){if(e.strict||(e.attribName=e.attribName[e.looseCase]()),-1!==e.attribList.indexOf(e.attribName)||e.tag.attributes.hasOwnProperty(e.attribName))e.attribName=e.attribValue="";else{if(e.opt.xmlns){var t=D(e.attribName,!0),n=t.prefix,r=t.local;if("xmlns"===n)if("xml"===r&&e.attribValue!==u)x(e,"xml: prefix must be bound to "+u+"\nActual: "+e.attribValue);else if("xmlns"===r&&e.attribValue!==c)x(e,"xmlns: prefix must be bound to "+c+"\nActual: "+e.attribValue);else{var s=e.tag,o=e.tags[e.tags.length-1]||e;s.ns===o.ns&&(s.ns=Object.create(o.ns)),s.ns[r]=e.attribValue}e.attribList.push([e.attribName,e.attribValue])}else e.tag.attributes[e.attribName]=e.attribValue,P(e,"onattribute",{name:e.attribName,value:e.attribValue});e.attribName=e.attribValue=""}}function R(e,t){if(e.opt.xmlns){var n=e.tag,r=D(e.tagName);n.prefix=r.prefix,n.local=r.local,n.uri=n.ns[r.prefix]||"",n.prefix&&!n.uri&&(x(e,"Unbound namespace prefix: "+JSON.stringify(e.tagName)),n.uri=r.prefix);var s=e.tags[e.tags.length-1]||e;n.ns&&s.ns!==n.ns&&Object.keys(n.ns).forEach((function(t){P(e,"onopennamespace",{prefix:t,uri:n.ns[t]})}));for(var o=0,a=e.attribList.length;o<a;o++){var i=e.attribList[o],u=i[0],c=i[1],d=D(u,!0),l=d.prefix,p=d.local,f=""===l?"":n.ns[l]||"",h={name:u,value:c,prefix:l,local:p,uri:f};l&&"xmlns"!==l&&!f&&(x(e,"Unbound namespace prefix: "+JSON.stringify(l)),h.uri=l),e.tag.attributes[u]=h,P(e,"onattribute",h)}e.attribList.length=0}e.tag.isSelfClosing=!!t,e.sawRoot=!0,e.tags.push(e.tag),P(e,"onopentag",e.tag),t||(e.noscript||"script"!==e.tagName.toLowerCase()?e.state=T.TEXT:e.state=T.SCRIPT,e.tag=null,e.tagName=""),e.attribName=e.attribValue="",e.attribList.length=0}function q(e){if(!e.tagName)return x(e,"Weird empty close tag."),e.textNode+="</>",void(e.state=T.TEXT);if(e.script){if("script"!==e.tagName)return e.script+="</"+e.tagName+">",e.tagName="",void(e.state=T.SCRIPT);P(e,"onscript",e.script),e.script=""}var t=e.tags.length,n=e.tagName;e.strict||(n=n[e.looseCase]());for(var r=n;t--&&e.tags[t].name!==r;)x(e,"Unexpected close tag");if(t<0)return x(e,"Unmatched closing tag: "+e.tagName),e.textNode+="</"+e.tagName+">",void(e.state=T.TEXT);e.tagName=n;for(var s=e.tags.length;s-- >t;){var o=e.tag=e.tags.pop();e.tagName=e.tag.name,P(e,"onclosetag",e.tagName);var a={};for(var i in o.ns)a[i]=o.ns[i];var u=e.tags[e.tags.length-1]||e;e.opt.xmlns&&o.ns!==u.ns&&Object.keys(o.ns).forEach((function(t){var n=o.ns[t];P(e,"onclosenamespace",{prefix:t,uri:n})}))}0===t&&(e.closedRoot=!0),e.tagName=e.attribValue=e.attribName="",e.attribList.length=0,e.state=T.TEXT}function j(e){var t,n=e.entity,r=n.toLowerCase(),s="";return e.ENTITIES[n]?e.ENTITIES[n]:e.ENTITIES[r]?e.ENTITIES[r]:("#"===(n=r).charAt(0)&&("x"===n.charAt(1)?(n=n.slice(2),s=(t=parseInt(n,16)).toString(16)):(n=n.slice(1),s=(t=parseInt(n,10)).toString(10))),n=n.replace(/^0+/,""),isNaN(t)||s.toLowerCase()!==n?(x(e,"Invalid character entity"),"&"+e.entity+";"):String.fromCodePoint(t))}function M(e,t){"<"===t?(e.state=T.OPEN_WAKA,e.startTagPosition=e.position):m(t)||(x(e,"Non-whitespace before first tag."),e.textNode=t,e.state=T.TEXT)}function B(e,t){var n="";return t<e.length&&(n=e.charAt(t)),n}T=e.STATE,String.fromCodePoint||(b=String.fromCharCode,E=Math.floor,A=function(){var e,t,n=16384,r=[],s=-1,o=arguments.length;if(!o)return"";for(var a="";++s<o;){var i=Number(arguments[s]);if(!isFinite(i)||i<0||i>1114111||E(i)!==i)throw RangeError("Invalid code point: "+i);i<=65535?r.push(i):(e=55296+((i-=65536)>>10),t=i%1024+56320,r.push(e,t)),(s+1===o||r.length>n)&&(a+=b.apply(null,r),r.length=0)}return a},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:A,configurable:!0,writable:!0}):String.fromCodePoint=A)}(t)},540:function(e,t){!function(e){"use strict";function t(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];if(t.length>1){t[0]=t[0].slice(0,-1);for(var r=t.length-1,s=1;s<r;++s)t[s]=t[s].slice(1,-1);return t[r]=t[r].slice(1),t.join("")}return t[0]}function n(e){return"(?:"+e+")"}function r(e){return void 0===e?"undefined":null===e?"null":Object.prototype.toString.call(e).split(" ").pop().split("]").shift().toLowerCase()}function s(e){return e.toUpperCase()}function o(e){var r="[A-Za-z]",s="[0-9]",o=t(s,"[A-Fa-f]"),a=n(n("%[EFef]"+o+"%"+o+o+"%"+o+o)+"|"+n("%[89A-Fa-f]"+o+"%"+o+o)+"|"+n("%"+o+o)),i="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",u=t("[\\:\\/\\?\\#\\[\\]\\@]",i),c=e?"[\\uE000-\\uF8FF]":"[]",d=t(r,s,"[\\-\\.\\_\\~]",e?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]"),l=n(r+t(r,s,"[\\+\\-\\.]")+"*"),p=n(n(a+"|"+t(d,i,"[\\:]"))+"*"),f=(n(n("25[0-5]")+"|"+n("2[0-4]"+s)+"|"+n("1"+s+s)+"|"+n("[1-9]"+s)+"|"+s),n(n("25[0-5]")+"|"+n("2[0-4]"+s)+"|"+n("1"+s+s)+"|"+n("0?[1-9]"+s)+"|0?0?"+s)),h=n(f+"\\."+f+"\\."+f+"\\."+f),m=n(o+"{1,4}"),S=n(n(m+"\\:"+m)+"|"+h),y=n(n(m+"\\:")+"{6}"+S),g=n("\\:\\:"+n(m+"\\:")+"{5}"+S),v=n(n(m)+"?\\:\\:"+n(m+"\\:")+"{4}"+S),b=n(n(n(m+"\\:")+"{0,1}"+m)+"?\\:\\:"+n(m+"\\:")+"{3}"+S),E=n(n(n(m+"\\:")+"{0,2}"+m)+"?\\:\\:"+n(m+"\\:")+"{2}"+S),A=n(n(n(m+"\\:")+"{0,3}"+m)+"?\\:\\:"+m+"\\:"+S),T=n(n(n(m+"\\:")+"{0,4}"+m)+"?\\:\\:"+S),w=n(n(n(m+"\\:")+"{0,5}"+m)+"?\\:\\:"+m),k=n(n(n(m+"\\:")+"{0,6}"+m)+"?\\:\\:"),P=n([y,g,v,b,E,A,T,w,k].join("|")),I=n(n(d+"|"+a)+"+"),N=(n(P+"\\%25"+I),n(P+n("\\%25|\\%(?!"+o+"{2})")+I)),O=n("[vV]"+o+"+\\."+t(d,i,"[\\:]")+"+"),_=n("\\["+n(N+"|"+P+"|"+O)+"\\]"),x=n(n(a+"|"+t(d,i))+"*"),C=n(_+"|"+h+"(?!"+x+")|"+x),D=n(s+"*"),$=n(n(p+"@")+"?"+C+n("\\:"+D)+"?"),R=n(a+"|"+t(d,i,"[\\:\\@]")),q=n(R+"*"),j=n(R+"+"),M=n(n(a+"|"+t(d,i,"[\\@]"))+"+"),B=n(n("\\/"+q)+"*"),G=n("\\/"+n(j+B)+"?"),L=n(M+B),F=n(j+B),V="(?!"+R+")",U=(n(B+"|"+G+"|"+L+"|"+F+"|"+V),n(n(R+"|"+t("[\\/\\?]",c))+"*")),J=n(n(R+"|[\\/\\?]")+"*"),H=n(n("\\/\\/"+$+B)+"|"+G+"|"+F+"|"+V),K=n(l+"\\:"+H+n("\\?"+U)+"?"+n("\\#"+J)+"?"),W=n(n("\\/\\/"+$+B)+"|"+G+"|"+L+"|"+V),X=n(W+n("\\?"+U)+"?"+n("\\#"+J)+"?");return n(K+"|"+X),n(l+"\\:"+H+n("\\?"+U)+"?"),n(n("\\/\\/("+n("("+p+")@")+"?("+C+")"+n("\\:("+D+")")+"?)")+"?("+B+"|"+G+"|"+F+"|"+V+")"),n("\\?("+U+")"),n("\\#("+J+")"),n(n("\\/\\/("+n("("+p+")@")+"?("+C+")"+n("\\:("+D+")")+"?)")+"?("+B+"|"+G+"|"+L+"|"+V+")"),n("\\?("+U+")"),n("\\#("+J+")"),n(n("\\/\\/("+n("("+p+")@")+"?("+C+")"+n("\\:("+D+")")+"?)")+"?("+B+"|"+G+"|"+F+"|"+V+")"),n("\\?("+U+")"),n("\\#("+J+")"),n("("+p+")@"),n("\\:("+D+")"),{NOT_SCHEME:new RegExp(t("[^]",r,s,"[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(t("[^\\%\\:]",d,i),"g"),NOT_HOST:new RegExp(t("[^\\%\\[\\]\\:]",d,i),"g"),NOT_PATH:new RegExp(t("[^\\%\\/\\:\\@]",d,i),"g"),NOT_PATH_NOSCHEME:new RegExp(t("[^\\%\\/\\@]",d,i),"g"),NOT_QUERY:new RegExp(t("[^\\%]",d,i,"[\\:\\@\\/\\?]",c),"g"),NOT_FRAGMENT:new RegExp(t("[^\\%]",d,i,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(t("[^]",d,i),"g"),UNRESERVED:new RegExp(d,"g"),OTHER_CHARS:new RegExp(t("[^\\%]",d,u),"g"),PCT_ENCODED:new RegExp(a,"g"),IPV4ADDRESS:new RegExp("^("+h+")$"),IPV6ADDRESS:new RegExp("^\\[?("+P+")"+n(n("\\%25|\\%(?!"+o+"{2})")+"("+I+")")+"?\\]?$")}}var a=o(!1),i=o(!0),u=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,s=!1,o=void 0;try{for(var a,i=e[Symbol.iterator]();!(r=(a=i.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){s=!0,o=e}finally{try{!r&&i.return&&i.return()}finally{if(s)throw o}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},c=2147483647,d=36,l=/^xn--/,p=/[^\0-\x7E]/,f=/[\x2E\u3002\uFF0E\uFF61]/g,h={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},m=Math.floor,S=String.fromCharCode;function y(e){throw new RangeError(h[e])}function g(e,t){var n=e.split("@"),r="";return n.length>1&&(r=n[0]+"@",e=n[1]),r+function(e,t){for(var n=[],r=e.length;r--;)n[r]=t(e[r]);return n}((e=e.replace(f,".")).split("."),t).join(".")}function v(e){for(var t=[],n=0,r=e.length;n<r;){var s=e.charCodeAt(n++);if(s>=55296&&s<=56319&&n<r){var o=e.charCodeAt(n++);56320==(64512&o)?t.push(((1023&s)<<10)+(1023&o)+65536):(t.push(s),n--)}else t.push(s)}return t}var b=function(e,t){return e+22+75*(e<26)-((0!=t)<<5)},E=function(e,t,n){var r=0;for(e=n?m(e/700):e>>1,e+=m(e/t);e>455;r+=d)e=m(e/35);return m(r+36*e/(e+38))},A=function(e){var t,n=[],r=e.length,s=0,o=128,a=72,i=e.lastIndexOf("-");i<0&&(i=0);for(var u=0;u<i;++u)e.charCodeAt(u)>=128&&y("not-basic"),n.push(e.charCodeAt(u));for(var l=i>0?i+1:0;l<r;){for(var p=s,f=1,h=d;;h+=d){l>=r&&y("invalid-input");var S=(t=e.charCodeAt(l++))-48<10?t-22:t-65<26?t-65:t-97<26?t-97:d;(S>=d||S>m((c-s)/f))&&y("overflow"),s+=S*f;var g=h<=a?1:h>=a+26?26:h-a;if(S<g)break;var v=d-g;f>m(c/v)&&y("overflow"),f*=v}var b=n.length+1;a=E(s-p,b,0==p),m(s/b)>c-o&&y("overflow"),o+=m(s/b),s%=b,n.splice(s++,0,o)}return String.fromCodePoint.apply(String,n)},T=function(e){var t=[],n=(e=v(e)).length,r=128,s=0,o=72,a=!0,i=!1,u=void 0;try{for(var l,p=e[Symbol.iterator]();!(a=(l=p.next()).done);a=!0){var f=l.value;f<128&&t.push(S(f))}}catch(e){i=!0,u=e}finally{try{!a&&p.return&&p.return()}finally{if(i)throw u}}var h=t.length,g=h;for(h&&t.push("-");g<n;){var A=c,T=!0,w=!1,k=void 0;try{for(var P,I=e[Symbol.iterator]();!(T=(P=I.next()).done);T=!0){var N=P.value;N>=r&&N<A&&(A=N)}}catch(e){w=!0,k=e}finally{try{!T&&I.return&&I.return()}finally{if(w)throw k}}var O=g+1;A-r>m((c-s)/O)&&y("overflow"),s+=(A-r)*O,r=A;var _=!0,x=!1,C=void 0;try{for(var D,$=e[Symbol.iterator]();!(_=(D=$.next()).done);_=!0){var R=D.value;if(R<r&&++s>c&&y("overflow"),R==r){for(var q=s,j=d;;j+=d){var M=j<=o?1:j>=o+26?26:j-o;if(q<M)break;var B=q-M,G=d-M;t.push(S(b(M+B%G,0))),q=m(B/G)}t.push(S(b(q,0))),o=E(s,O,g==h),s=0,++g}}}catch(e){x=!0,C=e}finally{try{!_&&$.return&&$.return()}finally{if(x)throw C}}++s,++r}return t.join("")},w=function(e){return g(e,(function(e){return p.test(e)?"xn--"+T(e):e}))},k=function(e){return g(e,(function(e){return l.test(e)?A(e.slice(4).toLowerCase()):e}))},P={};function I(e){var t=e.charCodeAt(0);return t<16?"%0"+t.toString(16).toUpperCase():t<128?"%"+t.toString(16).toUpperCase():t<2048?"%"+(t>>6|192).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase():"%"+(t>>12|224).toString(16).toUpperCase()+"%"+(t>>6&63|128).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase()}function N(e){for(var t="",n=0,r=e.length;n<r;){var s=parseInt(e.substr(n+1,2),16);if(s<128)t+=String.fromCharCode(s),n+=3;else if(s>=194&&s<224){if(r-n>=6){var o=parseInt(e.substr(n+4,2),16);t+=String.fromCharCode((31&s)<<6|63&o)}else t+=e.substr(n,6);n+=6}else if(s>=224){if(r-n>=9){var a=parseInt(e.substr(n+4,2),16),i=parseInt(e.substr(n+7,2),16);t+=String.fromCharCode((15&s)<<12|(63&a)<<6|63&i)}else t+=e.substr(n,9);n+=9}else t+=e.substr(n,3),n+=3}return t}function O(e,t){function n(e){var n=N(e);return n.match(t.UNRESERVED)?n:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,n).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,n).replace(t.NOT_USERINFO,I).replace(t.PCT_ENCODED,s)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,n).toLowerCase().replace(t.NOT_HOST,I).replace(t.PCT_ENCODED,s)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,n).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,I).replace(t.PCT_ENCODED,s)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,n).replace(t.NOT_QUERY,I).replace(t.PCT_ENCODED,s)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,n).replace(t.NOT_FRAGMENT,I).replace(t.PCT_ENCODED,s)),e}function _(e){return e.replace(/^0*(.*)/,"$1")||"0"}function x(e,t){var n=e.match(t.IPV4ADDRESS)||[],r=u(n,2)[1];return r?r.split(".").map(_).join("."):e}function C(e,t){var n=e.match(t.IPV6ADDRESS)||[],r=u(n,3),s=r[1],o=r[2];if(s){for(var a=s.toLowerCase().split("::").reverse(),i=u(a,2),c=i[0],d=i[1],l=d?d.split(":").map(_):[],p=c.split(":").map(_),f=t.IPV4ADDRESS.test(p[p.length-1]),h=f?7:8,m=p.length-h,S=Array(h),y=0;y<h;++y)S[y]=l[y]||p[m+y]||"";f&&(S[h-1]=x(S[h-1],t));var g=S.reduce((function(e,t,n){if(!t||"0"===t){var r=e[e.length-1];r&&r.index+r.length===n?r.length++:e.push({index:n,length:1})}return e}),[]).sort((function(e,t){return t.length-e.length}))[0],v=void 0;if(g&&g.length>1){var b=S.slice(0,g.index),E=S.slice(g.index+g.length);v=b.join(":")+"::"+E.join(":")}else v=S.join(":");return o&&(v+="%"+o),v}return e}var D=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,$=void 0==="".match(/(){0}/)[1];function R(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={},r=!1!==t.iri?i:a;"suffix"===t.reference&&(e=(t.scheme?t.scheme+":":"")+"//"+e);var s=e.match(D);if(s){$?(n.scheme=s[1],n.userinfo=s[3],n.host=s[4],n.port=parseInt(s[5],10),n.path=s[6]||"",n.query=s[7],n.fragment=s[8],isNaN(n.port)&&(n.port=s[5])):(n.scheme=s[1]||void 0,n.userinfo=-1!==e.indexOf("@")?s[3]:void 0,n.host=-1!==e.indexOf("//")?s[4]:void 0,n.port=parseInt(s[5],10),n.path=s[6]||"",n.query=-1!==e.indexOf("?")?s[7]:void 0,n.fragment=-1!==e.indexOf("#")?s[8]:void 0,isNaN(n.port)&&(n.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?s[4]:void 0)),n.host&&(n.host=C(x(n.host,r),r)),void 0!==n.scheme||void 0!==n.userinfo||void 0!==n.host||void 0!==n.port||n.path||void 0!==n.query?void 0===n.scheme?n.reference="relative":void 0===n.fragment?n.reference="absolute":n.reference="uri":n.reference="same-document",t.reference&&"suffix"!==t.reference&&t.reference!==n.reference&&(n.error=n.error||"URI is not a "+t.reference+" reference.");var o=P[(t.scheme||n.scheme||"").toLowerCase()];if(t.unicodeSupport||o&&o.unicodeSupport)O(n,r);else{if(n.host&&(t.domainHost||o&&o.domainHost))try{n.host=w(n.host.replace(r.PCT_ENCODED,N).toLowerCase())}catch(e){n.error=n.error||"Host's domain name can not be converted to ASCII via punycode: "+e}O(n,a)}o&&o.parse&&o.parse(n,t)}else n.error=n.error||"URI can not be parsed.";return n}function q(e,t){var n=!1!==t.iri?i:a,r=[];return void 0!==e.userinfo&&(r.push(e.userinfo),r.push("@")),void 0!==e.host&&r.push(C(x(String(e.host),n),n).replace(n.IPV6ADDRESS,(function(e,t,n){return"["+t+(n?"%25"+n:"")+"]"}))),"number"!=typeof e.port&&"string"!=typeof e.port||(r.push(":"),r.push(String(e.port))),r.length?r.join(""):void 0}var j=/^\.\.?\//,M=/^\/\.(\/|$)/,B=/^\/\.\.(\/|$)/,G=/^\/?(?:.|\n)*?(?=\/|$)/;function L(e){for(var t=[];e.length;)if(e.match(j))e=e.replace(j,"");else if(e.match(M))e=e.replace(M,"/");else if(e.match(B))e=e.replace(B,"/"),t.pop();else if("."===e||".."===e)e="";else{var n=e.match(G);if(!n)throw new Error("Unexpected dot segment condition");var r=n[0];e=e.slice(r.length),t.push(r)}return t.join("")}function F(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.iri?i:a,r=[],s=P[(t.scheme||e.scheme||"").toLowerCase()];if(s&&s.serialize&&s.serialize(e,t),e.host)if(n.IPV6ADDRESS.test(e.host));else if(t.domainHost||s&&s.domainHost)try{e.host=t.iri?k(e.host):w(e.host.replace(n.PCT_ENCODED,N).toLowerCase())}catch(n){e.error=e.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+n}O(e,n),"suffix"!==t.reference&&e.scheme&&(r.push(e.scheme),r.push(":"));var o=q(e,t);if(void 0!==o&&("suffix"!==t.reference&&r.push("//"),r.push(o),e.path&&"/"!==e.path.charAt(0)&&r.push("/")),void 0!==e.path){var u=e.path;t.absolutePath||s&&s.absolutePath||(u=L(u)),void 0===o&&(u=u.replace(/^\/\//,"/%2F")),r.push(u)}return void 0!==e.query&&(r.push("?"),r.push(e.query)),void 0!==e.fragment&&(r.push("#"),r.push(e.fragment)),r.join("")}function V(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r={};return arguments[3]||(e=R(F(e,n),n),t=R(F(t,n),n)),!(n=n||{}).tolerant&&t.scheme?(r.scheme=t.scheme,r.userinfo=t.userinfo,r.host=t.host,r.port=t.port,r.path=L(t.path||""),r.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(r.userinfo=t.userinfo,r.host=t.host,r.port=t.port,r.path=L(t.path||""),r.query=t.query):(t.path?("/"===t.path.charAt(0)?r.path=L(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?r.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:r.path=t.path:r.path="/"+t.path,r.path=L(r.path)),r.query=t.query):(r.path=e.path,void 0!==t.query?r.query=t.query:r.query=e.query),r.userinfo=e.userinfo,r.host=e.host,r.port=e.port),r.scheme=e.scheme),r.fragment=t.fragment,r}function U(e,t){return e&&e.toString().replace(t&&t.iri?i.PCT_ENCODED:a.PCT_ENCODED,N)}var J={scheme:"http",domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,t){var n="https"===String(e.scheme).toLowerCase();return e.port!==(n?443:80)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},H={scheme:"https",domainHost:J.domainHost,parse:J.parse,serialize:J.serialize};function K(e){return"boolean"==typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}var W={scheme:"ws",domainHost:!0,parse:function(e,t){var n=e;return n.secure=K(n),n.resourceName=(n.path||"/")+(n.query?"?"+n.query:""),n.path=void 0,n.query=void 0,n},serialize:function(e,t){if(e.port!==(K(e)?443:80)&&""!==e.port||(e.port=void 0),"boolean"==typeof e.secure&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){var n=e.resourceName.split("?"),r=u(n,2),s=r[0],o=r[1];e.path=s&&"/"!==s?s:void 0,e.query=o,e.resourceName=void 0}return e.fragment=void 0,e}},X={scheme:"wss",domainHost:W.domainHost,parse:W.parse,serialize:W.serialize},Y={},z="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",Z="[0-9A-Fa-f]",Q=n(n("%[EFef]"+Z+"%"+Z+Z+"%"+Z+Z)+"|"+n("%[89A-Fa-f]"+Z+"%"+Z+Z)+"|"+n("%"+Z+Z)),ee=t("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),te=new RegExp(z,"g"),ne=new RegExp(Q,"g"),re=new RegExp(t("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',ee),"g"),se=new RegExp(t("[^]",z,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),oe=se;function ae(e){var t=N(e);return t.match(te)?t:e}var ie={scheme:"mailto",parse:function(e,t){var n=e,r=n.to=n.path?n.path.split(","):[];if(n.path=void 0,n.query){for(var s=!1,o={},a=n.query.split("&"),i=0,u=a.length;i<u;++i){var c=a[i].split("=");switch(c[0]){case"to":for(var d=c[1].split(","),l=0,p=d.length;l<p;++l)r.push(d[l]);break;case"subject":n.subject=U(c[1],t);break;case"body":n.body=U(c[1],t);break;default:s=!0,o[U(c[0],t)]=U(c[1],t)}}s&&(n.headers=o)}n.query=void 0;for(var f=0,h=r.length;f<h;++f){var m=r[f].split("@");if(m[0]=U(m[0]),t.unicodeSupport)m[1]=U(m[1],t).toLowerCase();else try{m[1]=w(U(m[1],t).toLowerCase())}catch(e){n.error=n.error||"Email address's domain name can not be converted to ASCII via punycode: "+e}r[f]=m.join("@")}return n},serialize:function(e,t){var n,r=e,o=null!=(n=e.to)?n instanceof Array?n:"number"!=typeof n.length||n.split||n.setInterval||n.call?[n]:Array.prototype.slice.call(n):[];if(o){for(var a=0,i=o.length;a<i;++a){var u=String(o[a]),c=u.lastIndexOf("@"),d=u.slice(0,c).replace(ne,ae).replace(ne,s).replace(re,I),l=u.slice(c+1);try{l=t.iri?k(l):w(U(l,t).toLowerCase())}catch(e){r.error=r.error||"Email address's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+e}o[a]=d+"@"+l}r.path=o.join(",")}var p=e.headers=e.headers||{};e.subject&&(p.subject=e.subject),e.body&&(p.body=e.body);var f=[];for(var h in p)p[h]!==Y[h]&&f.push(h.replace(ne,ae).replace(ne,s).replace(se,I)+"="+p[h].replace(ne,ae).replace(ne,s).replace(oe,I));return f.length&&(r.query=f.join("&")),r}},ue=/^([^\:]+)\:(.*)/,ce={scheme:"urn",parse:function(e,t){var n=e.path&&e.path.match(ue),r=e;if(n){var s=t.scheme||r.scheme||"urn",o=n[1].toLowerCase(),a=n[2],i=s+":"+(t.nid||o),u=P[i];r.nid=o,r.nss=a,r.path=void 0,u&&(r=u.parse(r,t))}else r.error=r.error||"URN can not be parsed.";return r},serialize:function(e,t){var n=t.scheme||e.scheme||"urn",r=e.nid,s=n+":"+(t.nid||r),o=P[s];o&&(e=o.serialize(e,t));var a=e,i=e.nss;return a.path=(r||t.nid)+":"+i,a}},de=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,le={scheme:"urn:uuid",parse:function(e,t){var n=e;return n.uuid=n.nss,n.nss=void 0,t.tolerant||n.uuid&&n.uuid.match(de)||(n.error=n.error||"UUID is not valid."),n},serialize:function(e,t){var n=e;return n.nss=(e.uuid||"").toLowerCase(),n}};P[J.scheme]=J,P[H.scheme]=H,P[W.scheme]=W,P[X.scheme]=X,P[ie.scheme]=ie,P[ce.scheme]=ce,P[le.scheme]=le,e.SCHEMES=P,e.pctEncChar=I,e.pctDecChars=N,e.parse=R,e.removeDotSegments=L,e.serialize=F,e.resolveComponents=V,e.resolve=function(e,t,n){var r=function(e,t){var n=e;if(t)for(var r in t)n[r]=t[r];return n}({scheme:"null"},n);return F(V(R(e,r),R(t,r),r,!0),r)},e.normalize=function(e,t){return"string"==typeof e?e=F(R(e,t),t):"object"===r(e)&&(e=R(F(e,t),t)),e},e.equal=function(e,t,n){return"string"==typeof e?e=F(R(e,n),n):"object"===r(e)&&(e=F(e,n)),"string"==typeof t?t=F(R(t,n),n):"object"===r(t)&&(t=F(t,n)),e===t},e.escapeComponent=function(e,t){return e&&e.toString().replace(t&&t.iri?i.ESCAPE:a.ESCAPE,I)},e.unescapeComponent=U,Object.defineProperty(e,"__esModule",{value:!0})}(t)},735:e=>{e.exports={utf8ByteArrayToString:function(e){for(var t=[],n=0,r=0;n<e.length;){var s=e[n++];if(s<128)t[r++]=String.fromCharCode(s);else if(s>191&&s<224){var o=e[n++];t[r++]=String.fromCharCode((31&s)<<6|63&o)}else if(s>239&&s<365){var a=((7&s)<<18|(63&(o=e[n++]))<<12|(63&(i=e[n++]))<<6|63&e[n++])-65536;t[r++]=String.fromCharCode(55296+(a>>10)),t[r++]=String.fromCharCode(56320+(1023&a))}else{o=e[n++];var i=e[n++];t[r++]=String.fromCharCode((15&s)<<12|(63&o)<<6|63&i)}}return t.join("")},stringToUtf8ByteArray:function(e){for(var t=[],n=0,r=0;r<e.length;r++){var s=e.charCodeAt(r);s<128?t[n++]=s:s<2048?(t[n++]=s>>6|192,t[n++]=63&s|128):55296==(64512&s)&&r+1<e.length&&56320==(64512&e.charCodeAt(r+1))?(s=65536+((1023&s)<<10)+(1023&e.charCodeAt(++r)),t[n++]=s>>18|240,t[n++]=s>>12&63|128,t[n++]=s>>6&63|128,t[n++]=63&s|128):(t[n++]=s>>12|224,t[n++]=s>>6&63|128,t[n++]=63&s|128)}return t}}},3528:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>U});const r="xregexp",s={astral:!1,namespacing:!0},o={};let a={},i={};const u=[],c="default",d="class",l={default:/\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/,class:/\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/},p=/\$(?:\{([^\}]+)\}|<([^>]+)>|(\d\d?|[\s\S]?))/g,f=void 0===/()??/.exec("")[1],h=void 0!==/x/.flags;function m(e){let t=!0;try{new RegExp("",e),"y"===e&&".."===".a".replace(new RegExp("a","gy"),".")&&(t=!1)}catch(e){t=!1}return t}const S=m("d"),y=m("s"),g=m("u"),v=m("y"),b={d:S,g:!0,i:!0,m:!0,s:y,u:g,y:v},E=y?/[^dgimsuy]+/g:/[^dgimuy]+/g;function A(e,t,n,s,o){if(e[r]={captureNames:t},o)return e;if(e.__proto__)e.__proto__=q.prototype;else for(const t in q.prototype)e[t]=q.prototype[t];return e[r].source=n,e[r].flags=s?s.split("").sort().join(""):s,e}function T(e){return e.replace(/([\s\S])(?=[\s\S]*\1)/g,"")}function w(e,t){if(!q.isRegExp(e))throw new TypeError("Type RegExp expected");const n=e[r]||{};let s=function(e){return h?e.flags:/\/([a-z]*)$/i.exec(RegExp.prototype.toString.call(e))[1]}(e),o="",a="",i=null,u=null;return(t=t||{}).removeG&&(a+="g"),t.removeY&&(a+="y"),a&&(s=s.replace(new RegExp(`[${a}]+`,"g"),"")),t.addG&&(o+="g"),t.addY&&(o+="y"),o&&(s=T(s+o)),t.isInternalOnly||(void 0!==n.source&&(i=n.source),null!=n.flags&&(u=o?T(n.flags+o):n.flags)),A(new RegExp(t.source||e.source,s),function(e){return!(!e[r]||!e[r].captureNames)}(e)?n.captureNames.slice(0):null,i,u,t.isInternalOnly)}function k(e){return parseInt(e,16)}function P(e,t,n){const r=e.index+e[0].length,s=e.input[e.index-1],o=e.input[r];return/^[()|]$/.test(s)||/^[()|]$/.test(o)||0===e.index||r===e.input.length||/\(\?(?:[:=!]|<[=!])$/.test(e.input.substring(e.index-4,e.index))||function(e,t,n){const r="\\(\\?#[^)]*\\)",s="[?*+]|{\\d+(?:,\\d*)?}";return(n.includes("x")?new RegExp(`^(?:\\s|#[^#\\n]*|${r})*(?:${s})`):new RegExp(`^(?:${r})*(?:${s})`)).test(e.slice(t))}(e.input,r,n)?"":"(?:)"}function I(e){return parseInt(e,10).toString(16)}function N(e,t){return Object.prototype.toString.call(e)===`[object ${t}]`}function O(e){if(null==e)throw new TypeError("Cannot convert null or undefined to object");return e}function _(e){for(;e.length<4;)e=`0${e}`;return e}function x(e){const t={};return N(e,"String")?(q.forEach(e,/[^\s,]+/,(e=>{t[e]=!0})),t):e}function C(e){if(!/^[\w$]$/.test(e))throw new Error("Flag must be a single character A-Za-z0-9_$");b[e]=!0}function D(e,t,n,r,s){let o=u.length;const a=e[n];let i,c,d=null;for(;o--;)if(c=u[o],!(c.leadChar&&c.leadChar!==a||c.scope!==r&&"all"!==c.scope||c.flag&&!t.includes(c.flag))&&(i=q.exec(e,c.regex,n,"sticky"),i)){d={matchLength:i[0].length,output:c.handler.call(s,i,r,t),reparse:c.reparse};break}return d}function $(e){s.astral=e}function R(e){s.namespacing=e}function q(e,t){if(q.isRegExp(e)){if(void 0!==t)throw new TypeError("Cannot supply flags when copying a RegExp");return w(e)}if(e=void 0===e?"":String(e),t=void 0===t?"":String(t),q.isInstalled("astral")&&!t.includes("A")&&(t+="A"),i[e]||(i[e]={}),!i[e][t]){const n={hasNamedCapture:!1,captureNames:[]};let r,s=c,o="",a=0;const u=function(e,t){if(T(t)!==t)throw new SyntaxError(`Invalid duplicate regex flag ${t}`);e=e.replace(/^\(\?([\w$]+)\)/,((e,n)=>{if(/[dgy]/.test(n))throw new SyntaxError(`Cannot use flags dgy in mode modifier ${e}`);return t=T(t+n),""}));for(const e of t)if(!b[e])throw new SyntaxError(`Unknown regex flag ${e}`);return{pattern:e,flags:t}}(e,t);let p=u.pattern;const f=u.flags;for(;a<p.length;){do{r=D(p,f,a,s,n),r&&r.reparse&&(p=p.slice(0,a)+r.output+p.slice(a+r.matchLength))}while(r&&r.reparse);if(r)o+=r.output,a+=r.matchLength||1;else{const[e]=q.exec(p,l[s],a,"sticky");o+=e,a+=e.length,"["===e&&s===c?s=d:"]"===e&&s===d&&(s=c)}}i[e][t]={pattern:o.replace(/(?:\(\?:\))+/g,"(?:)"),flags:f.replace(E,""),captures:n.hasNamedCapture?n.captureNames:null}}const n=i[e][t];return A(new RegExp(n.pattern,n.flags),n.captures,e,t)}q.prototype=new RegExp,q.version="5.1.1",q._clipDuplicates=T,q._hasNativeFlag=m,q._dec=k,q._hex=I,q._pad4=_,q.addToken=(e,t,n)=>{n=n||{};let{optionalFlags:r}=n;if(n.flag&&C(n.flag),r){r=r.split("");for(const e of r)C(e)}u.push({regex:w(e,{addG:!0,addY:v,isInternalOnly:!0}),handler:t,scope:n.scope||c,flag:n.flag,reparse:n.reparse,leadChar:n.leadChar}),q.cache.flush("patterns")},q.cache=(e,t)=>(a[e]||(a[e]={}),a[e][t]||(a[e][t]=q(e,t))),q.cache.flush=e=>{"patterns"===e?i={}:a={}},q.escape=e=>String(O(e)).replace(/[\\\[\]{}()*+?.^$|]/g,"\\$&").replace(/[\s#\-,]/g,(e=>`\\u${_(I(e.charCodeAt(0)))}`)),q.exec=(e,t,n,s)=>{let a,i="g",u=!1,c=!1;u=v&&!!(s||t.sticky&&!1!==s),u?i+="y":s&&(c=!0,i+="FakeY"),t[r]=t[r]||{};const d=t[r][i]||(t[r][i]=w(t,{addG:!0,addY:u,source:c?`${t.source}|()`:void 0,removeY:!1===s,isInternalOnly:!0}));return n=n||0,d.lastIndex=n,a=o.exec.call(d,e),c&&a&&""===a.pop()&&(a=null),t.global&&(t.lastIndex=a?d.lastIndex:0),a},q.forEach=(e,t,n)=>{let r,s=0,o=-1;for(;r=q.exec(e,t,s);)n(r,++o,e,t),s=r.index+(r[0].length||1)},q.globalize=e=>w(e,{addG:!0}),q.install=e=>{e=x(e),!s.astral&&e.astral&&$(!0),!s.namespacing&&e.namespacing&&R(!0)},q.isInstalled=e=>!!s[e],q.isRegExp=e=>"[object RegExp]"===Object.prototype.toString.call(e),q.match=(e,t,n)=>{const s=t.global&&"one"!==n||"all"===n,o=(s?"g":"")+(t.sticky?"y":"")||"noGY";t[r]=t[r]||{};const a=t[r][o]||(t[r][o]=w(t,{addG:!!s,removeG:"one"===n,isInternalOnly:!0})),i=String(O(e)).match(a);return t.global&&(t.lastIndex="one"===n&&i?i.index+i[0].length:0),s?i||[]:i&&i[0]},q.matchChain=(e,t)=>function e(n,r){const s=t[r].regex?t[r]:{regex:t[r]},o=[];function a(e){if(s.backref){const t=`Backreference to undefined group: ${s.backref}`,n=isNaN(s.backref);if(n&&q.isInstalled("namespacing")){if(!e.groups||!(s.backref in e.groups))throw new ReferenceError(t)}else if(!e.hasOwnProperty(s.backref))throw new ReferenceError(t);const r=n&&q.isInstalled("namespacing")?e.groups[s.backref]:e[s.backref];o.push(r||"")}else o.push(e[0])}for(const e of n)q.forEach(e,s.regex,a);return r!==t.length-1&&o.length?e(o,r+1):o}([e],0),q.replace=(e,t,n,s)=>{const a=q.isRegExp(t),i=t.global&&"one"!==s||"all"===s,u=(i?"g":"")+(t.sticky?"y":"")||"noGY";let c=t;a?(t[r]=t[r]||{},c=t[r][u]||(t[r][u]=w(t,{addG:!!i,removeG:"one"===s,isInternalOnly:!0}))):i&&(c=new RegExp(q.escape(String(t)),"g"));const d=o.replace.call(O(e),c,n);return a&&t.global&&(t.lastIndex=0),d},q.replaceEach=(e,t)=>{for(const n of t)e=q.replace(e,n[0],n[1],n[2]);return e},q.split=(e,t,n)=>o.split.call(O(e),t,n),q.test=(e,t,n,r)=>!!q.exec(e,t,n,r),q.uninstall=e=>{e=x(e),s.astral&&e.astral&&$(!1),s.namespacing&&e.namespacing&&R(!1)},q.union=(e,t,n)=>{const s=(n=n||{}).conjunction||"or";let o,a,i=0;function u(e,t,n){const r=a[i-o];if(t){if(++i,r)return`(?<${r}>`}else if(n)return`\\${+n+o}`;return e}if(!N(e,"Array")||!e.length)throw new TypeError("Must provide a nonempty array of patterns to merge");const c=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g,d=[];for(const t of e)q.isRegExp(t)?(o=i,a=t[r]&&t[r].captureNames||[],d.push(q(t.source).source.replace(c,u))):d.push(q.escape(t));const l="none"===s?"":"|";return q(d.join(l),t)},o.exec=function(e){const t=this.lastIndex,n=RegExp.prototype.exec.apply(this,arguments);if(n){if(!f&&n.length>1&&n.includes("")){const t=w(this,{removeG:!0,isInternalOnly:!0});String(e).slice(n.index).replace(t,((...e)=>{const t=e.length;for(let r=1;r<t-2;++r)void 0===e[r]&&(n[r]=void 0)}))}if(this[r]&&this[r].captureNames){let e=n;q.isInstalled("namespacing")&&(n.groups=Object.create(null),e=n.groups);for(let t=1;t<n.length;++t){const s=this[r].captureNames[t-1];s&&(e[s]=n[t])}}else!n.groups&&q.isInstalled("namespacing")&&(n.groups=void 0);this.global&&!n[0].length&&this.lastIndex>n.index&&(this.lastIndex=n.index)}return this.global||(this.lastIndex=t),n},o.test=function(e){return!!o.exec.call(this,e)},o.match=function(e){if(q.isRegExp(e)){if(e.global){const t=String.prototype.match.apply(this,arguments);return e.lastIndex=0,t}}else e=new RegExp(e);return o.exec.call(e,O(this))},o.replace=function(e,t){const n=q.isRegExp(e);let s,o,a;return n?(e[r]&&({captureNames:o}=e[r]),s=e.lastIndex):e+="",a=N(t,"Function")?String(this).replace(e,((...e)=>{if(o){let t;q.isInstalled("namespacing")?(t=Object.create(null),e.push(t)):(e[0]=new String(e[0]),[t]=e);for(let n=0;n<o.length;++n)o[n]&&(t[o[n]]=e[n+1])}return t(...e)})):String(O(this)).replace(e,((...e)=>String(t).replace(p,(function(t,n,r,s){n=n||r;const a=N(e[e.length-1],"Object")?4:3,i=e.length-a;if(n){if(/^\d+$/.test(n)){const t=+n;if(t<=i)return e[t]||""}const r=o?o.indexOf(n):-1;if(r<0)throw new SyntaxError(`Backreference to undefined group ${t}`);return e[r+1]||""}if(""===s||" "===s)throw new SyntaxError(`Invalid token ${t}`);if("&"===s||0==+s)return e[0];if("$"===s)return"$";if("`"===s)return e[e.length-1].slice(0,e[e.length-2]);if("'"===s)return e[e.length-1].slice(e[e.length-2]+e[0].length);if(s=+s,!isNaN(s)){if(s>i)throw new SyntaxError(`Backreference to undefined group ${t}`);return e[s]||""}throw new SyntaxError(`Invalid token ${t}`)})))),n&&(e.global?e.lastIndex=0:e.lastIndex=s),a},o.split=function(e,t){if(!q.isRegExp(e))return String.prototype.split.apply(this,arguments);const n=String(this),r=[],s=e.lastIndex;let o,a=0;return t=(void 0===t?-1:t)>>>0,q.forEach(n,e,(e=>{e.index+e[0].length>a&&(r.push(n.slice(a,e.index)),e.length>1&&e.index<n.length&&Array.prototype.push.apply(r,e.slice(1)),o=e[0].length,a=e.index+o)})),a===n.length?e.test("")&&!o||r.push(""):r.push(n.slice(a)),e.lastIndex=s,r.length>t?r.slice(0,t):r},q.addToken(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4}|{[\dA-Fa-f]+})|x(?![\dA-Fa-f]{2}))/,((e,t)=>{if("B"===e[1]&&t===c)return e[0];throw new SyntaxError(`Invalid escape ${e[0]}`)}),{scope:"all",leadChar:"\\"}),q.addToken(/\\u{([\dA-Fa-f]+)}/,((e,t,n)=>{const r=k(e[1]);if(r>1114111)throw new SyntaxError(`Invalid Unicode code point ${e[0]}`);if(r<=65535)return`\\u${_(I(r))}`;if(g&&n.includes("u"))return e[0];throw new SyntaxError("Cannot use Unicode code point above \\u{FFFF} without flag u")}),{scope:"all",leadChar:"\\"}),q.addToken(/\(\?#[^)]*\)/,P,{leadChar:"("}),q.addToken(/\s+|#[^\n]*\n?/,P,{flag:"x"}),y||q.addToken(/\./,(()=>"[\\s\\S]"),{flag:"s",leadChar:"."}),q.addToken(/\\k<([^>]+)>/,(function(e){const t=isNaN(e[1])?this.captureNames.indexOf(e[1])+1:+e[1],n=e.index+e[0].length;if(!t||t>this.captureNames.length)throw new SyntaxError(`Backreference to undefined group ${e[0]}`);return`\\${t}${n===e.input.length||isNaN(e.input[n])?"":"(?:)"}`}),{leadChar:"\\"}),q.addToken(/\\(\d+)/,(function(e,t){if(!(t===c&&/^[1-9]/.test(e[1])&&+e[1]<=this.captureNames.length)&&"0"!==e[1])throw new SyntaxError(`Cannot use octal escape or backreference to undefined group ${e[0]}`);return e[0]}),{scope:"all",leadChar:"\\"}),q.addToken(/\(\?P?<([\p{ID_Start}$_][\p{ID_Continue}$_\u200C\u200D]*)>/u,(function(e){if(!q.isInstalled("namespacing")&&("length"===e[1]||"__proto__"===e[1]))throw new SyntaxError(`Cannot use reserved word as capture name ${e[0]}`);if(this.captureNames.includes(e[1]))throw new SyntaxError(`Cannot use same name for multiple groups ${e[0]}`);return this.captureNames.push(e[1]),this.hasNamedCapture=!0,"("}),{leadChar:"("}),q.addToken(/\((?!\?)/,(function(e,t,n){return n.includes("n")?"(?:":(this.captureNames.push(null),"(")}),{optionalFlags:"n",leadChar:"("});const j=q;var M=n(4732),B=n.n(M),G=n(2474),L=n.n(G),F=n(772),V=n.n(F);(e=>{const t="xregexp",n=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g,r=e.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/,n],"g",{conjunction:"or"});function s(e){const t=/^(?:\(\?:\))*\^/,n=/\$(?:\(\?:\))*$/;return t.test(e)&&n.test(e)&&n.test(e.replace(/\\[\s\S]/g,""))?e.replace(t,"").replace(n,""):e}function o(n,r){const s=r?"x":"";return e.isRegExp(n)?n[t]&&n[t].captureNames?n:e(n.source,s):e(n,s)}function a(t){return t instanceof RegExp?t:e.escape(t)}function i(e,t,n){return e[`subpattern${n}`]=t,e}function u(e,t,n){return e+(t<n.length-1?`{{subpattern${t}}}`:"")}e.tag=t=>(n,...r)=>{const s=r.map(a).reduce(i,{}),o=n.raw.map(u).join("");return e.build(o,s,t)},e.build=(a,i,u)=>{const c=(u=u||"").includes("x"),d=/^\(\?([\w$]+)\)/.exec(a);d&&(u=e._clipDuplicates(u+d[1]));const l={};for(const e in i)if(i.hasOwnProperty(e)){const n=o(i[e],c);l[e]={pattern:s(n.source),names:n[t].captureNames||[]}}const p=o(a,c);let f,h=0,m=0;const S=[0],y=p[t].captureNames||[],g=p.source.replace(r,((e,t,r,s,o)=>{const a=t||r;let i,u,c;if(a){if(!l.hasOwnProperty(a))throw new ReferenceError(`Undefined property ${e}`);return t?(i=y[m],S[++m]=++h,u=`(?<${i||a}>`):u="(?:",f=h,`${u}${l[a].pattern.replace(n,((e,t,n)=>{if(t){if(i=l[a].names[h-f],++h,i)return`(?<${i}>`}else if(n)return c=+n-1,l[a].names[c]?`\\k<${l[a].names[c]}>`:`\\${+n+f}`;return e}))})`}if(s){if(i=y[m],S[++m]=++h,i)return`(?<${i}>`}else if(o)return c=+o-1,y[c]?`\\k<${y[c]}>`:`\\${S[+o]}`;return e}));return e(g,u)}})(j),(e=>{function t(e,t,n,r){return{name:e,value:t,start:n,end:r}}e.matchRecursive=(n,r,s,o,a)=>{a=a||{};const i=(o=o||"").includes("g"),u=o.includes("y"),c=o.replace(/y/g,"");let d;r=e(r,c),s=e(s,c);let{escapeChar:l}=a;if(l){if(l.length>1)throw new Error("Cannot use more than one escape character");l=e.escape(l),d=new RegExp(`(?:${l}[\\S\\s]|(?:(?!${e.union([r,s],"",{conjunction:"or"}).source})[^${l}])+)+`,o.replace(e._hasNativeFlag("s")?/[^imsu]/g:/[^imu]/g,""))}let p,f,h,m,S=0,y=0,g=0,v=0;const b=a.valueNames,E=[];for(;;){if(l&&(g+=(e.exec(n,d,g,"sticky")||[""])[0].length),h=e.exec(n,r,g),m=e.exec(n,s,g),h&&m&&(h.index<=m.index?m=null:h=null),h||m)y=(h||m).index,g=y+(h||m)[0].length;else if(!S)break;if(u&&!S&&y>v)break;if(h)S||(p=y,f=g),S+=1;else if(m&&S){if(S-=1,!S&&(b?(b[0]&&p>v&&E.push(t(b[0],n.slice(v,p),v,p)),b[1]&&E.push(t(b[1],n.slice(p,f),p,f)),b[2]&&E.push(t(b[2],n.slice(f,y),f,y)),b[3]&&E.push(t(b[3],n.slice(y,g),y,g))):E.push(n.slice(f,y)),v=g,!i))break}else{const t=a.unbalanced||"error";if("skip"!==t&&"skip-lazy"!==t){if("error"===t)throw new Error(`Unbalanced ${m?"right":"left"} delimiter found in string at position ${m?y:p}`);throw new Error(`Unsupported value for unbalanced: ${t}`)}m?m=null:(g="skip"===t?p+(e.exec(n,r,p,"sticky")[0].length||1):p+1,S=0)}y===g&&(g+=1)}return i&&E.length>0&&!u&&b&&b[0]&&n.length>v&&E.push(t(b[0],n.slice(v),v,n.length)),E}})(j),(e=>{const t={},n={},r=e._dec,s=e._hex,o=e._pad4;function a(e){return e.replace(/[- _]+/g,"").toLowerCase()}function i(e){const t=/^\\[xu](.+)/.exec(e);return t?r(t[1]):e.charCodeAt("\\"===e[0]?1:0)}e.addToken(/\\([pP])(?:{(\^?)(?:(\w+)=)?([^}]*)}|([A-Za-z]))/,((r,u,c)=>{const d="Unknown Unicode token ",[l,p,f,h,m,S]=r;let y="P"===p||!!f;const g=c.includes("A");let v=a(S||m),b=t[v];if("P"===p&&f)throw new SyntaxError("Invalid double negation "+l);if(!t.hasOwnProperty(v))throw new SyntaxError(d+l);if(h&&(!n[h]||!n[h][v]))throw new SyntaxError(d+l);if(b.inverseOf){if(v=a(b.inverseOf),!t.hasOwnProperty(v))throw new ReferenceError(`${"Unicode token missing data "+l} -> ${b.inverseOf}`);b=t[v],y=!y}if(!b.bmp&&!g)throw new SyntaxError("Astral mode required for Unicode token "+l);if(g){if("class"===u)throw new SyntaxError("Astral mode does not support Unicode tokens within character classes");return function(e,n){const r=n?"a!":"a=";return t[e][r]||(t[e][r]=function(e,n){const r=t[e];let s="";return r.bmp&&!r.isBmpLast&&(s=`[${r.bmp}]${r.astral?"|":""}`),r.astral&&(s+=r.astral),r.isBmpLast&&r.bmp&&(s+=`${r.astral?"|":""}[${r.bmp}]`),n?`(?:(?!${s})(?:[\ud800-\udbff][\udc00-\udfff]|[\0-]))`:`(?:${s})`}(e,n))}(v,y)}return"class"===u?y?function(n){return t[n]["b!"]||(t[n]["b!"]=function(t){let n="",r=-1;return e.forEach(t,/(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/,(e=>{const t=i(e[1]);t>r+1&&(n+=`\\u${o(s(r+1))}`,t>r+2&&(n+=`-\\u${o(s(t-1))}`)),r=i(e[2]||e[1])})),r<65535&&(n+=`\\u${o(s(r+1))}`,r<65534&&(n+="-\\uFFFF")),n}(t[n].bmp))}(v):b.bmp:(y?"[^":"[")+b.bmp+"]"}),{scope:"all",optionalFlags:"A",leadChar:"\\"}),e.addUnicodeData=(r,s)=>{s&&(n[s]={});for(const e of r){if(!e.name)throw new Error("Unicode token requires name");if(!(e.inverseOf||e.bmp||e.astral))throw new Error("Unicode token has no character data "+e.name);const r=a(e.name);if(t[r]=e,s&&(n[s][r]=!0),e.alias){const r=a(e.alias);t[r]=e,s&&(n[s][r]=!0)}}e.cache.flush("patterns")},e._getUnicodeProperty=e=>{const n=a(e);return t[n]}})(j),(e=>{if(!e.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Categories");e.addUnicodeData(B())})(j),(e=>{if(!e.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Properties");const t=L();t.push({name:"Assigned",inverseOf:"Cn"}),e.addUnicodeData(t)})(j),(e=>{if(!e.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Scripts");e.addUnicodeData(V(),"Script")})(j);const U=j},4732:e=>{e.exports=[{name:"C",alias:"Other",isBmpLast:!0,bmp:"\0-------------------------------------ೳ---------໎------------------------------------------------------------------------------------------",astral:"\ud800[\udc0c\udc27\udc3b\udc3e\udc4e\udc4f\udc5e-\udc7f\udcfb-\udcff\udd03-\udd06\udd34-\udd36\udd8f\udd9d-\udd9f\udda1-\uddcf\uddfe-\ude7f\ude9d-\ude9f\uded1-\udedf\udefc-\udeff\udf24-\udf2c\udf4b-\udf4f\udf7b-\udf7f\udf9e\udfc4-\udfc7\udfd6-\udfff]|\ud801[\udc9e\udc9f\udcaa-\udcaf\udcd4-\udcd7\udcfc-\udcff\udd28-\udd2f\udd64-\udd6e\udd7b\udd8b\udd93\udd96\udda2\uddb2\uddba\uddbd-\uddff\udf37-\udf3f\udf56-\udf5f\udf68-\udf7f\udf86\udfb1\udfbb-\udfff]|\ud802[\udc06\udc07\udc09\udc36\udc39-\udc3b\udc3d\udc3e\udc56\udc9f-\udca6\udcb0-\udcdf\udcf3\udcf6-\udcfa\udd1c-\udd1e\udd3a-\udd3e\udd40-\udd7f\uddb8-\uddbb\uddd0\uddd1\ude04\ude07-\ude0b\ude14\ude18\ude36\ude37\ude3b-\ude3e\ude49-\ude4f\ude59-\ude5f\udea0-\udebf\udee7-\udeea\udef7-\udeff\udf36-\udf38\udf56\udf57\udf73-\udf77\udf92-\udf98\udf9d-\udfa8\udfb0-\udfff]|\ud803[\udc49-\udc7f\udcb3-\udcbf\udcf3-\udcf9\udd28-\udd2f\udd3a-\ude5f\ude7f\udeaa\udeae\udeaf\udeb2-\udeff\udf28-\udf2f\udf5a-\udf6f\udf8a-\udfaf\udfcc-\udfdf\udff7-\udfff]|\ud804[\udc4e-\udc51\udc76-\udc7e\udcbd\udcc3-\udccf\udce9-\udcef\udcfa-\udcff\udd35\udd48-\udd4f\udd77-\udd7f\udde0\uddf5-\uddff\ude12\ude3f-\ude7f\ude87\ude89\ude8e\ude9e\udeaa-\udeaf\udeeb-\udeef\udefa-\udeff\udf04\udf0d\udf0e\udf11\udf12\udf29\udf31\udf34\udf3a\udf45\udf46\udf49\udf4a\udf4e\udf4f\udf51-\udf56\udf58-\udf5c\udf64\udf65\udf6d-\udf6f\udf75-\udfff]|\ud805[\udc5c\udc62-\udc7f\udcc8-\udccf\udcda-\udd7f\uddb6\uddb7\uddde-\uddff\ude45-\ude4f\ude5a-\ude5f\ude6d-\ude7f\udeba-\udebf\udeca-\udeff\udf1b\udf1c\udf2c-\udf2f\udf47-\udfff]|\ud806[\udc3c-\udc9f\udcf3-\udcfe\udd07\udd08\udd0a\udd0b\udd14\udd17\udd36\udd39\udd3a\udd47-\udd4f\udd5a-\udd9f\udda8\udda9\uddd8\uddd9\udde5-\uddff\ude48-\ude4f\udea3-\udeaf\udef9-\udfff]|\ud807[\udc09\udc37\udc46-\udc4f\udc6d-\udc6f\udc90\udc91\udca8\udcb7-\udcff\udd07\udd0a\udd37-\udd39\udd3b\udd3e\udd48-\udd4f\udd5a-\udd5f\udd66\udd69\udd8f\udd92\udd99-\udd9f\uddaa-\udedf\udef9-\udfaf\udfb1-\udfbf\udff2-\udffe]|\ud808[\udf9a-\udfff]|\ud809[\udc6f\udc75-\udc7f\udd44-\udfff]|[\ud80a\ud80e-\ud810\ud812-\ud819\ud824-\ud82a\ud82d\ud82e\ud830-\ud832\ud83f\ud87b-\ud87d\ud87f\ud885-\udb3f\udb41-\udbff][\udc00-\udfff]|\ud80b[\udc00-\udf8f\udff3-\udfff]|\ud80d[\udc2f-\udfff]|\ud811[\ude47-\udfff]|\ud81a[\ude39-\ude3f\ude5f\ude6a-\ude6d\udebf\udeca-\udecf\udeee\udeef\udef6-\udeff\udf46-\udf4f\udf5a\udf62\udf78-\udf7c\udf90-\udfff]|\ud81b[\udc00-\ude3f\ude9b-\udeff\udf4b-\udf4e\udf88-\udf8e\udfa0-\udfdf\udfe5-\udfef\udff2-\udfff]|\ud821[\udff8-\udfff]|\ud823[\udcd6-\udcff\udd09-\udfff]|\ud82b[\udc00-\udfef\udff4\udffc\udfff]|\ud82c[\udd23-\udd4f\udd53-\udd63\udd68-\udd6f\udefc-\udfff]|\ud82f[\udc6b-\udc6f\udc7d-\udc7f\udc89-\udc8f\udc9a\udc9b\udca0-\udfff]|\ud833[\udc00-\udeff\udf2e\udf2f\udf47-\udf4f\udfc4-\udfff]|\ud834[\udcf6-\udcff\udd27\udd28\udd73-\udd7a\uddeb-\uddff\ude46-\udedf\udef4-\udeff\udf57-\udf5f\udf79-\udfff]|\ud835[\udc55\udc9d\udca0\udca1\udca3\udca4\udca7\udca8\udcad\udcba\udcbc\udcc4\udd06\udd0b\udd0c\udd15\udd1d\udd3a\udd3f\udd45\udd47-\udd49\udd51\udea6\udea7\udfcc\udfcd]|\ud836[\ude8c-\ude9a\udea0\udeb0-\udfff]|\ud837[\udc00-\udeff\udf1f-\udfff]|\ud838[\udc07\udc19\udc1a\udc22\udc25\udc2b-\udcff\udd2d-\udd2f\udd3e\udd3f\udd4a-\udd4d\udd50-\ude8f\udeaf-\udebf\udefa-\udefe\udf00-\udfff]|\ud839[\udc00-\udfdf\udfe7\udfec\udfef\udfff]|\ud83a[\udcc5\udcc6\udcd7-\udcff\udd4c-\udd4f\udd5a-\udd5d\udd60-\udfff]|\ud83b[\udc00-\udc70\udcb5-\udd00\udd3e-\uddff\ude04\ude20\ude23\ude25\ude26\ude28\ude33\ude38\ude3a\ude3c-\ude41\ude43-\ude46\ude48\ude4a\ude4c\ude50\ude53\ude55\ude56\ude58\ude5a\ude5c\ude5e\ude60\ude63\ude65\ude66\ude6b\ude73\ude78\ude7d\ude7f\ude8a\ude9c-\udea0\udea4\udeaa\udebc-\udeef\udef2-\udfff]|\ud83c[\udc2c-\udc2f\udc94-\udc9f\udcaf\udcb0\udcc0\udcd0\udcf6-\udcff\uddae-\udde5\ude03-\ude0f\ude3c-\ude3f\ude49-\ude4f\ude52-\ude5f\ude66-\udeff]|\ud83d[\uded8-\udedc\udeed-\udeef\udefd-\udeff\udf74-\udf7f\udfd9-\udfdf\udfec-\udfef\udff1-\udfff]|\ud83e[\udc0c-\udc0f\udc48-\udc4f\udc5a-\udc5f\udc88-\udc8f\udcae\udcaf\udcb2-\udcff\ude54-\ude5f\ude6e\ude6f\ude75-\ude77\ude7d-\ude7f\ude87-\ude8f\udead-\udeaf\udebb-\udebf\udec6-\udecf\udeda-\udedf\udee8-\udeef\udef7-\udeff\udf93\udfcb-\udfef\udffa-\udfff]|\ud869[\udee0-\udeff]|\ud86d[\udf39-\udf3f]|\ud86e[\udc1e\udc1f]|\ud873[\udea2-\udeaf]|\ud87a[\udfe1-\udfff]|\ud87e[\ude1e-\udfff]|\ud884[\udf4b-\udfff]|\udb40[\udc00-\udcff\uddf0-\udfff]"},{name:"Cc",alias:"Control",bmp:"\0--"},{name:"Cf",alias:"Format",bmp:"-----\ufeff-",astral:"\ud804[\udcbd\udccd]|\ud80d[\udc30-\udc38]|\ud82f[\udca0-\udca3]|\ud834[\udd73-\udd7a]|\udb40[\udc01\udc20-\udc7f]"},{name:"Cn",alias:"Unassigned",bmp:"-----------------------------------ೳ---------໎--------------------------------------------------------------------------------------",astral:"\ud800[\udc0c\udc27\udc3b\udc3e\udc4e\udc4f\udc5e-\udc7f\udcfb-\udcff\udd03-\udd06\udd34-\udd36\udd8f\udd9d-\udd9f\udda1-\uddcf\uddfe-\ude7f\ude9d-\ude9f\uded1-\udedf\udefc-\udeff\udf24-\udf2c\udf4b-\udf4f\udf7b-\udf7f\udf9e\udfc4-\udfc7\udfd6-\udfff]|\ud801[\udc9e\udc9f\udcaa-\udcaf\udcd4-\udcd7\udcfc-\udcff\udd28-\udd2f\udd64-\udd6e\udd7b\udd8b\udd93\udd96\udda2\uddb2\uddba\uddbd-\uddff\udf37-\udf3f\udf56-\udf5f\udf68-\udf7f\udf86\udfb1\udfbb-\udfff]|\ud802[\udc06\udc07\udc09\udc36\udc39-\udc3b\udc3d\udc3e\udc56\udc9f-\udca6\udcb0-\udcdf\udcf3\udcf6-\udcfa\udd1c-\udd1e\udd3a-\udd3e\udd40-\udd7f\uddb8-\uddbb\uddd0\uddd1\ude04\ude07-\ude0b\ude14\ude18\ude36\ude37\ude3b-\ude3e\ude49-\ude4f\ude59-\ude5f\udea0-\udebf\udee7-\udeea\udef7-\udeff\udf36-\udf38\udf56\udf57\udf73-\udf77\udf92-\udf98\udf9d-\udfa8\udfb0-\udfff]|\ud803[\udc49-\udc7f\udcb3-\udcbf\udcf3-\udcf9\udd28-\udd2f\udd3a-\ude5f\ude7f\udeaa\udeae\udeaf\udeb2-\udeff\udf28-\udf2f\udf5a-\udf6f\udf8a-\udfaf\udfcc-\udfdf\udff7-\udfff]|\ud804[\udc4e-\udc51\udc76-\udc7e\udcc3-\udccc\udcce\udccf\udce9-\udcef\udcfa-\udcff\udd35\udd48-\udd4f\udd77-\udd7f\udde0\uddf5-\uddff\ude12\ude3f-\ude7f\ude87\ude89\ude8e\ude9e\udeaa-\udeaf\udeeb-\udeef\udefa-\udeff\udf04\udf0d\udf0e\udf11\udf12\udf29\udf31\udf34\udf3a\udf45\udf46\udf49\udf4a\udf4e\udf4f\udf51-\udf56\udf58-\udf5c\udf64\udf65\udf6d-\udf6f\udf75-\udfff]|\ud805[\udc5c\udc62-\udc7f\udcc8-\udccf\udcda-\udd7f\uddb6\uddb7\uddde-\uddff\ude45-\ude4f\ude5a-\ude5f\ude6d-\ude7f\udeba-\udebf\udeca-\udeff\udf1b\udf1c\udf2c-\udf2f\udf47-\udfff]|\ud806[\udc3c-\udc9f\udcf3-\udcfe\udd07\udd08\udd0a\udd0b\udd14\udd17\udd36\udd39\udd3a\udd47-\udd4f\udd5a-\udd9f\udda8\udda9\uddd8\uddd9\udde5-\uddff\ude48-\ude4f\udea3-\udeaf\udef9-\udfff]|\ud807[\udc09\udc37\udc46-\udc4f\udc6d-\udc6f\udc90\udc91\udca8\udcb7-\udcff\udd07\udd0a\udd37-\udd39\udd3b\udd3e\udd48-\udd4f\udd5a-\udd5f\udd66\udd69\udd8f\udd92\udd99-\udd9f\uddaa-\udedf\udef9-\udfaf\udfb1-\udfbf\udff2-\udffe]|\ud808[\udf9a-\udfff]|\ud809[\udc6f\udc75-\udc7f\udd44-\udfff]|[\ud80a\ud80e-\ud810\ud812-\ud819\ud824-\ud82a\ud82d\ud82e\ud830-\ud832\ud83f\ud87b-\ud87d\ud87f\ud885-\udb3f\udb41-\udb7f][\udc00-\udfff]|\ud80b[\udc00-\udf8f\udff3-\udfff]|\ud80d[\udc2f\udc39-\udfff]|\ud811[\ude47-\udfff]|\ud81a[\ude39-\ude3f\ude5f\ude6a-\ude6d\udebf\udeca-\udecf\udeee\udeef\udef6-\udeff\udf46-\udf4f\udf5a\udf62\udf78-\udf7c\udf90-\udfff]|\ud81b[\udc00-\ude3f\ude9b-\udeff\udf4b-\udf4e\udf88-\udf8e\udfa0-\udfdf\udfe5-\udfef\udff2-\udfff]|\ud821[\udff8-\udfff]|\ud823[\udcd6-\udcff\udd09-\udfff]|\ud82b[\udc00-\udfef\udff4\udffc\udfff]|\ud82c[\udd23-\udd4f\udd53-\udd63\udd68-\udd6f\udefc-\udfff]|\ud82f[\udc6b-\udc6f\udc7d-\udc7f\udc89-\udc8f\udc9a\udc9b\udca4-\udfff]|\ud833[\udc00-\udeff\udf2e\udf2f\udf47-\udf4f\udfc4-\udfff]|\ud834[\udcf6-\udcff\udd27\udd28\uddeb-\uddff\ude46-\udedf\udef4-\udeff\udf57-\udf5f\udf79-\udfff]|\ud835[\udc55\udc9d\udca0\udca1\udca3\udca4\udca7\udca8\udcad\udcba\udcbc\udcc4\udd06\udd0b\udd0c\udd15\udd1d\udd3a\udd3f\udd45\udd47-\udd49\udd51\udea6\udea7\udfcc\udfcd]|\ud836[\ude8c-\ude9a\udea0\udeb0-\udfff]|\ud837[\udc00-\udeff\udf1f-\udfff]|\ud838[\udc07\udc19\udc1a\udc22\udc25\udc2b-\udcff\udd2d-\udd2f\udd3e\udd3f\udd4a-\udd4d\udd50-\ude8f\udeaf-\udebf\udefa-\udefe\udf00-\udfff]|\ud839[\udc00-\udfdf\udfe7\udfec\udfef\udfff]|\ud83a[\udcc5\udcc6\udcd7-\udcff\udd4c-\udd4f\udd5a-\udd5d\udd60-\udfff]|\ud83b[\udc00-\udc70\udcb5-\udd00\udd3e-\uddff\ude04\ude20\ude23\ude25\ude26\ude28\ude33\ude38\ude3a\ude3c-\ude41\ude43-\ude46\ude48\ude4a\ude4c\ude50\ude53\ude55\ude56\ude58\ude5a\ude5c\ude5e\ude60\ude63\ude65\ude66\ude6b\ude73\ude78\ude7d\ude7f\ude8a\ude9c-\udea0\udea4\udeaa\udebc-\udeef\udef2-\udfff]|\ud83c[\udc2c-\udc2f\udc94-\udc9f\udcaf\udcb0\udcc0\udcd0\udcf6-\udcff\uddae-\udde5\ude03-\ude0f\ude3c-\ude3f\ude49-\ude4f\ude52-\ude5f\ude66-\udeff]|\ud83d[\uded8-\udedc\udeed-\udeef\udefd-\udeff\udf74-\udf7f\udfd9-\udfdf\udfec-\udfef\udff1-\udfff]|\ud83e[\udc0c-\udc0f\udc48-\udc4f\udc5a-\udc5f\udc88-\udc8f\udcae\udcaf\udcb2-\udcff\ude54-\ude5f\ude6e\ude6f\ude75-\ude77\ude7d-\ude7f\ude87-\ude8f\udead-\udeaf\udebb-\udebf\udec6-\udecf\udeda-\udedf\udee8-\udeef\udef7-\udeff\udf93\udfcb-\udfef\udffa-\udfff]|\ud869[\udee0-\udeff]|\ud86d[\udf39-\udf3f]|\ud86e[\udc1e\udc1f]|\ud873[\udea2-\udeaf]|\ud87a[\udfe1-\udfff]|\ud87e[\ude1e-\udfff]|\ud884[\udf4b-\udfff]|\udb40[\udc00\udc02-\udc1f\udc80-\udcff\uddf0-\udfff]|[\udbbf\udbff][\udffe\udfff]"},{name:"Co",alias:"Private_Use",bmp:"-",astral:"[\udb80-\udbbe\udbc0-\udbfe][\udc00-\udfff]|[\udbbf\udbff][\udc00-\udffd]"},{name:"Cs",alias:"Surrogate",bmp:"\ud800-\udfff"},{name:"L",alias:"Letter",bmp:"A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢄᢇ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛥꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf40\udf42-\udf49\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc\ude00-\udf36\udf40-\udf55\udf60-\udf67\udf80-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd23\ude80-\udea9\udeb0\udeb1\udf00-\udf1c\udf27\udf30-\udf45\udf70-\udf81\udfb0-\udfc4\udfe0-\udff6]|\ud804[\udc03-\udc37\udc71\udc72\udc75\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd47\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f-\udc61\udc80-\udcaf\udcc4\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a\udf40-\udf46]|\ud806[\udc00-\udc2b\udca0-\udcdf\udcff-\udd06\udd09\udd0c-\udd13\udd15\udd16\udd18-\udd2f\udd3f\udd41\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udeb0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67\udd68\udd6a-\udd89\udd98\udee0-\udef2\udfb0]|\ud808[\udc00-\udf99]|\ud809[\udc80-\udd43]|\ud80b[\udf90-\udff0]|[\ud80c\ud81c-\ud820\ud822\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872\ud874-\ud879\ud880-\ud883][\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude70-\udebe\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf50\udf93-\udf9f\udfe0\udfe1\udfe3]|\ud821[\udc00-\udff7]|\ud823[\udc00-\udcd5\udd00-\udd08]|\ud82b[\udff0-\udff3\udff5-\udffb\udffd\udffe]|\ud82c[\udc00-\udd22\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud837[\udf00-\udf1e]|\ud838[\udd00-\udd2c\udd37-\udd3d\udd4e\ude90-\udead\udec0-\udeeb]|\ud839[\udfe0-\udfe6\udfe8-\udfeb\udfed\udfee\udff0-\udffe]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud869[\udc00-\udedf\udf00-\udfff]|\ud86d[\udc00-\udf38\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\ud884[\udc00-\udf4a]"},{name:"LC",alias:"Cased_Letter",bmp:"A-Za-zµÀ-ÖØ-öø-ƺƼ-ƿDŽ-ʓʕ-ʯͰ-ͳͶͷͻ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՠ-ֈႠ-ჅჇჍა-ჺჽ-ჿᎠ-Ᏽᏸ-ᏽᲀ-ᲈᲐ-ᲺᲽ-Ჿᴀ-ᴫᵫ-ᵷᵹ-ᶚḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℴℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-ⱻⱾ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭꙀ-ꙭꚀ-ꚛꜢ-ꝯꝱ-ꞇꞋ-ꞎꞐ-ꟊꟐꟑꟓꟕ-ꟙꟵꟶꟺꬰ-ꭚꭠ-ꭨꭰ-ꮿff-stﬓ-ﬗA-Za-z",astral:"\ud801[\udc00-\udc4f\udcb0-\udcd3\udcd8-\udcfb\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc]|\ud803[\udc80-\udcb2\udcc0-\udcf2]|\ud806[\udca0-\udcdf]|\ud81b[\ude40-\ude7f]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud837[\udf00-\udf09\udf0b-\udf1e]|\ud83a[\udd00-\udd43]"},{name:"Ll",alias:"Lowercase_Letter",bmp:"a-zµß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĸĺļľŀłńņňʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌƍƒƕƙ-ƛƞơƣƥƨƪƫƭưƴƶƹƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜǝǟǡǣǥǧǩǫǭǯǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿɀɂɇɉɋɍɏ-ʓʕ-ʯͱͳͷͻ-ͽΐά-ώϐϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯՠ-ֈა-ჺჽ-ჿᏸ-ᏽᲀ-ᲈᴀ-ᴫᵫ-ᵷᵹ-ᶚḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶᾷιῂ-ῄῆῇῐ-ΐῖῗῠ-ῧῲ-ῴῶῷℊℎℏℓℯℴℹℼℽⅆ-ⅉⅎↄⰰ-ⱟⱡⱥⱦⱨⱪⱬⱱⱳⱴⱶ-ⱻⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳤⳬⳮⳳⴀ-ⴥⴧⴭꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯꝱ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌꞎꞑꞓ-ꞕꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩꞯꞵꞷꞹꞻꞽꞿꟁꟃꟈꟊꟑꟓꟕꟗꟙꟶꟺꬰ-ꭚꭠ-ꭨꭰ-ꮿff-stﬓ-ﬗa-z",astral:"\ud801[\udc28-\udc4f\udcd8-\udcfb\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc]|\ud803[\udcc0-\udcf2]|\ud806[\udcc0-\udcdf]|\ud81b[\ude60-\ude7f]|\ud835[\udc1a-\udc33\udc4e-\udc54\udc56-\udc67\udc82-\udc9b\udcb6-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udccf\udcea-\udd03\udd1e-\udd37\udd52-\udd6b\udd86-\udd9f\uddba-\uddd3\uddee-\ude07\ude22-\ude3b\ude56-\ude6f\ude8a-\udea5\udec2-\udeda\udedc-\udee1\udefc-\udf14\udf16-\udf1b\udf36-\udf4e\udf50-\udf55\udf70-\udf88\udf8a-\udf8f\udfaa-\udfc2\udfc4-\udfc9\udfcb]|\ud837[\udf00-\udf09\udf0b-\udf1e]|\ud83a[\udd22-\udd43]"},{name:"Lm",alias:"Modifier_Letter",bmp:"ʰ-ˁˆ-ˑˠ-ˤˬˮʹͺՙـۥۦߴߵߺࠚࠤࠨࣉॱๆໆჼៗᡃᪧᱸ-ᱽᴬ-ᵪᵸᶛ-ᶿⁱⁿₐ-ₜⱼⱽⵯⸯ々〱-〵〻ゝゞー-ヾꀕꓸ-ꓽꘌꙿꚜꚝꜗ-ꜟꝰꞈꟲ-ꟴꟸꟹꧏꧦꩰꫝꫳꫴꭜ-ꭟꭩー゙゚",astral:"\ud801[\udf80-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud81a[\udf40-\udf43]|\ud81b[\udf93-\udf9f\udfe0\udfe1\udfe3]|\ud82b[\udff0-\udff3\udff5-\udffb\udffd\udffe]|\ud838[\udd37-\udd3d]|𞥋"},{name:"Lo",alias:"Other_Letter",bmp:"ªºƻǀ-ǃʔא-תׯ-ײؠ-ؿف-يٮٯٱ-ۓەۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪࠀ-ࠕࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣈऄ-हऽॐक़-ॡॲ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๅກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎᄀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៜᠠ-ᡂᡄ-ᡸᢀ-ᢄᢇ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱷᳩ-ᳬᳮ-ᳳᳵᳶᳺℵ-ℸⴰ-ⵧⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ〆〼ぁ-ゖゟァ-ヺヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꀔꀖ-ꒌꓐ-ꓷꔀ-ꘋꘐ-ꘟꘪꘫꙮꚠ-ꛥꞏꟷꟻ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧠ-ꧤꧧ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩯꩱ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛꫜꫠ-ꫪꫲꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎יִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼヲ-ッア-ンᅠ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf40\udf42-\udf49\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf]|\ud801[\udc50-\udc9d\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udd00-\udd23\ude80-\udea9\udeb0\udeb1\udf00-\udf1c\udf27\udf30-\udf45\udf70-\udf81\udfb0-\udfc4\udfe0-\udff6]|\ud804[\udc03-\udc37\udc71\udc72\udc75\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd47\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f-\udc61\udc80-\udcaf\udcc4\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a\udf40-\udf46]|\ud806[\udc00-\udc2b\udcff-\udd06\udd09\udd0c-\udd13\udd15\udd16\udd18-\udd2f\udd3f\udd41\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udeb0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67\udd68\udd6a-\udd89\udd98\udee0-\udef2\udfb0]|\ud808[\udc00-\udf99]|\ud809[\udc80-\udd43]|\ud80b[\udf90-\udff0]|[\ud80c\ud81c-\ud820\ud822\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872\ud874-\ud879\ud880-\ud883][\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude70-\udebe\uded0-\udeed\udf00-\udf2f\udf63-\udf77\udf7d-\udf8f]|\ud81b[\udf00-\udf4a\udf50]|\ud821[\udc00-\udff7]|\ud823[\udc00-\udcd5\udd00-\udd08]|\ud82c[\udc00-\udd22\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|𝼊|\ud838[\udd00-\udd2c\udd4e\ude90-\udead\udec0-\udeeb]|\ud839[\udfe0-\udfe6\udfe8-\udfeb\udfed\udfee\udff0-\udffe]|\ud83a[\udc00-\udcc4]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud869[\udc00-\udedf\udf00-\udfff]|\ud86d[\udc00-\udf38\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\ud884[\udc00-\udf4a]"},{name:"Lt",alias:"Titlecase_Letter",bmp:"DžLjNjDzᾈ-ᾏᾘ-ᾟᾨ-ᾯᾼῌῼ"},{name:"Lu",alias:"Uppercase_Letter",bmp:"A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽƁƂƄƆƇƉ-ƋƎ-ƑƓƔƖ-ƘƜƝƟƠƢƤƦƧƩƬƮƯƱ-ƳƵƷƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺȻȽȾɁɃ-ɆɈɊɌɎͰͲͶͿΆΈ-ΊΌΎΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԨԪԬԮԱ-ՖႠ-ჅჇჍᎠ-ᏵᲐ-ᲺᲽ-ᲿḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾℿⅅↃⰀ-ⰯⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꚘꚚꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽꝾꞀꞂꞄꞆꞋꞍꞐꞒꞖꞘꞚꞜꞞꞠꞢꞤꞦꞨꞪ-ꞮꞰ-ꞴꞶꞸꞺꞼꞾꟀꟂꟄ-ꟇꟉꟐꟖꟘꟵA-Z",astral:"\ud801[\udc00-\udc27\udcb0-\udcd3\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95]|\ud803[\udc80-\udcb2]|\ud806[\udca0-\udcbf]|\ud81b[\ude40-\ude5f]|\ud835[\udc00-\udc19\udc34-\udc4d\udc68-\udc81\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb5\udcd0-\udce9\udd04\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd38\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd6c-\udd85\udda0-\uddb9\uddd4-\udded\ude08-\ude21\ude3c-\ude55\ude70-\ude89\udea8-\udec0\udee2-\udefa\udf1c-\udf34\udf56-\udf6e\udf90-\udfa8\udfca]|\ud83a[\udd00-\udd21]"},{name:"M",alias:"Mark",bmp:"̀-ͯ҃-҉֑-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٟۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣঁ-ঃ়া-ৄেৈো-্ৗৢৣ৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑੰੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣஂா-ூெ-ைொ-்ௗఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣඁ-ඃ්ා-ුූෘ-ෟෲෳัิ-ฺ็-๎ັິ-ຼ່-ໍ༹༘༙༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏႚ-ႝ፝-፟ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝᠋-᠍᠏ᢅᢆᢩᤠ-ᤫᤰ-᤻ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼᪰-ᫎᬀ-ᬄ᬴-᭄᭫-᭳ᮀ-ᮂᮡ-ᮭ᯦-᯳ᰤ-᰷᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿⃐-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꙯-꙲ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣠-꣱ꣿꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀ꧥꨩ-ꨶꩃꩌꩍꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭ﬞ︀-️︠-︯",astral:"\ud800[\uddfd\udee0\udf76-\udf7a]|\ud802[\ude01-\ude03\ude05\ude06\ude0c-\ude0f\ude38-\ude3a\ude3f\udee5\udee6]|\ud803[\udd24-\udd27\udeab\udeac\udf46-\udf50\udf82-\udf85]|\ud804[\udc00-\udc02\udc38-\udc46\udc70\udc73\udc74\udc7f-\udc82\udcb0-\udcba\udcc2\udd00-\udd02\udd27-\udd34\udd45\udd46\udd73\udd80-\udd82\uddb3-\uddc0\uddc9-\uddcc\uddce\uddcf\ude2c-\ude37\ude3e\udedf-\udeea\udf00-\udf03\udf3b\udf3c\udf3e-\udf44\udf47\udf48\udf4b-\udf4d\udf57\udf62\udf63\udf66-\udf6c\udf70-\udf74]|\ud805[\udc35-\udc46\udc5e\udcb0-\udcc3\uddaf-\uddb5\uddb8-\uddc0\udddc\udddd\ude30-\ude40\udeab-\udeb7\udf1d-\udf2b]|\ud806[\udc2c-\udc3a\udd30-\udd35\udd37\udd38\udd3b-\udd3e\udd40\udd42\udd43\uddd1-\uddd7\uddda-\udde0\udde4\ude01-\ude0a\ude33-\ude39\ude3b-\ude3e\ude47\ude51-\ude5b\ude8a-\ude99]|\ud807[\udc2f-\udc36\udc38-\udc3f\udc92-\udca7\udca9-\udcb6\udd31-\udd36\udd3a\udd3c\udd3d\udd3f-\udd45\udd47\udd8a-\udd8e\udd90\udd91\udd93-\udd97\udef3-\udef6]|\ud81a[\udef0-\udef4\udf30-\udf36]|\ud81b[\udf4f\udf51-\udf87\udf8f-\udf92\udfe4\udff0\udff1]|\ud82f[\udc9d\udc9e]|\ud833[\udf00-\udf2d\udf30-\udf46]|\ud834[\udd65-\udd69\udd6d-\udd72\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a\udd30-\udd36\udeae\udeec-\udeef]|\ud83a[\udcd0-\udcd6\udd44-\udd4a]|\udb40[\udd00-\uddef]"},{name:"Mc",alias:"Spacing_Mark",bmp:"ःऻा-ीॉ-ौॎॏংঃা-ীেৈোৌৗਃਾ-ੀઃા-ીૉોૌଂଃାୀେୈୋୌୗாிுூெ-ைொ-ௌௗఁ-ఃు-ౄಂಃಾೀ-ೄೇೈೊೋೕೖംഃാ-ീെ-ൈൊ-ൌൗංඃා-ෑෘ-ෟෲෳ༾༿ཿါာေးျြၖၗၢ-ၤၧ-ၭႃႄႇ-ႌႏႚ-ႜ᜕᜴ាើ-ៅះៈᤣ-ᤦᤩ-ᤫᤰᤱᤳ-ᤸᨙᨚᩕᩗᩡᩣᩤᩭ-ᩲᬄᬵᬻᬽ-ᭁᭃ᭄ᮂᮡᮦᮧ᮪ᯧᯪ-ᯬᯮ᯲᯳ᰤ-ᰫᰴᰵ᳡᳷〮〯ꠣꠤꠧꢀꢁꢴ-ꣃꥒ꥓ꦃꦴꦵꦺꦻꦾ-꧀ꨯꨰꨳꨴꩍꩻꩽꫫꫮꫯꫵꯣꯤꯦꯧꯩꯪ꯬",astral:"\ud804[\udc00\udc02\udc82\udcb0-\udcb2\udcb7\udcb8\udd2c\udd45\udd46\udd82\uddb3-\uddb5\uddbf\uddc0\uddce\ude2c-\ude2e\ude32\ude33\ude35\udee0-\udee2\udf02\udf03\udf3e\udf3f\udf41-\udf44\udf47\udf48\udf4b-\udf4d\udf57\udf62\udf63]|\ud805[\udc35-\udc37\udc40\udc41\udc45\udcb0-\udcb2\udcb9\udcbb-\udcbe\udcc1\uddaf-\uddb1\uddb8-\uddbb\uddbe\ude30-\ude32\ude3b\ude3c\ude3e\udeac\udeae\udeaf\udeb6\udf20\udf21\udf26]|\ud806[\udc2c-\udc2e\udc38\udd30-\udd35\udd37\udd38\udd3d\udd40\udd42\uddd1-\uddd3\udddc-\udddf\udde4\ude39\ude57\ude58\ude97]|\ud807[\udc2f\udc3e\udca9\udcb1\udcb4\udd8a-\udd8e\udd93\udd94\udd96\udef5\udef6]|\ud81b[\udf51-\udf87\udff0\udff1]|\ud834[\udd65\udd66\udd6d-\udd72]"},{name:"Me",alias:"Enclosing_Mark",bmp:"҈҉᪾⃝-⃠⃢-⃤꙰-꙲"},{name:"Mn",alias:"Nonspacing_Mark",bmp:"̀-ͯ҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٟۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ंऺ़ु-ै्॑-ॗॢॣঁ়ু-ৄ্ৢৣ৾ਁਂ਼ੁੂੇੈੋ-੍ੑੰੱੵઁં઼ુ-ૅેૈ્ૢૣૺ-૿ଁ଼ିୁ-ୄ୍୕ୖୢୣஂீ்ఀఄ఼ా-ీె-ైొ-్ౕౖౢౣಁ಼ಿೆೌ್ೢೣഀഁ഻഼ു-ൄ്ൢൣඁ්ි-ුූัิ-ฺ็-๎ັິ-ຼ່-ໍཱ༹༘༙༵༷-ཾྀ-྄྆྇ྍ-ྗྙ-ྼ࿆ိ-ူဲ-့္်ွှၘၙၞ-ၠၱ-ၴႂႅႆႍႝ፝-፟ᜒ-᜔ᜲᜳᝒᝓᝲᝳ឴឵ិ-ួំ៉-៓៝᠋-᠍᠏ᢅᢆᢩᤠ-ᤢᤧᤨᤲ᤹-᤻ᨘᨗᨛᩖᩘ-ᩞ᩠ᩢᩥ-ᩬᩳ-᩿᩼᪰-᪽ᪿ-ᫎᬀ-ᬃ᬴ᬶ-ᬺᬼᭂ᭫-᭳ᮀᮁᮢ-ᮥᮨᮩ᮫-ᮭ᯦ᯨᯩᯭᯯ-ᯱᰬ-ᰳᰶ᰷᳐-᳔᳒-᳢᳠-᳨᳭᳴᳸᳹᷀-᷿⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〭꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠥꠦ꠬꣄ꣅ꣠-꣱ꣿꤦ-꤭ꥇ-ꥑꦀ-ꦂ꦳ꦶ-ꦹꦼꦽꧥꨩ-ꨮꨱꨲꨵꨶꩃꩌꩼꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫬꫭ꫶ꯥꯨ꯭ﬞ︀-️︠-︯",astral:"\ud800[\uddfd\udee0\udf76-\udf7a]|\ud802[\ude01-\ude03\ude05\ude06\ude0c-\ude0f\ude38-\ude3a\ude3f\udee5\udee6]|\ud803[\udd24-\udd27\udeab\udeac\udf46-\udf50\udf82-\udf85]|\ud804[\udc01\udc38-\udc46\udc70\udc73\udc74\udc7f-\udc81\udcb3-\udcb6\udcb9\udcba\udcc2\udd00-\udd02\udd27-\udd2b\udd2d-\udd34\udd73\udd80\udd81\uddb6-\uddbe\uddc9-\uddcc\uddcf\ude2f-\ude31\ude34\ude36\ude37\ude3e\udedf\udee3-\udeea\udf00\udf01\udf3b\udf3c\udf40\udf66-\udf6c\udf70-\udf74]|\ud805[\udc38-\udc3f\udc42-\udc44\udc46\udc5e\udcb3-\udcb8\udcba\udcbf\udcc0\udcc2\udcc3\uddb2-\uddb5\uddbc\uddbd\uddbf\uddc0\udddc\udddd\ude33-\ude3a\ude3d\ude3f\ude40\udeab\udead\udeb0-\udeb5\udeb7\udf1d-\udf1f\udf22-\udf25\udf27-\udf2b]|\ud806[\udc2f-\udc37\udc39\udc3a\udd3b\udd3c\udd3e\udd43\uddd4-\uddd7\uddda\udddb\udde0\ude01-\ude0a\ude33-\ude38\ude3b-\ude3e\ude47\ude51-\ude56\ude59-\ude5b\ude8a-\ude96\ude98\ude99]|\ud807[\udc30-\udc36\udc38-\udc3d\udc3f\udc92-\udca7\udcaa-\udcb0\udcb2\udcb3\udcb5\udcb6\udd31-\udd36\udd3a\udd3c\udd3d\udd3f-\udd45\udd47\udd90\udd91\udd95\udd97\udef3\udef4]|\ud81a[\udef0-\udef4\udf30-\udf36]|\ud81b[\udf4f\udf8f-\udf92\udfe4]|\ud82f[\udc9d\udc9e]|\ud833[\udf00-\udf2d\udf30-\udf46]|\ud834[\udd67-\udd69\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a\udd30-\udd36\udeae\udeec-\udeef]|\ud83a[\udcd0-\udcd6\udd44-\udd4a]|\udb40[\udd00-\uddef]"},{name:"N",alias:"Number",bmp:"0-9²³¹¼-¾٠-٩۰-۹߀-߉०-९০-৯৴-৹੦-੯૦-૯୦-୯୲-୷௦-௲౦-౯౸-౾೦-೯൘-൞൦-൸෦-෯๐-๙໐-໙༠-༳၀-၉႐-႙፩-፼ᛮ-ᛰ០-៩៰-៹᠐-᠙᥆-᥏᧐-᧚᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙⁰⁴-⁹₀-₉⅐-ↂↅ-↉①-⒛⓪-⓿❶-➓⳽〇〡-〩〸-〺㆒-㆕㈠-㈩㉈-㉏㉑-㉟㊀-㊉㊱-㊿꘠-꘩ꛦ-ꛯ꠰-꠵꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",astral:"\ud800[\udd07-\udd33\udd40-\udd78\udd8a\udd8b\udee1-\udefb\udf20-\udf23\udf41\udf4a\udfd1-\udfd5]|\ud801[\udca0-\udca9]|\ud802[\udc58-\udc5f\udc79-\udc7f\udca7-\udcaf\udcfb-\udcff\udd16-\udd1b\uddbc\uddbd\uddc0-\uddcf\uddd2-\uddff\ude40-\ude48\ude7d\ude7e\ude9d-\ude9f\udeeb-\udeef\udf58-\udf5f\udf78-\udf7f\udfa9-\udfaf]|\ud803[\udcfa-\udcff\udd30-\udd39\ude60-\ude7e\udf1d-\udf26\udf51-\udf54\udfc5-\udfcb]|\ud804[\udc52-\udc6f\udcf0-\udcf9\udd36-\udd3f\uddd0-\uddd9\udde1-\uddf4\udef0-\udef9]|\ud805[\udc50-\udc59\udcd0-\udcd9\ude50-\ude59\udec0-\udec9\udf30-\udf3b]|\ud806[\udce0-\udcf2\udd50-\udd59]|\ud807[\udc50-\udc6c\udd50-\udd59\udda0-\udda9\udfc0-\udfd4]|\ud809[\udc00-\udc6e]|\ud81a[\ude60-\ude69\udec0-\udec9\udf50-\udf59\udf5b-\udf61]|\ud81b[\ude80-\ude96]|\ud834[\udee0-\udef3\udf60-\udf78]|\ud835[\udfce-\udfff]|\ud838[\udd40-\udd49\udef0-\udef9]|\ud83a[\udcc7-\udccf\udd50-\udd59]|\ud83b[\udc71-\udcab\udcad-\udcaf\udcb1-\udcb4\udd01-\udd2d\udd2f-\udd3d]|\ud83c[\udd00-\udd0c]|\ud83e[\udff0-\udff9]"},{name:"Nd",alias:"Decimal_Number",bmp:"0-9٠-٩۰-۹߀-߉०-९০-৯੦-੯૦-૯୦-୯௦-௯౦-౯೦-೯൦-൯෦-෯๐-๙໐-໙༠-༩၀-၉႐-႙០-៩᠐-᠙᥆-᥏᧐-᧙᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙꘠-꘩꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",astral:"\ud801[\udca0-\udca9]|\ud803[\udd30-\udd39]|\ud804[\udc66-\udc6f\udcf0-\udcf9\udd36-\udd3f\uddd0-\uddd9\udef0-\udef9]|\ud805[\udc50-\udc59\udcd0-\udcd9\ude50-\ude59\udec0-\udec9\udf30-\udf39]|\ud806[\udce0-\udce9\udd50-\udd59]|\ud807[\udc50-\udc59\udd50-\udd59\udda0-\udda9]|\ud81a[\ude60-\ude69\udec0-\udec9\udf50-\udf59]|\ud835[\udfce-\udfff]|\ud838[\udd40-\udd49\udef0-\udef9]|\ud83a[\udd50-\udd59]|\ud83e[\udff0-\udff9]"},{name:"Nl",alias:"Letter_Number",bmp:"ᛮ-ᛰⅠ-ↂↅ-ↈ〇〡-〩〸-〺ꛦ-ꛯ",astral:"\ud800[\udd40-\udd74\udf41\udf4a\udfd1-\udfd5]|\ud809[\udc00-\udc6e]"},{name:"No",alias:"Other_Number",bmp:"²³¹¼-¾৴-৹୲-୷௰-௲౸-౾൘-൞൰-൸༪-༳፩-፼៰-៹᧚⁰⁴-⁹₀-₉⅐-⅟↉①-⒛⓪-⓿❶-➓⳽㆒-㆕㈠-㈩㉈-㉏㉑-㉟㊀-㊉㊱-㊿꠰-꠵",astral:"\ud800[\udd07-\udd33\udd75-\udd78\udd8a\udd8b\udee1-\udefb\udf20-\udf23]|\ud802[\udc58-\udc5f\udc79-\udc7f\udca7-\udcaf\udcfb-\udcff\udd16-\udd1b\uddbc\uddbd\uddc0-\uddcf\uddd2-\uddff\ude40-\ude48\ude7d\ude7e\ude9d-\ude9f\udeeb-\udeef\udf58-\udf5f\udf78-\udf7f\udfa9-\udfaf]|\ud803[\udcfa-\udcff\ude60-\ude7e\udf1d-\udf26\udf51-\udf54\udfc5-\udfcb]|\ud804[\udc52-\udc65\udde1-\uddf4]|\ud805[\udf3a\udf3b]|\ud806[\udcea-\udcf2]|\ud807[\udc5a-\udc6c\udfc0-\udfd4]|\ud81a[\udf5b-\udf61]|\ud81b[\ude80-\ude96]|\ud834[\udee0-\udef3\udf60-\udf78]|\ud83a[\udcc7-\udccf]|\ud83b[\udc71-\udcab\udcad-\udcaf\udcb1-\udcb4\udd01-\udd2d\udd2f-\udd3d]|\ud83c[\udd00-\udd0c]"},{name:"P",alias:"Punctuation",bmp:"!-#%-\\*,-\\/:;\\?@\\[-\\]_\\{\\}¡§«¶·»¿;·՚-՟։֊־׀׃׆׳״؉؊،؍؛؝-؟٪-٭۔܀-܍߷-߹࠰-࠾࡞।॥॰৽੶૰౷಄෴๏๚๛༄-༒༔༺-༽྅࿐-࿔࿙࿚၊-၏჻፠-፨᐀᙮᚛᚜᛫-᛭᜵᜶។-៖៘-៚᠀-᠊᥄᥅᨞᨟᪠-᪦᪨-᪭᭚-᭠᭽᭾᯼-᯿᰻-᰿᱾᱿᳀-᳇᳓‐-‧‰-⁃⁅-⁑⁓-⁞⁽⁾₍₎⌈-⌋〈〉❨-❵⟅⟆⟦-⟯⦃-⦘⧘-⧛⧼⧽⳹-⳼⳾⳿⵰⸀-⸮⸰-⹏⹒-⹝、-〃〈-】〔-〟〰〽゠・꓾꓿꘍-꘏꙳꙾꛲-꛷꡴-꡷꣎꣏꣸-꣺꣼꤮꤯꥟꧁-꧍꧞꧟꩜-꩟꫞꫟꫰꫱꯫﴾﴿︐-︙︰-﹒﹔-﹡﹣﹨﹪﹫!-#%-*,-/:;?@[-]_{}⦅-・",astral:"\ud800[\udd00-\udd02\udf9f\udfd0]|𐕯|\ud802[\udc57\udd1f\udd3f\ude50-\ude58\ude7f\udef0-\udef6\udf39-\udf3f\udf99-\udf9c]|\ud803[\udead\udf55-\udf59\udf86-\udf89]|\ud804[\udc47-\udc4d\udcbb\udcbc\udcbe-\udcc1\udd40-\udd43\udd74\udd75\uddc5-\uddc8\uddcd\udddb\udddd-\udddf\ude38-\ude3d\udea9]|\ud805[\udc4b-\udc4f\udc5a\udc5b\udc5d\udcc6\uddc1-\uddd7\ude41-\ude43\ude60-\ude6c\udeb9\udf3c-\udf3e]|\ud806[\udc3b\udd44-\udd46\udde2\ude3f-\ude46\ude9a-\ude9c\ude9e-\udea2]|\ud807[\udc41-\udc45\udc70\udc71\udef7\udef8\udfff]|\ud809[\udc70-\udc74]|\ud80b[\udff1\udff2]|\ud81a[\ude6e\ude6f\udef5\udf37-\udf3b\udf44]|\ud81b[\ude97-\ude9a\udfe2]|𛲟|\ud836[\ude87-\ude8b]|\ud83a[\udd5e\udd5f]"},{name:"Pc",alias:"Connector_Punctuation",bmp:"_‿⁀⁔︳︴﹍-﹏_"},{name:"Pd",alias:"Dash_Punctuation",bmp:"\\-֊־᐀᠆‐-―⸗⸚⸺⸻⹀⹝〜〰゠︱︲﹘﹣-",astral:"𐺭"},{name:"Pe",alias:"Close_Punctuation",bmp:"\\)\\]\\}༻༽᚜⁆⁾₎⌉⌋〉❩❫❭❯❱❳❵⟆⟧⟩⟫⟭⟯⦄⦆⦈⦊⦌⦎⦐⦒⦔⦖⦘⧙⧛⧽⸣⸥⸧⸩⹖⹘⹚⹜〉》」』】〕〗〙〛〞〟﴾︘︶︸︺︼︾﹀﹂﹄﹈﹚﹜﹞)]}⦆」"},{name:"Pf",alias:"Final_Punctuation",bmp:"»’”›⸃⸅⸊⸍⸝⸡"},{name:"Pi",alias:"Initial_Punctuation",bmp:"«‘‛“‟‹⸂⸄⸉⸌⸜⸠"},{name:"Po",alias:"Other_Punctuation",bmp:"!-#%-'\\*,\\.\\/:;\\?@\\¡§¶·¿;·՚-՟։׀׃׆׳״؉؊،؍؛؝-؟٪-٭۔܀-܍߷-߹࠰-࠾࡞।॥॰৽੶૰౷಄෴๏๚๛༄-༒༔྅࿐-࿔࿙࿚၊-၏჻፠-፨᙮᛫-᛭᜵᜶។-៖៘-៚᠀-᠅᠇-᠊᥄᥅᨞᨟᪠-᪦᪨-᪭᭚-᭠᭽᭾᯼-᯿᰻-᰿᱾᱿᳀-᳇᳓‖‗†-‧‰-‸※-‾⁁-⁃⁇-⁑⁓⁕-⁞⳹-⳼⳾⳿⵰⸀⸁⸆-⸈⸋⸎-⸖⸘⸙⸛⸞⸟⸪-⸮⸰-⸹⸼-⸿⹁⹃-⹏⹒-⹔、-〃〽・꓾꓿꘍-꘏꙳꙾꛲-꛷꡴-꡷꣎꣏꣸-꣺꣼꤮꤯꥟꧁-꧍꧞꧟꩜-꩟꫞꫟꫰꫱꯫︐-︖︙︰﹅﹆﹉-﹌﹐-﹒﹔-﹗﹟-﹡﹨﹪﹫!-#%-'*,./:;?@\。、・",astral:"\ud800[\udd00-\udd02\udf9f\udfd0]|𐕯|\ud802[\udc57\udd1f\udd3f\ude50-\ude58\ude7f\udef0-\udef6\udf39-\udf3f\udf99-\udf9c]|\ud803[\udf55-\udf59\udf86-\udf89]|\ud804[\udc47-\udc4d\udcbb\udcbc\udcbe-\udcc1\udd40-\udd43\udd74\udd75\uddc5-\uddc8\uddcd\udddb\udddd-\udddf\ude38-\ude3d\udea9]|\ud805[\udc4b-\udc4f\udc5a\udc5b\udc5d\udcc6\uddc1-\uddd7\ude41-\ude43\ude60-\ude6c\udeb9\udf3c-\udf3e]|\ud806[\udc3b\udd44-\udd46\udde2\ude3f-\ude46\ude9a-\ude9c\ude9e-\udea2]|\ud807[\udc41-\udc45\udc70\udc71\udef7\udef8\udfff]|\ud809[\udc70-\udc74]|\ud80b[\udff1\udff2]|\ud81a[\ude6e\ude6f\udef5\udf37-\udf3b\udf44]|\ud81b[\ude97-\ude9a\udfe2]|𛲟|\ud836[\ude87-\ude8b]|\ud83a[\udd5e\udd5f]"},{name:"Ps",alias:"Open_Punctuation",bmp:"\\(\\[\\{༺༼᚛‚„⁅⁽₍⌈⌊〈❨❪❬❮❰❲❴⟅⟦⟨⟪⟬⟮⦃⦅⦇⦉⦋⦍⦏⦑⦓⦕⦗⧘⧚⧼⸢⸤⸦⸨⹂⹕⹗⹙⹛〈《「『【〔〖〘〚〝﴿︗︵︷︹︻︽︿﹁﹃﹇﹙﹛﹝([{⦅「"},{name:"S",alias:"Symbol",bmp:"\\$\\+<->\\^`\\|~¢-¦¨©¬®-±´¸×÷˂-˅˒-˟˥-˫˭˯-˿͵΄΅϶҂֍-֏؆-؈؋؎؏۞۩۽۾߶߾߿࢈৲৳৺৻૱୰௳-௺౿൏൹฿༁-༃༓༕-༗༚-༟༴༶༸྾-࿅࿇-࿌࿎࿏࿕-࿘႞႟᎐-᎙᙭៛᥀᧞-᧿᭡-᭪᭴-᭼᾽᾿-῁῍-῏῝-῟῭-`´῾⁄⁒⁺-⁼₊-₌₠-⃀℀℁℃-℆℈℉℔№-℘℞-℣℥℧℩℮℺℻⅀-⅄⅊-⅍⅏↊↋←-⌇⌌-⌨⌫-␦⑀-⑊⒜-ⓩ─-❧➔-⟄⟇-⟥⟰-⦂⦙-⧗⧜-⧻⧾-⭳⭶-⮕⮗-⯿⳥-⳪⹐⹑⺀-⺙⺛-⻳⼀-⿕⿰-⿻〄〒〓〠〶〷〾〿゛゜㆐㆑㆖-㆟㇀-㇣㈀-㈞㈪-㉇㉐㉠-㉿㊊-㊰㋀-㏿䷀-䷿꒐-꓆꜀-꜖꜠꜡꞉꞊꠨-꠫꠶-꠹꩷-꩹꭛꭪꭫﬩﮲-﯂﵀-﵏﷏﷼-﷿﹢﹤-﹦﹩$+<->^`|~¢-₩│-○�",astral:"\ud800[\udd37-\udd3f\udd79-\udd89\udd8c-\udd8e\udd90-\udd9c\udda0\uddd0-\uddfc]|\ud802[\udc77\udc78\udec8]|𑜿|\ud807[\udfd5-\udff1]|\ud81a[\udf3c-\udf3f\udf45]|𛲜|\ud833[\udf50-\udfc3]|\ud834[\udc00-\udcf5\udd00-\udd26\udd29-\udd64\udd6a-\udd6c\udd83\udd84\udd8c-\udda9\uddae-\uddea\ude00-\ude41\ude45\udf00-\udf56]|\ud835[\udec1\udedb\udefb\udf15\udf35\udf4f\udf6f\udf89\udfa9\udfc3]|\ud836[\udc00-\uddff\ude37-\ude3a\ude6d-\ude74\ude76-\ude83\ude85\ude86]|\ud838[\udd4f\udeff]|\ud83b[\udcac\udcb0\udd2e\udef0\udef1]|\ud83c[\udc00-\udc2b\udc30-\udc93\udca0-\udcae\udcb1-\udcbf\udcc1-\udccf\udcd1-\udcf5\udd0d-\uddad\udde6-\ude02\ude10-\ude3b\ude40-\ude48\ude50\ude51\ude60-\ude65\udf00-\udfff]|\ud83d[\udc00-\uded7\udedd-\udeec\udef0-\udefc\udf00-\udf73\udf80-\udfd8\udfe0-\udfeb\udff0]|\ud83e[\udc00-\udc0b\udc10-\udc47\udc50-\udc59\udc60-\udc87\udc90-\udcad\udcb0\udcb1\udd00-\ude53\ude60-\ude6d\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec5\uded0-\uded9\udee0-\udee7\udef0-\udef6\udf00-\udf92\udf94-\udfca]"},{name:"Sc",alias:"Currency_Symbol",bmp:"\\$¢-¥֏؋߾߿৲৳৻૱௹฿៛₠-⃀꠸﷼﹩$¢£¥₩",astral:"\ud807[\udfdd-\udfe0]|𞋿|𞲰"},{name:"Sk",alias:"Modifier_Symbol",bmp:"\\^`¨¯´¸˂-˅˒-˟˥-˫˭˯-˿͵΄΅࢈᾽᾿-῁῍-῏῝-῟῭-`´῾゛゜꜀-꜖꜠꜡꞉꞊꭛꭪꭫﮲-﯂^` ̄",astral:"\ud83c[\udffb-\udfff]"},{name:"Sm",alias:"Math_Symbol",bmp:"\\+<->\\|~¬±×÷϶؆-؈⁄⁒⁺-⁼₊-₌℘⅀-⅄⅋←-↔↚↛↠↣↦↮⇎⇏⇒⇔⇴-⋿⌠⌡⍼⎛-⎳⏜-⏡▷◁◸-◿♯⟀-⟄⟇-⟥⟰-⟿⤀-⦂⦙-⧗⧜-⧻⧾-⫿⬰-⭄⭇-⭌﬩﹢﹤-﹦+<->|~¬←-↓",astral:"\ud835[\udec1\udedb\udefb\udf15\udf35\udf4f\udf6f\udf89\udfa9\udfc3]|\ud83b[\udef0\udef1]"},{name:"So",alias:"Other_Symbol",bmp:"¦©®°҂֍֎؎؏۞۩۽۾߶৺୰௳-௸௺౿൏൹༁-༃༓༕-༗༚-༟༴༶༸྾-࿅࿇-࿌࿎࿏࿕-࿘႞႟᎐-᎙᙭᥀᧞-᧿᭡-᭪᭴-᭼℀℁℃-℆℈℉℔№℗℞-℣℥℧℩℮℺℻⅊⅌⅍⅏↊↋↕-↙↜-↟↡↢↤↥↧-↭↯-⇍⇐⇑⇓⇕-⇳⌀-⌇⌌-⌟⌢-⌨⌫-⍻⍽-⎚⎴-⏛⏢-␦⑀-⑊⒜-ⓩ─-▶▸-◀◂-◷☀-♮♰-❧➔-➿⠀-⣿⬀-⬯⭅⭆⭍-⭳⭶-⮕⮗-⯿⳥-⳪⹐⹑⺀-⺙⺛-⻳⼀-⿕⿰-⿻〄〒〓〠〶〷〾〿㆐㆑㆖-㆟㇀-㇣㈀-㈞㈪-㉇㉐㉠-㉿㊊-㊰㋀-㏿䷀-䷿꒐-꓆꠨-꠫꠶꠷꠹꩷-꩹﵀-﵏﷏﷽-﷿¦│■○�",astral:"\ud800[\udd37-\udd3f\udd79-\udd89\udd8c-\udd8e\udd90-\udd9c\udda0\uddd0-\uddfc]|\ud802[\udc77\udc78\udec8]|𑜿|\ud807[\udfd5-\udfdc\udfe1-\udff1]|\ud81a[\udf3c-\udf3f\udf45]|𛲜|\ud833[\udf50-\udfc3]|\ud834[\udc00-\udcf5\udd00-\udd26\udd29-\udd64\udd6a-\udd6c\udd83\udd84\udd8c-\udda9\uddae-\uddea\ude00-\ude41\ude45\udf00-\udf56]|\ud836[\udc00-\uddff\ude37-\ude3a\ude6d-\ude74\ude76-\ude83\ude85\ude86]|𞅏|\ud83b[\udcac\udd2e]|\ud83c[\udc00-\udc2b\udc30-\udc93\udca0-\udcae\udcb1-\udcbf\udcc1-\udccf\udcd1-\udcf5\udd0d-\uddad\udde6-\ude02\ude10-\ude3b\ude40-\ude48\ude50\ude51\ude60-\ude65\udf00-\udffa]|\ud83d[\udc00-\uded7\udedd-\udeec\udef0-\udefc\udf00-\udf73\udf80-\udfd8\udfe0-\udfeb\udff0]|\ud83e[\udc00-\udc0b\udc10-\udc47\udc50-\udc59\udc60-\udc87\udc90-\udcad\udcb0\udcb1\udd00-\ude53\ude60-\ude6d\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec5\uded0-\uded9\udee0-\udee7\udef0-\udef6\udf00-\udf92\udf94-\udfca]"},{name:"Z",alias:"Separator",bmp:" - \u2028\u2029 "},{name:"Zl",alias:"Line_Separator",bmp:"\u2028"},{name:"Zp",alias:"Paragraph_Separator",bmp:"\u2029"},{name:"Zs",alias:"Space_Separator",bmp:" - "}]},2474:e=>{e.exports=[{name:"ASCII",bmp:"\0-"},{name:"Alphabetic",bmp:"A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͅͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈְ-ׇֽֿׁׂׅׄא-תׯ-ײؐ-ؚؠ-ٗٙ-ٟٮ-ۓە-ۜۡ-ۭۨ-ۯۺ-ۼۿܐ-ܿݍ-ޱߊ-ߪߴߵߺࠀ-ࠗࠚ-ࠬࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉࣔ-ࣣࣟ-ࣰࣩ-ऻऽ-ौॎ-ॐॕ-ॣॱ-ঃঅ-ঌএঐও-নপ-রলশ-হঽ-ৄেৈোৌৎৗড়ঢ়য়-ৣৰৱৼਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਾ-ੂੇੈੋੌੑਖ਼-ੜਫ਼ੰ-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽ-ૅે-ૉોૌૐૠ-ૣૹ-ૼଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽ-ୄେୈୋୌୖୗଡ଼ଢ଼ୟ-ୣୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-ௌௐௗఀ-ఃఅ-ఌఎ-ఐఒ-నప-హఽ-ౄె-ైొ-ౌౕౖౘ-ౚౝౠ-ౣಀ-ಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽ-ೄೆ-ೈೊ-ೌೕೖೝೞೠ-ೣೱೲഀ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൌൎൔ-ൗൟ-ൣൺ-ൿඁ-ඃඅ-ඖක-නඳ-රලව-ෆා-ුූෘ-ෟෲෳก-ฺเ-ๆํກຂຄຆ-ຊຌ-ຣລວ-ູົ-ຽເ-ໄໆໍໜ-ໟༀཀ-ཇཉ-ཬཱ-ཱྀྈ-ྗྙ-ྼက-ံးျ-ဿၐ-ႏႚ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜓᜟ-ᜳᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-ឳា-ៈៗៜᠠ-ᡸᢀ-ᢪᢰ-ᣵᤀ-ᤞᤠ-ᤫᤰ-ᤸᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨛᨠ-ᩞᩡ-ᩴᪧᪿᫀᫌ-ᫎᬀ-ᬳᬵ-ᭃᭅ-ᭌᮀ-ᮩᮬ-ᮯᮺ-ᯥᯧ-ᯱᰀ-ᰶᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿᷧ-ᷴḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⒶ-ⓩⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙴ-ꙻꙿ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠅꠇ-ꠧꡀ-ꡳꢀ-ꣃꣅꣲ-ꣷꣻꣽ-ꣿꤊ-ꤪꤰ-ꥒꥠ-ꥼꦀ-ꦲꦴ-ꦿꧏꧠ-ꧯꧺ-ꧾꨀ-ꨶꩀ-ꩍꩠ-ꩶꩺ-ꪾꫀꫂꫛ-ꫝꫠ-ꫯꫲ-ꫵꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯪ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf7a\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc\ude00-\udf36\udf40-\udf55\udf60-\udf67\udf80-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe\uddbf\ude00-\ude03\ude05\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd27\ude80-\udea9\udeab\udeac\udeb0\udeb1\udf00-\udf1c\udf27\udf30-\udf45\udf70-\udf81\udfb0-\udfc4\udfe0-\udff6]|\ud804[\udc00-\udc45\udc71-\udc75\udc82-\udcb8\udcc2\udcd0-\udce8\udd00-\udd32\udd44-\udd47\udd50-\udd72\udd76\udd80-\uddbf\uddc1-\uddc4\uddce\uddcf\uddda\udddc\ude00-\ude11\ude13-\ude34\ude37\ude3e\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udee8\udf00-\udf03\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3d-\udf44\udf47\udf48\udf4b\udf4c\udf50\udf57\udf5d-\udf63]|\ud805[\udc00-\udc41\udc43-\udc45\udc47-\udc4a\udc5f-\udc61\udc80-\udcc1\udcc4\udcc5\udcc7\udd80-\uddb5\uddb8-\uddbe\uddd8-\udddd\ude00-\ude3e\ude40\ude44\ude80-\udeb5\udeb8\udf00-\udf1a\udf1d-\udf2a\udf40-\udf46]|\ud806[\udc00-\udc38\udca0-\udcdf\udcff-\udd06\udd09\udd0c-\udd13\udd15\udd16\udd18-\udd35\udd37\udd38\udd3b\udd3c\udd3f-\udd42\udda0-\udda7\uddaa-\uddd7\uddda-\udddf\udde1\udde3\udde4\ude00-\ude32\ude35-\ude3e\ude50-\ude97\ude9d\udeb0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc3e\udc40\udc72-\udc8f\udc92-\udca7\udca9-\udcb6\udd00-\udd06\udd08\udd09\udd0b-\udd36\udd3a\udd3c\udd3d\udd3f-\udd41\udd43\udd46\udd47\udd60-\udd65\udd67\udd68\udd6a-\udd8e\udd90\udd91\udd93-\udd96\udd98\udee0-\udef6\udfb0]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80b[\udf90-\udff0]|[\ud80c\ud81c-\ud820\ud822\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872\ud874-\ud879\ud880-\ud883][\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude70-\udebe\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf4f-\udf87\udf8f-\udf9f\udfe0\udfe1\udfe3\udff0\udff1]|\ud821[\udc00-\udff7]|\ud823[\udc00-\udcd5\udd00-\udd08]|\ud82b[\udff0-\udff3\udff5-\udffb\udffd\udffe]|\ud82c[\udc00-\udd22\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9e]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud837[\udf00-\udf1e]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a\udd00-\udd2c\udd37-\udd3d\udd4e\ude90-\udead\udec0-\udeeb]|\ud839[\udfe0-\udfe6\udfe8-\udfeb\udfed\udfee\udff0-\udffe]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd47\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud83c[\udd30-\udd49\udd50-\udd69\udd70-\udd89]|\ud869[\udc00-\udedf\udf00-\udfff]|\ud86d[\udc00-\udf38\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\ud884[\udc00-\udf4a]"},{name:"Any",isBmpLast:!0,bmp:"\0-",astral:"[\ud800-\udbff][\udc00-\udfff]"},{name:"Default_Ignorable_Code_Point",bmp:"͏ᅟᅠ឴឵᠋-᠏---ㅤ︀-️\ufeffᅠ-",astral:"\ud82f[\udca0-\udca3]|\ud834[\udd73-\udd7a]|[\udb40-\udb43][\udc00-\udfff]"},{name:"Lowercase",bmp:"a-zªµºß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĸĺļľŀłńņňʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌƍƒƕƙ-ƛƞơƣƥƨƪƫƭưƴƶƹƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜǝǟǡǣǥǧǩǫǭǯǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿɀɂɇɉɋɍɏ-ʓʕ-ʸˀˁˠ-ˤͅͱͳͷͺ-ͽΐά-ώϐϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯՠ-ֈა-ჺჽ-ჿᏸ-ᏽᲀ-ᲈᴀ-ᶿḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶᾷιῂ-ῄῆῇῐ-ΐῖῗῠ-ῧῲ-ῴῶῷⁱⁿₐ-ₜℊℎℏℓℯℴℹℼℽⅆ-ⅉⅎⅰ-ⅿↄⓐ-ⓩⰰ-ⱟⱡⱥⱦⱨⱪⱬⱱⱳⱴⱶ-ⱽⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳤⳬⳮⳳⴀ-ⴥⴧⴭꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛ-ꚝꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌꞎꞑꞓ-ꞕꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩꞯꞵꞷꞹꞻꞽꞿꟁꟃꟈꟊꟑꟓꟕꟗꟙꟶꟸ-ꟺꬰ-ꭚꭜ-ꭨꭰ-ꮿff-stﬓ-ﬗa-z",astral:"\ud801[\udc28-\udc4f\udcd8-\udcfb\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc\udf80\udf83-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud803[\udcc0-\udcf2]|\ud806[\udcc0-\udcdf]|\ud81b[\ude60-\ude7f]|\ud835[\udc1a-\udc33\udc4e-\udc54\udc56-\udc67\udc82-\udc9b\udcb6-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udccf\udcea-\udd03\udd1e-\udd37\udd52-\udd6b\udd86-\udd9f\uddba-\uddd3\uddee-\ude07\ude22-\ude3b\ude56-\ude6f\ude8a-\udea5\udec2-\udeda\udedc-\udee1\udefc-\udf14\udf16-\udf1b\udf36-\udf4e\udf50-\udf55\udf70-\udf88\udf8a-\udf8f\udfaa-\udfc2\udfc4-\udfc9\udfcb]|\ud837[\udf00-\udf09\udf0b-\udf1e]|\ud83a[\udd22-\udd43]"},{name:"Noncharacter_Code_Point",bmp:"-",astral:"[\ud83f\ud87f\ud8bf\ud8ff\ud93f\ud97f\ud9bf\ud9ff\uda3f\uda7f\udabf\udaff\udb3f\udb7f\udbbf\udbff][\udffe\udfff]"},{name:"Uppercase",bmp:"A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽƁƂƄƆƇƉ-ƋƎ-ƑƓƔƖ-ƘƜƝƟƠƢƤƦƧƩƬƮƯƱ-ƳƵƷƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺȻȽȾɁɃ-ɆɈɊɌɎͰͲͶͿΆΈ-ΊΌΎΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԨԪԬԮԱ-ՖႠ-ჅჇჍᎠ-ᏵᲐ-ᲺᲽ-ᲿḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾℿⅅⅠ-ⅯↃⒶ-ⓏⰀ-ⰯⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꚘꚚꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽꝾꞀꞂꞄꞆꞋꞍꞐꞒꞖꞘꞚꞜꞞꞠꞢꞤꞦꞨꞪ-ꞮꞰ-ꞴꞶꞸꞺꞼꞾꟀꟂꟄ-ꟇꟉꟐꟖꟘꟵA-Z",astral:"\ud801[\udc00-\udc27\udcb0-\udcd3\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95]|\ud803[\udc80-\udcb2]|\ud806[\udca0-\udcbf]|\ud81b[\ude40-\ude5f]|\ud835[\udc00-\udc19\udc34-\udc4d\udc68-\udc81\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb5\udcd0-\udce9\udd04\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd38\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd6c-\udd85\udda0-\uddb9\uddd4-\udded\ude08-\ude21\ude3c-\ude55\ude70-\ude89\udea8-\udec0\udee2-\udefa\udf1c-\udf34\udf56-\udf6e\udf90-\udfa8\udfca]|\ud83a[\udd00-\udd21]|\ud83c[\udd30-\udd49\udd50-\udd69\udd70-\udd89]"},{name:"White_Space",bmp:"\t-\r
- \u2028\u2029 "}]},772:e=>{e.exports=[{name:"Adlam",astral:"\ud83a[\udd00-\udd4b\udd50-\udd59\udd5e\udd5f]"},{name:"Ahom",astral:"\ud805[\udf00-\udf1a\udf1d-\udf2b\udf30-\udf46]"},{name:"Anatolian_Hieroglyphs",astral:"\ud811[\udc00-\ude46]"},{name:"Arabic",bmp:"-؆-؋؍-ؚ-؞ؠ-ؿف-يٖ-ٯٱ-ۜ۞-ۿݐ-ݿࡰ-ࢎ࢘-ࣣ࣡-ࣿﭐ-﯂ﯓ-ﴽ﵀-ﶏﶒ-ﷇ﷏ﷰ-﷿ﹰ-ﹴﹶ-ﻼ",astral:"\ud803[\ude60-\ude7e]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb\udef0\udef1]"},{name:"Armenian",bmp:"Ա-Ֆՙ-֊֍-֏ﬓ-ﬗ"},{name:"Avestan",astral:"\ud802[\udf00-\udf35\udf39-\udf3f]"},{name:"Balinese",bmp:"ᬀ-ᭌ᭐-᭾"},{name:"Bamum",bmp:"ꚠ-꛷",astral:"\ud81a[\udc00-\ude38]"},{name:"Bassa_Vah",astral:"\ud81a[\uded0-\udeed\udef0-\udef5]"},{name:"Batak",bmp:"ᯀ-᯳᯼-᯿"},{name:"Bengali",bmp:"ঀ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-৾"},{name:"Bhaiksuki",astral:"\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc45\udc50-\udc6c]"},{name:"Bopomofo",bmp:"˪˫ㄅ-ㄯㆠ-ㆿ"},{name:"Brahmi",astral:"\ud804[\udc00-\udc4d\udc52-\udc75\udc7f]"},{name:"Braille",bmp:"⠀-⣿"},{name:"Buginese",bmp:"ᨀ-ᨛ᨞᨟"},{name:"Buhid",bmp:"ᝀ-ᝓ"},{name:"Canadian_Aboriginal",bmp:"᐀-ᙿᢰ-ᣵ",astral:"\ud806[\udeb0-\udebf]"},{name:"Carian",astral:"\ud800[\udea0-\uded0]"},{name:"Caucasian_Albanian",astral:"\ud801[\udd30-\udd63\udd6f]"},{name:"Chakma",astral:"\ud804[\udd00-\udd34\udd36-\udd47]"},{name:"Cham",bmp:"ꨀ-ꨶꩀ-ꩍ꩐-꩙꩜-꩟"},{name:"Cherokee",bmp:"Ꭰ-Ᏽᏸ-ᏽꭰ-ꮿ"},{name:"Chorasmian",astral:"\ud803[\udfb0-\udfcb]"},{name:"Common",bmp:"\0-@\\[-`\\{-©«-¹»-¿×÷ʹ-˟˥-˩ˬ-˿ʹ;΅·،؛؟ـ।॥฿࿕-࿘჻᛫-᛭᜵᜶᠂᠃᠅᳓᳡ᳩ-ᳬᳮ-ᳳᳵ-᳷ᳺ ---⁰⁴-⁾₀-₎₠-⃀℀-℥℧-℩ℬ-ℱℳ-⅍⅏-⅟↉-↋←-␦⑀-⑊①-⟿⤀-⭳⭶-⮕⮗-⯿⸀-⹝⿰-⿻ -〄〆〈-〠〰-〷〼-〿゛゜゠・ー㆐-㆟㇀-㇣㈠-㉟㉿-㋏㋿㍘-㏿䷀-䷿꜀-꜡ꞈ-꞊꠰-꠹꤮ꧏ꭛꭪꭫﴾﴿︐-︙︰-﹒﹔-﹦﹨-﹫\ufeff!-@[-`{-・ー゙゚¢-₩│-○-�",astral:"\ud800[\udd00-\udd02\udd07-\udd33\udd37-\udd3f\udd90-\udd9c\uddd0-\uddfc\udee1-\udefb]|\ud82f[\udca0-\udca3]|\ud833[\udf50-\udfc3]|\ud834[\udc00-\udcf5\udd00-\udd26\udd29-\udd66\udd6a-\udd7a\udd83\udd84\udd8c-\udda9\uddae-\uddea\udee0-\udef3\udf00-\udf56\udf60-\udf78]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udfcb\udfce-\udfff]|\ud83b[\udc71-\udcb4\udd01-\udd3d]|\ud83c[\udc00-\udc2b\udc30-\udc93\udca0-\udcae\udcb1-\udcbf\udcc1-\udccf\udcd1-\udcf5\udd00-\uddad\udde6-\uddff\ude01\ude02\ude10-\ude3b\ude40-\ude48\ude50\ude51\ude60-\ude65\udf00-\udfff]|\ud83d[\udc00-\uded7\udedd-\udeec\udef0-\udefc\udf00-\udf73\udf80-\udfd8\udfe0-\udfeb\udff0]|\ud83e[\udc00-\udc0b\udc10-\udc47\udc50-\udc59\udc60-\udc87\udc90-\udcad\udcb0\udcb1\udd00-\ude53\ude60-\ude6d\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec5\uded0-\uded9\udee0-\udee7\udef0-\udef6\udf00-\udf92\udf94-\udfca\udff0-\udff9]|\udb40[\udc01\udc20-\udc7f]"},{name:"Coptic",bmp:"Ϣ-ϯⲀ-ⳳ⳹-⳿"},{name:"Cuneiform",astral:"\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc70-\udc74\udc80-\udd43]"},{name:"Cypriot",astral:"\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f]"},{name:"Cypro_Minoan",astral:"\ud80b[\udf90-\udff2]"},{name:"Cyrillic",bmp:"Ѐ-҄҇-ԯᲀ-ᲈᴫᵸⷠ-ⷿꙀ-ꚟ︮︯"},{name:"Deseret",astral:"\ud801[\udc00-\udc4f]"},{name:"Devanagari",bmp:"ऀ-ॐॕ-ॣ०-ॿ꣠-ꣿ"},{name:"Dives_Akuru",astral:"\ud806[\udd00-\udd06\udd09\udd0c-\udd13\udd15\udd16\udd18-\udd35\udd37\udd38\udd3b-\udd46\udd50-\udd59]"},{name:"Dogra",astral:"\ud806[\udc00-\udc3b]"},{name:"Duployan",astral:"\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9c-\udc9f]"},{name:"Egyptian_Hieroglyphs",astral:"\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e\udc30-\udc38]"},{name:"Elbasan",astral:"\ud801[\udd00-\udd27]"},{name:"Elymaic",astral:"\ud803[\udfe0-\udff6]"},{name:"Ethiopic",bmp:"ሀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፼ᎀ-᎙ⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮ",astral:"\ud839[\udfe0-\udfe6\udfe8-\udfeb\udfed\udfee\udff0-\udffe]"},{name:"Georgian",bmp:"Ⴀ-ჅჇჍა-ჺჼ-ჿᲐ-ᲺᲽ-Ჿⴀ-ⴥⴧⴭ"},{name:"Glagolitic",bmp:"Ⰰ-ⱟ",astral:"\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a]"},{name:"Gothic",astral:"\ud800[\udf30-\udf4a]"},{name:"Grantha",astral:"\ud804[\udf00-\udf03\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3c-\udf44\udf47\udf48\udf4b-\udf4d\udf50\udf57\udf5d-\udf63\udf66-\udf6c\udf70-\udf74]"},{name:"Greek",bmp:"Ͱ-ͳ͵-ͷͺ-ͽͿ΄ΆΈ-ΊΌΎ-ΡΣ-ϡϰ-Ͽᴦ-ᴪᵝ-ᵡᵦ-ᵪᶿἀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ῄῆ-ΐῖ-Ί῝-`ῲ-ῴῶ-῾Ωꭥ",astral:"\ud800[\udd40-\udd8e\udda0]|\ud834[\ude00-\ude45]"},{name:"Gujarati",bmp:"ઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૱ૹ-૿"},{name:"Gunjala_Gondi",astral:"\ud807[\udd60-\udd65\udd67\udd68\udd6a-\udd8e\udd90\udd91\udd93-\udd98\udda0-\udda9]"},{name:"Gurmukhi",bmp:"ਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-੶"},{name:"Han",bmp:"⺀-⺙⺛-⻳⼀-⿕々〇〡-〩〸-〻㐀-䶿一-鿿豈-舘並-龎",astral:"\ud81b[\udfe2\udfe3\udff0\udff1]|[\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872\ud874-\ud879\ud880-\ud883][\udc00-\udfff]|\ud869[\udc00-\udedf\udf00-\udfff]|\ud86d[\udc00-\udf38\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\ud884[\udc00-\udf4a]"},{name:"Hangul",bmp:"ᄀ-ᇿ〮〯ㄱ-ㆎ㈀-㈞㉠-㉾ꥠ-ꥼ가-힣ힰ-ퟆퟋ-ퟻᅠ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ"},{name:"Hanifi_Rohingya",astral:"\ud803[\udd00-\udd27\udd30-\udd39]"},{name:"Hanunoo",bmp:"ᜠ-᜴"},{name:"Hatran",astral:"\ud802[\udce0-\udcf2\udcf4\udcf5\udcfb-\udcff]"},{name:"Hebrew",bmp:"֑-ׇא-תׯ-״יִ-זּטּ-לּמּנּסּףּפּצּ-ﭏ"},{name:"Hiragana",bmp:"ぁ-ゖゝ-ゟ",astral:"\ud82c[\udc01-\udd1f\udd50-\udd52]|🈀"},{name:"Imperial_Aramaic",astral:"\ud802[\udc40-\udc55\udc57-\udc5f]"},{name:"Inherited",bmp:"̀-ًͯ҅҆-ٰٕ॑-॔᪰-ᫎ᳐-᳔᳒-᳢᳠-᳨᳭᳴᳸᳹᷀-᷿⃐-〪⃰-゙゚〭︀-️︠-︭",astral:"\ud800[\uddfd\udee0]|𑌻|\ud833[\udf00-\udf2d\udf30-\udf46]|\ud834[\udd67-\udd69\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad]|\udb40[\udd00-\uddef]"},{name:"Inscriptional_Pahlavi",astral:"\ud802[\udf60-\udf72\udf78-\udf7f]"},{name:"Inscriptional_Parthian",astral:"\ud802[\udf40-\udf55\udf58-\udf5f]"},{name:"Javanese",bmp:"ꦀ-꧍꧐-꧙꧞꧟"},{name:"Kaithi",astral:"\ud804[\udc80-\udcc2\udccd]"},{name:"Kannada",bmp:"ಀ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೝೞೠ-ೣ೦-೯ೱೲ"},{name:"Katakana",bmp:"ァ-ヺヽ-ヿㇰ-ㇿ㋐-㋾㌀-㍗ヲ-ッア-ン",astral:"\ud82b[\udff0-\udff3\udff5-\udffb\udffd\udffe]|\ud82c[\udc00\udd20-\udd22\udd64-\udd67]"},{name:"Kayah_Li",bmp:"꤀-꤭꤯"},{name:"Kharoshthi",astral:"\ud802[\ude00-\ude03\ude05\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude35\ude38-\ude3a\ude3f-\ude48\ude50-\ude58]"},{name:"Khitan_Small_Script",astral:"𖿤|\ud822[\udf00-\udfff]|\ud823[\udc00-\udcd5]"},{name:"Khmer",bmp:"ក-៝០-៩៰-៹᧠-᧿"},{name:"Khojki",astral:"\ud804[\ude00-\ude11\ude13-\ude3e]"},{name:"Khudawadi",astral:"\ud804[\udeb0-\udeea\udef0-\udef9]"},{name:"Lao",bmp:"ກຂຄຆ-ຊຌ-ຣລວ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟ"},{name:"Latin",bmp:"A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꟿꬰ-ꭚꭜ-ꭤꭦ-ꭩff-stA-Za-z",astral:"\ud801[\udf80-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud837[\udf00-\udf1e]"},{name:"Lepcha",bmp:"ᰀ-᰷᰻-᱉ᱍ-ᱏ"},{name:"Limbu",bmp:"ᤀ-ᤞᤠ-ᤫᤰ-᤻᥀᥄-᥏"},{name:"Linear_A",astral:"\ud801[\ude00-\udf36\udf40-\udf55\udf60-\udf67]"},{name:"Linear_B",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa]"},{name:"Lisu",bmp:"ꓐ-꓿",astral:"𑾰"},{name:"Lycian",astral:"\ud800[\ude80-\ude9c]"},{name:"Lydian",astral:"\ud802[\udd20-\udd39\udd3f]"},{name:"Mahajani",astral:"\ud804[\udd50-\udd76]"},{name:"Makasar",astral:"\ud807[\udee0-\udef8]"},{name:"Malayalam",bmp:"ഀ-ഌഎ-ഐഒ-ൄെ-ൈൊ-൏ൔ-ൣ൦-ൿ"},{name:"Mandaic",bmp:"ࡀ-࡛࡞"},{name:"Manichaean",astral:"\ud802[\udec0-\udee6\udeeb-\udef6]"},{name:"Marchen",astral:"\ud807[\udc70-\udc8f\udc92-\udca7\udca9-\udcb6]"},{name:"Masaram_Gondi",astral:"\ud807[\udd00-\udd06\udd08\udd09\udd0b-\udd36\udd3a\udd3c\udd3d\udd3f-\udd47\udd50-\udd59]"},{name:"Medefaidrin",astral:"\ud81b[\ude40-\ude9a]"},{name:"Meetei_Mayek",bmp:"ꫠ-꫶ꯀ-꯭꯰-꯹"},{name:"Mende_Kikakui",astral:"\ud83a[\udc00-\udcc4\udcc7-\udcd6]"},{name:"Meroitic_Cursive",astral:"\ud802[\udda0-\uddb7\uddbc-\uddcf\uddd2-\uddff]"},{name:"Meroitic_Hieroglyphs",astral:"\ud802[\udd80-\udd9f]"},{name:"Miao",astral:"\ud81b[\udf00-\udf4a\udf4f-\udf87\udf8f-\udf9f]"},{name:"Modi",astral:"\ud805[\ude00-\ude44\ude50-\ude59]"},{name:"Mongolian",bmp:"᠀᠁᠄᠆-᠙ᠠ-ᡸᢀ-ᢪ",astral:"\ud805[\ude60-\ude6c]"},{name:"Mro",astral:"\ud81a[\ude40-\ude5e\ude60-\ude69\ude6e\ude6f]"},{name:"Multani",astral:"\ud804[\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea9]"},{name:"Myanmar",bmp:"က-႟ꧠ-ꧾꩠ-ꩿ"},{name:"Nabataean",astral:"\ud802[\udc80-\udc9e\udca7-\udcaf]"},{name:"Nandinagari",astral:"\ud806[\udda0-\udda7\uddaa-\uddd7\uddda-\udde4]"},{name:"New_Tai_Lue",bmp:"ᦀ-ᦫᦰ-ᧉ᧐-᧚᧞᧟"},{name:"Newa",astral:"\ud805[\udc00-\udc5b\udc5d-\udc61]"},{name:"Nko",bmp:"߀-ߺ߽-߿"},{name:"Nushu",astral:"𖿡|\ud82c[\udd70-\udefb]"},{name:"Nyiakeng_Puachue_Hmong",astral:"\ud838[\udd00-\udd2c\udd30-\udd3d\udd40-\udd49\udd4e\udd4f]"},{name:"Ogham",bmp:" -᚜"},{name:"Ol_Chiki",bmp:"᱐-᱿"},{name:"Old_Hungarian",astral:"\ud803[\udc80-\udcb2\udcc0-\udcf2\udcfa-\udcff]"},{name:"Old_Italic",astral:"\ud800[\udf00-\udf23\udf2d-\udf2f]"},{name:"Old_North_Arabian",astral:"\ud802[\ude80-\ude9f]"},{name:"Old_Permic",astral:"\ud800[\udf50-\udf7a]"},{name:"Old_Persian",astral:"\ud800[\udfa0-\udfc3\udfc8-\udfd5]"},{name:"Old_Sogdian",astral:"\ud803[\udf00-\udf27]"},{name:"Old_South_Arabian",astral:"\ud802[\ude60-\ude7f]"},{name:"Old_Turkic",astral:"\ud803[\udc00-\udc48]"},{name:"Old_Uyghur",astral:"\ud803[\udf70-\udf89]"},{name:"Oriya",bmp:"ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍୕-ୗଡ଼ଢ଼ୟ-ୣ୦-୷"},{name:"Osage",astral:"\ud801[\udcb0-\udcd3\udcd8-\udcfb]"},{name:"Osmanya",astral:"\ud801[\udc80-\udc9d\udca0-\udca9]"},{name:"Pahawh_Hmong",astral:"\ud81a[\udf00-\udf45\udf50-\udf59\udf5b-\udf61\udf63-\udf77\udf7d-\udf8f]"},{name:"Palmyrene",astral:"\ud802[\udc60-\udc7f]"},{name:"Pau_Cin_Hau",astral:"\ud806[\udec0-\udef8]"},{name:"Phags_Pa",bmp:"ꡀ-꡷"},{name:"Phoenician",astral:"\ud802[\udd00-\udd1b\udd1f]"},{name:"Psalter_Pahlavi",astral:"\ud802[\udf80-\udf91\udf99-\udf9c\udfa9-\udfaf]"},{name:"Rejang",bmp:"ꤰ-꥓꥟"},{name:"Runic",bmp:"ᚠ-ᛪᛮ-ᛸ"},{name:"Samaritan",bmp:"ࠀ-࠭࠰-࠾"},{name:"Saurashtra",bmp:"ꢀ-ꣅ꣎-꣙"},{name:"Sharada",astral:"\ud804[\udd80-\udddf]"},{name:"Shavian",astral:"\ud801[\udc50-\udc7f]"},{name:"Siddham",astral:"\ud805[\udd80-\uddb5\uddb8-\udddd]"},{name:"SignWriting",astral:"\ud836[\udc00-\ude8b\ude9b-\ude9f\udea1-\udeaf]"},{name:"Sinhala",bmp:"ඁ-ඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟ෦-෯ෲ-෴",astral:"\ud804[\udde1-\uddf4]"},{name:"Sogdian",astral:"\ud803[\udf30-\udf59]"},{name:"Sora_Sompeng",astral:"\ud804[\udcd0-\udce8\udcf0-\udcf9]"},{name:"Soyombo",astral:"\ud806[\ude50-\udea2]"},{name:"Sundanese",bmp:"ᮀ-ᮿ᳀-᳇"},{name:"Syloti_Nagri",bmp:"ꠀ-꠬"},{name:"Syriac",bmp:"܀-܍-݊ݍ-ݏࡠ-ࡪ"},{name:"Tagalog",bmp:"ᜀ-᜕ᜟ"},{name:"Tagbanwa",bmp:"ᝠ-ᝬᝮ-ᝰᝲᝳ"},{name:"Tai_Le",bmp:"ᥐ-ᥭᥰ-ᥴ"},{name:"Tai_Tham",bmp:"ᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪠-᪭"},{name:"Tai_Viet",bmp:"ꪀ-ꫂꫛ-꫟"},{name:"Takri",astral:"\ud805[\ude80-\udeb9\udec0-\udec9]"},{name:"Tamil",bmp:"ஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௺",astral:"\ud807[\udfc0-\udff1\udfff]"},{name:"Tangsa",astral:"\ud81a[\ude70-\udebe\udec0-\udec9]"},{name:"Tangut",astral:"𖿠|[\ud81c-\ud820][\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udeff]|\ud823[\udd00-\udd08]"},{name:"Telugu",bmp:"ఀ-ఌఎ-ఐఒ-నప-హ఼-ౄె-ైొ-్ౕౖౘ-ౚౝౠ-ౣ౦-౯౷-౿"},{name:"Thaana",bmp:"ހ-ޱ"},{name:"Thai",bmp:"ก-ฺเ-๛"},{name:"Tibetan",bmp:"ༀ-ཇཉ-ཬཱ-ྗྙ-ྼ྾-࿌࿎-࿔࿙࿚"},{name:"Tifinagh",bmp:"ⴰ-ⵧⵯ⵰⵿"},{name:"Tirhuta",astral:"\ud805[\udc80-\udcc7\udcd0-\udcd9]"},{name:"Toto",astral:"\ud838[\ude90-\udeae]"},{name:"Ugaritic",astral:"\ud800[\udf80-\udf9d\udf9f]"},{name:"Vai",bmp:"ꔀ-ꘫ"},{name:"Vithkuqi",astral:"\ud801[\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc]"},{name:"Wancho",astral:"\ud838[\udec0-\udef9\udeff]"},{name:"Warang_Citi",astral:"\ud806[\udca0-\udcf2\udcff]"},{name:"Yezidi",astral:"\ud803[\ude80-\udea9\udeab-\udead\udeb0\udeb1]"},{name:"Yi",bmp:"ꀀ-ꒌ꒐-꓆"},{name:"Zanabazar_Square",astral:"\ud806[\ude00-\ude47]"}]},9491:e=>{"use strict";e.exports=require("assert")},4300:e=>{"use strict";e.exports=require("buffer")},6113:e=>{"use strict";e.exports=require("crypto")},7147:e=>{"use strict";e.exports=require("fs")},2781:e=>{"use strict";e.exports=require("stream")},1576:e=>{"use strict";e.exports=require("string_decoder")},3837:e=>{"use strict";e.exports=require("util")},7260:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/perf_block_constraint.json","type":"object","properties":{"type":{"type":"string","enum":["paragraph","graft"]},"content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./perf_contentElement_constraint.json"}]}},"meta_content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./perf_contentElement_constraint.json"}]}}},"if":{"properties":{"type":{"enum":["graft"]}}},"then":{"properties":{"subtype":{"enum":["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},"else":{"properties":{"subtype":{"type":"string","pattern":"^usfm:"}}}}')},6025:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/perf_contentElement_constraint.json","type":"object","allOf":[{"properties":{"content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./perf_contentElement_constraint.json"}]}},"meta_content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./perf_contentElement_constraint.json"}]}}}},{"if":{"properties":{"type":{"enum":["graft"]}}},"then":{"properties":{"subtype":{"enum":["footnote","xref","note_caller"]}},"allOf":[{"not":{"required":["content"]}},{"not":{"required":["meta_content"]}}],"if":{"required":["new"],"properties":{"new":{"enum":[true]}}},"then":{"not":{"anyOf":[{"required":["target"]},{"required":["preview_text"]}]}},"else":{"required":["target"]}}},{"if":{"properties":{"type":{"enum":["mark"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"enum":["chapter","verses"]},{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}},"if":{"properties":{"subtype":{"enum":["chapter","verses"]}}},"then":{"type":"object","required":["atts"],"properties":{"atts":{"type":"object","required":["number"],"maxProperties":1}}}}},{"if":{"properties":{"type":{"enum":["wrapper"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"enum":["meta_content"]},{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}},"if":{"properties":{"subtype":{"enum":["meta_content"]}}},"then":{"not":{"required":["atts"]}}}},{"if":{"properties":{"type":{"enum":["start_milestone"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}}}},{"if":{"properties":{"type":{"enum":["end_milestone"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}},"not":{"required":["atts"]}}}]}')},2099:e=>{"use strict";e.exports=JSON.parse('{"$comment":"version 0.2.0","$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/perf_document_constraint.json","type":"object","properties":{"sequences":{"type":"object","propertyNames":{"pattern":"^\\\\S+$"},"additionalProperties":{"$ref":"./perf_sequence_constraint.json"}}}}')},3914:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/perf_sequence_constraint.json","type":"object","properties":{"type":{"type":"string","enum":["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},"blocks":{"type":"array","items":{"$ref":"./perf_block_constraint.json"}}}}')},1455:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/sofria_block_constraint.json","type":"object","properties":{"type":{"type":"string","enum":["paragraph","graft"]},"content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./sofria_contentElement_constraint.json"}]}},"meta_content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./sofria_contentElement_constraint.json"}]}}},"if":{"properties":{"type":{"enum":["graft"]}}},"then":{"properties":{"subtype":{"enum":["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},"else":{"properties":{"subtype":{"type":"string","pattern":"^usfm:"}}}}')},950:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/sofria_contentElement_constraint.json","type":"object","allOf":[{"properties":{"content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./sofria_contentElement_constraint.json"}]}},"meta_content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./sofria_contentElement_constraint.json"}]}}}},{"if":{"properties":{"type":{"enum":["graft"]}}},"then":{"properties":{"subtype":{"enum":["footnote","xref","note_caller"]}},"allOf":[{"not":{"required":["content"]}},{"not":{"required":["meta_content"]}}],"if":{"required":["new"],"properties":{"new":{"enum":[true]}}},"then":{"not":{"anyOf":[{"required":["block"]},{"required":["preview_text"]}]}},"else":{"required":["block"]}}},{"if":{"properties":{"type":{"enum":["mark"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"enum":["chapter_label","verses_label"]},{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}},"if":{"properties":{"subtype":{"enum":["chapter","verses"]}}},"then":{"type":"object","required":["atts"],"properties":{"atts":{"type":"object","required":["number"],"maxProperties":1}}}}},{"if":{"properties":{"type":{"enum":["wrapper"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"enum":["meta_content","chapter","verses"]},{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}},"if":{"properties":{"subtype":{"enum":["meta_content"]}}},"then":{"not":{"required":["atts"]}}}},{"if":{"properties":{"type":{"enum":["start_milestone"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}}}},{"if":{"properties":{"type":{"enum":["end_milestone"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}},"not":{"required":["atts"]}}}]}')},85:e=>{"use strict";e.exports=JSON.parse('{"$comment":"version 0.2.0","$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/sofria_document_constraint.json","type":"object","properties":{"sequences":{"type":"object","propertyNames":{"pattern":"^\\\\S+$"},"additionalProperties":{"$ref":"./sofria_sequence_constraint.json"}}}}')},7635:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/sofria_sequence_constraint.json","type":"object","properties":{"type":{"type":"string","enum":["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},"blocks":{"type":"array","items":{"$ref":"./sofria_block_constraint.json"}}}}')},4887:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/perf_block_constraint.json","type":"object","properties":{"type":{"type":"string","enum":["paragraph","graft","row","node","lookup"]},"content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./perf_contentElement_constraint.json"}]}},"meta_content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./perf_contentElement_constraint.json"}]}}},"if":{"properties":{"type":{"enum":["graft"]}}},"then":{"properties":{"subtype":{"enum":["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},"else":{"if":{"properties":{"type":{"enum":["row"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"enum":["row:heading","row:body"]}]}}},"else":{"if":{"properties":{"type":{"enum":["node"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"enum":["node"]},{"pattern":"^x-\\\\S{1,256}$"}]},"atts":{"type":"object","properties":{"id":{"type":"string"},"parent":{"type":"string"},"children":{"type":"array","items":{"type":"string"}}},"required":["id"],"additionalProperties":false}}},"else":{"if":{"properties":{"type":{"enum":["lookup"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"enum":["lookup"]},{"pattern":"^x-\\\\S{1,256}$"}]},"atts":{"type":"object","properties":{"primary":{"type":"string"},"secondary":{"type":"array","items":{"type":"string"}}},"required":["primary"],"additionalProperties":false}}},"else":{"properties":{"subtype":{"type":"string","oneOf":[{"pattern":"^usfm:"},{"pattern":"^x-\\\\S{1,256}$"}]}}}}}}}')},9068:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/perf_contentElement_constraint.json","type":"object","allOf":[{"properties":{"content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./perf_contentElement_constraint.json"}]}},"meta_content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./perf_contentElement_constraint.json"}]}}}},{"if":{"properties":{"type":{"enum":["graft"]}}},"then":{"properties":{"subtype":{"enum":["footnote","xref","note_caller"]}},"allOf":[{"not":{"required":["content"]}},{"not":{"required":["meta_content"]}}],"if":{"required":["new"],"properties":{"new":{"enum":[true]}}},"then":{"not":{"anyOf":[{"required":["target"]},{"required":["preview_text"]}]}},"else":{"required":["target"]}}},{"if":{"properties":{"type":{"enum":["mark"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"enum":["chapter","verses","alt_chapter","alt_verse","pub_chapter","pub_verse"]},{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}},"if":{"properties":{"subtype":{"enum":["chapter","verses"]}}},"then":{"type":"object","required":["atts"],"properties":{"atts":{"type":"object","required":["number"],"maxProperties":1}}}}},{"if":{"properties":{"type":{"enum":["wrapper"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"enum":["meta_content"]},{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}},"if":{"properties":{"subtype":{"enum":["meta_content"]}}},"then":{"not":{"required":["atts"]}}}},{"if":{"properties":{"type":{"enum":["start_milestone"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}}}},{"if":{"properties":{"type":{"enum":["end_milestone"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}},"not":{"required":["atts"]}}}]}')},2114:e=>{"use strict";e.exports=JSON.parse('{"$comment":"version 0.3.0","$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/perf_document_constraint.json","type":"object","properties":{"hooks":{"type":"array"},"sequences":{"type":"object","propertyNames":{"pattern":"^\\\\S+$"},"additionalProperties":{"$ref":"./perf_sequence_constraint.json"}}}}')},7057:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/perf_sequence_constraint.json","type":"object","properties":{"type":{"type":"string","enum":["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},"blocks":{"type":"array","items":{"$ref":"./perf_block_constraint.json"}}}}')},5354:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/sofria_block_constraint.json","type":"object","properties":{"type":{"type":"string","enum":["paragraph","graft"]},"content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./sofria_contentElement_constraint.json"}]}},"meta_content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./sofria_contentElement_constraint.json"}]}}},"if":{"properties":{"type":{"enum":["graft"]}}},"then":{"properties":{"subtype":{"enum":["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},"else":{"properties":{"subtype":{"type":"string","pattern":"^usfm:"}}}}')},8310:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/sofria_contentElement_constraint.json","type":"object","allOf":[{"properties":{"content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./sofria_contentElement_constraint.json"}]}},"meta_content":{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"./sofria_contentElement_constraint.json"}]}}}},{"if":{"properties":{"type":{"enum":["graft"]}}},"then":{"properties":{"subtype":{"enum":["footnote","xref","note_caller"]}},"allOf":[{"not":{"required":["content"]}},{"not":{"required":["meta_content"]}}],"if":{"required":["new"],"properties":{"new":{"enum":[true]}}},"then":{"not":{"anyOf":[{"required":["blocks"]},{"required":["preview_text"]}]}},"else":{"required":["sequence"]}}},{"if":{"properties":{"type":{"enum":["mark"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"enum":["chapter_label","verses_label","alt_chapter","alt_verse","pub_chapter","pub_verse"]},{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}},"if":{"properties":{"subtype":{"enum":["chapter","verses"]}}},"then":{"type":"object","required":["atts"],"properties":{"atts":{"type":"object","required":["number"],"maxProperties":1}}}}},{"if":{"properties":{"type":{"enum":["wrapper"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"enum":["meta_content","chapter","verses"]},{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}},"if":{"properties":{"subtype":{"enum":["meta_content"]}}},"then":{"not":{"required":["atts"]}}}},{"if":{"properties":{"type":{"enum":["start_milestone"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}}}},{"if":{"properties":{"type":{"enum":["end_milestone"]}}},"then":{"properties":{"subtype":{"type":"string","oneOf":[{"pattern":"^[A-Za-z][A-Za-z0-9]*:\\\\S+$"},{"pattern":"^x-\\\\S+$"}]}},"not":{"required":["atts"]}}}]}')},8975:e=>{"use strict";e.exports=JSON.parse('{"$comment":"version 0.3.0","$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/sofria_document_constraint.json","type":"object","properties":{"sequence":{"$ref":"./sofria_sequence_constraint.json"}}}')},2278:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/sofria_sequence_constraint.json","type":"object","properties":{"type":{"type":"string","enum":["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},"blocks":{"type":"array","items":{"$ref":"./sofria_block_constraint.json"}}}}')},6517:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_2_1/block_structure.json","title":"Block (Structure)","description":"A block, which represents either a paragraph of text or a graft","type":"object","properties":{"type":{"type":"string","description":"The type of block","enum":["paragraph","graft"]},"subtype":{"description":"A type-specific subtype","type":"string"},"target":{"description":"The id of the sequence containing graft content","type":"string"},"sequence":{"description":"The sequence containing graft content","$ref":"./sequence_structure.json"},"preview_text":{"description":"An optional field to provide some kind of printable label for a graft","type":"string"},"new":{"description":"If present and true, is interpreted as a request for the server to create a new graft","type":"boolean"},"atts":{"type":"object","description":"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings","additionalProperties":{"oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"},{"type":"boolean"}]}},"content":{"type":"array","description":"The content of the block","items":{"oneOf":[{"type":"string"},{"$ref":"./contentElement_structure.json"}]}}},"required":["type"],"additionalProperties":false,"if":{"properties":{"type":{"enum":["paragraph"]}}},"then":{"required":["content"],"allOf":[{"not":{"required":["new"]}},{"not":{"required":["preview_text"]}},{"not":{"required":["target"]}}]},"else":{"if":{"required":["new"],"properties":{"new":{"enum":[true]}}},"then":{"allOf":[{"oneOf":[{"required":["subtype"]},{"required":["sequence"]}]},{"not":{"required":["target"]}},{"not":{"required":["preview_text"]}},{"not":{"required":["content"]}}]},"else":{"oneOf":[{"required":["target"]},{"required":["sequence"]}]}}}')},9670:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_2_1/contentElement_structure.json","title":"Content Element (Structure)","description":"A content element, ie some form of (possibly nested) markup","type":"object","properties":{"type":{"type":"string","description":"The type of element","enum":["mark","wrapper","start_milestone","end_milestone","graft"]},"subtype":{"description":"The subtype of the element, which is context-dependent","type":"string"},"atts":{"type":"object","description":"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings","additionalProperties":{"oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"},{"type":"boolean"}]}},"target":{"type":"string","description":"The id of the sequence containing graft content"},"sequence":{"description":"The sequence containing graft content","$ref":"./sequence_structure.json"},"preview_text":{"description":"An optional field to provide some kind of printable label for a graft","type":"string"},"new":{"type":"boolean","description":"If present and true, is interpreted as a request for the server to create a new graft"},"content":{"type":"array","description":"Nested content within the content element","items":{"oneOf":[{"type":"string"},{"$ref":"./contentElement_structure.json"}]}},"meta_content":{"type":"array","description":"Non-Scripture content related to the content element, such as checking data or related resources","items":{"oneOf":[{"type":"string"},{"$ref":"./contentElement_structure.json"}]}}},"required":["type"],"additionalProperties":false}')},2242:e=>{"use strict";e.exports=JSON.parse('{"$comment":"version 0.1.0","$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_2_1/document_structure.json","title":"Document (Structure)","description":"A document, typically corresponding to a single USFM or USX book","type":"object","properties":{"schema":{"type":"object","properties":{"structure":{"description":"The basic \'shape\' of the content","type":"string","enum":["flat","nested"]},"structure_version":{"description":"the semantic version of the structure schema","type":"string"},"constraints":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","enum":["perf","sofria"]},"version":{"description":"the semantic version of the constraint schema","type":"string"}},"additionalProperties":false,"required":["name","version"]}}},"required":["structure","structure_version","constraints"],"additionalProperties":false},"metadata":{"description":"Metadata describing the document and the translation it belongs to","type":"object","properties":{"translation":{"type":"object","description":"Metadata concerning the translation to which the document belongs","properties":{"tags":{"description":"Tags attached to the translation","type":"array","items":{"type":"string"}},"properties":{"type":"object","description":"Key/value properties attached to the translation","additionalProperties":{"type":"string"}},"selectors":{"type":"object","description":"Proskomma selectors for the translation that, together, provide a primary key in the translation store","additionalProperties":{"type":"string"}}},"additionalProperties":{"type":"string"},"required":["id"]},"document":{"type":"object","description":"Metadata concerning the document itself","properties":{"tags":{"type":"array","description":"Tags attached to the document","items":{"type":"string"}},"properties":{"type":"object","description":"Key/value properties attached to the document","additionalProperties":{"type":"string"}},"chapters":{"type":"string","pattern":"^[1-9][0-9]*(-[1-9][0-9]*)?$"}},"additionalProperties":{"type":"string"}}},"additionalProperties":false},"sequences":{"type":"object","propertyNames":{"pattern":"^\\\\S+$"},"additionalProperties":{"$ref":"./sequence_structure.json"}},"sequence":{"$ref":"./sequence_structure.json"},"main_sequence_id":{"type":"string"}},"required":["schema","metadata"],"additionalProperties":false,"if":{"properties":{"schema":{"type":"object","properties":{"structure":{"enum":["flat"]}}}}},"then":{"required":["sequences","main_sequence_id"],"not":{"required":["sequence"]}},"else":{"required":["sequence"],"allOf":[{"not":{"required":["sequences"]}},{"not":{"required":["main_sequence_id"]}}]}}')},4370:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_2_1/sequence_structure.json","title":"Sequence (Structure)","description":"A sequence contains a \'flow\' of one or more blocks","type":"object","properties":{"type":{"description":"The type of sequence","type":"string"},"preview_text":{"description":"An optional field to provide some kind of printable label","type":"string"},"blocks":{"type":"array","description":"The blocks that, together, represent the \'flow\' of the sequence","items":{"$ref":"./block_structure.json"}}},"required":["type"],"additionalProperties":false}')},4994:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/block_structure.json","title":"Block (Structure)","description":"A block, which represents either a paragraph of text or a graft","type":"object","properties":{"type":{"type":"string","description":"The type of block","enum":["paragraph","row","node","lookup","graft"]},"subtype":{"description":"A type-specific subtype","type":"string"},"target":{"description":"The id of the sequence containing graft content","type":"string"},"sequence":{"description":"The sequence containing graft content","$ref":"./sequence_structure.json"},"preview_text":{"description":"An optional field to provide some kind of printable label for a graft","type":"string"},"new":{"description":"If present and true, is interpreted as a request for the server to create a new graft","type":"boolean"},"atts":{"type":"object","description":"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings","additionalProperties":{"oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"},{"type":"boolean"}]}},"content":{"type":"array","description":"The content of the block","items":{"oneOf":[{"type":"string"},{"$ref":"./contentElement_structure.json"}]}},"hooks":{"type":"array","$ref":"./hook_structure.json"}},"required":["type"],"additionalProperties":false,"if":{"properties":{"type":{"enum":["paragraph","row","node","lookup"]}}},"then":{"required":["content"],"allOf":[{"not":{"required":["new"]}},{"not":{"required":["preview_text"]}},{"not":{"required":["target"]}}]},"else":{"if":{"required":["new"],"properties":{"new":{"enum":[true]}}},"then":{"allOf":[{"oneOf":[{"required":["subtype"]},{"required":["sequence"]}]},{"not":{"required":["target"]}},{"not":{"required":["preview_text"]}},{"not":{"required":["content"]}}]},"else":{"oneOf":[{"required":["target"]},{"required":["sequence"]}]}}}')},9868:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/contentElement_structure.json","title":"Content Element (Structure)","description":"A content element, ie some form of (possibly nested) markup","type":"object","properties":{"type":{"type":"string","description":"The type of element","enum":["mark","wrapper","start_milestone","end_milestone","graft"]},"subtype":{"description":"The subtype of the element, which is context-dependent","type":"string"},"atts":{"type":"object","description":"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings","additionalProperties":{"oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"},{"type":"boolean"}]}},"target":{"type":"string","description":"The id of the sequence containing graft content"},"sequence":{"description":"The sequence containing graft content","$ref":"./sequence_structure.json"},"preview_text":{"description":"An optional field to provide some kind of printable label for a graft","type":"string"},"new":{"type":"boolean","description":"If present and true, is interpreted as a request for the server to create a new graft"},"content":{"type":"array","description":"Nested content within the content element","items":{"oneOf":[{"type":"string"},{"$ref":"./contentElement_structure.json"}]}},"meta_content":{"type":"array","description":"Non-Scripture content related to the content element, such as checking data or related resources","items":{"oneOf":[{"type":"string"},{"$ref":"./contentElement_structure.json"}]}},"hooks":{"type":"array","$ref":"./hook_structure.json"}},"required":["type"],"additionalProperties":false}')},5338:e=>{"use strict";e.exports=JSON.parse('{"$comment":"version 0.1.0","$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/document_structure.json","title":"Document (Structure)","description":"A document, typically corresponding to a single USFM or USX book","type":"object","properties":{"schema":{"type":"object","properties":{"structure":{"description":"The basic \'shape\' of the content","type":"string","enum":["flat","nested"]},"structure_version":{"description":"the semantic version of the structure schema","type":"string"},"constraints":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","enum":["perf","sofria"]},"version":{"description":"the semantic version of the constraint schema","type":"string"}},"additionalProperties":false,"required":["name","version"]}}},"required":["structure","structure_version","constraints"],"additionalProperties":false},"metadata":{"description":"Metadata describing the document and the translation it belongs to","type":"object","properties":{"translation":{"type":"object","description":"Metadata concerning the translation to which the document belongs","properties":{"tags":{"description":"Tags attached to the translation","type":"array","items":{"type":"string"}},"properties":{"type":"object","description":"Key/value properties attached to the translation","additionalProperties":{"type":"string"}},"selectors":{"type":"object","description":"Proskomma selectors for the translation that, together, provide a primary key in the translation store","additionalProperties":{"type":"string"}}},"additionalProperties":{"type":"string"},"required":["id"]},"document":{"type":"object","description":"Metadata concerning the document itself","properties":{"tags":{"type":"array","description":"Tags attached to the document","items":{"type":"string"}},"properties":{"type":"object","description":"Key/value properties attached to the document","additionalProperties":{"type":"string"}},"chapters":{"type":"string","pattern":"^[1-9][0-9]*(-[1-9][0-9]*)?$"}},"additionalProperties":{"type":"string"}}},"additionalProperties":false},"hooks":{"type":"array","$ref":"./hook_structure.json"},"sequences":{"type":"object","propertyNames":{"pattern":"^\\\\S+$"},"additionalProperties":{"$ref":"./sequence_structure.json"}},"sequence":{"$ref":"./sequence_structure.json"},"main_sequence_id":{"type":"string"}},"required":["schema","metadata"],"additionalProperties":false,"if":{"properties":{"schema":{"type":"object","properties":{"structure":{"enum":["flat"]}}}}},"then":{"required":["sequences","main_sequence_id"],"not":{"required":["sequence"]}},"else":{"required":["sequence"],"allOf":[{"not":{"required":["sequences"]}},{"not":{"required":["main_sequence_id"]}}]}}')},4252:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/hook_structure.json","title":"Hook (Structure)","description":"Hooks, ie typed labels that may be used to link documents","type":"array","items":{"type":"array","items":[{"type":"string","oneOf":[{"enum":["bcv_ref","book_ref"]},{"pattern":"^x-(app|publisher)-[a-z][a-z0-9]+-\\\\S{2,256}$"},{"pattern":"^x-local-\\\\S{2,256}$"}]},{"type":"string","oneOf":[{"enum":["label"]},{"pattern":"^\\\\w{1,255}$"}]}],"minItems":2,"maxItems":2}}')},2944:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/sequence_structure.json","title":"Sequence (Structure)","description":"A sequence contains a \'flow\' of one or more blocks","type":"object","properties":{"type":{"description":"The type of sequence","type":"string"},"preview_text":{"description":"An optional field to provide some kind of printable label","type":"string"},"blocks":{"type":"array","description":"The blocks that, together, represent the \'flow\' of the sequence","items":{"$ref":"./block_structure.json"}},"hooks":{"type":"array","$ref":"./hook_structure.json"}},"required":["type"],"additionalProperties":false}')},6138:e=>{"use strict";e.exports=JSON.parse('{"title":"Root","type":"object","description":"Root Element","definitions":{"base64String":{"type":"string","pattern":"^[A-Za-z0-9/+=]*$"},"tagString":{"type":"string","pattern":"^[a-z][a-z0-9]*(:.+)?$"}},"properties":{"id":{"type":"string"},"metadata":{"type":"object","properties":{"selectors":{"type":"object","additionalProperties":{"type":"string"}}},"required":["selectors"],"additionalProperties":false},"tags":{"type":"array","items":{"type":"string","$ref":"#/definitions/tagString"}},"enums":{"type":"object","properties":{"ids":{"$ref":"#/definitions/base64String"},"wordLike":{"$ref":"#/definitions/base64String"},"notWordLike":{"$ref":"#/definitions/base64String"},"scopeBits":{"$ref":"#/definitions/base64String"},"graftTypes":{"$ref":"#/definitions/base64String"}},"required":["ids","wordLike","notWordLike","scopeBits","graftTypes"],"additionalProperties":false},"docs":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"sequences":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string"},"blocks":{"type":"array","items":{"type":"object","properties":{"bs":{"type":"string"},"bg":{"type":"string"},"c":{"type":"string"},"is":{"type":"string"},"os":{"type":"string"},"nt":{"type":"string"}},"required":["bs","bg","c","is","os","nt"],"additionalProperties":false}},"tags":{"type":"array","items":{"type":"string","$ref":"#/definitions/tagString"}},"chapters":{"type":"object","additionalProperties":{"type":"string"}},"chapterVerses":{"type":"object","additionalProperties":{"type":"string"}},"tokensPresent":{"type":"string"}},"required":["blocks","tags"],"additionalProperties":false}},"headers":{"type":"object","additionalProperties":{"type":"string"}},"mainId":{"type":"string"},"tags":{"type":"array","items":{"type":"string","$ref":"#/definitions/tagString"}}},"required":["sequences","headers","mainId","tags"],"additionalProperties":false}},"additionalProperties":false},"required":["id","enums","docs","tags"],"additionalProperties":false}')},8078:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON AnySchema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},2204:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')}},t={};function n(r){var s=t[r];if(void 0!==s)return s.exports;var o=t[r]={exports:{}};return e[r].call(o.exports,o,o.exports,n),o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{"use strict";n.r(r),n.d(r,{Proskomma:()=>Zd,blocksSpecUtils:()=>d,lexingRegexes:()=>Xi,resolvers:()=>Gd,tree2nodes:()=>Yd,typeDefs:()=>Bd,utils:()=>vi});var e={};n.r(e),n.d(e,{enumRegexIndexTuples:()=>Sa,enumStringIndex:()=>ma});var t={};n.r(t),n.d(t,{tokenCategory:()=>Pa,tokenEnum:()=>wa,tokenEnumLabels:()=>ka});var s={};n.r(s),n.d(s,{labelForScope:()=>_a,nComponentsForScope:()=>xa,scopeEnum:()=>Na,scopeEnumLabels:()=>Oa});var o={};n.r(o),n.d(o,{itemArray2Object:()=>Ra,itemArrays2Objects:()=>ja,itemEnum:()=>Da,itemEnumLabels:()=>$a,itemObject2Array:()=>qa,itemObjects2Arrays:()=>Ma});var a={};n.r(a),n.d(a,{enumIndex:()=>Ha,enumIndexes:()=>Ja,headerBytes:()=>Ga,pushSuccinctGraftBytes:()=>Ya,pushSuccinctScopeBytes:()=>za,pushSuccinctTokenBytes:()=>Xa,succinctGraftName:()=>Va,succinctGraftSeqId:()=>Ua,succinctScopeLabel:()=>Fa,succinctTokenChars:()=>La,unpackEnum:()=>Ka});var i={};n.r(i),n.d(i,{addTag:()=>oi,removeTag:()=>ai,validateTag:()=>si,validateTags:()=>ri});var u={};n.r(u),n.d(u,{bookCodeIndex:()=>ci,bookCodes:()=>ui,mapVerse:()=>yi,preSuccinctVerseMapping:()=>pi,reverseVersification:()=>li,succinctifyVerseMapping:()=>hi,succinctifyVerseMappings:()=>fi,unsuccinctifyVerseMapping:()=>Si,vrs2json:()=>di});var c={};n.r(c),n.d(c,{ByteArray:()=>ia,canons:()=>ha,enums:()=>ya,generateId:()=>Aa,graftDefs:()=>Ta,inspect:()=>ei,itemDefs:()=>Ba,parserConstants:()=>ti,proskommaSerialized:()=>ni,scopeDefs:()=>Ca,succinct:()=>Za,tags:()=>ii,tokenDefs:()=>Ia,versification:()=>gi});var d={};n.r(d),n.d(d,{blocksSpec2Query:()=>Wd,object2Query:()=>Hd,oneObject2Query:()=>Kd,tokenizeString:()=>gu,treeToInputBlock:()=>Ud,tsvHeadingTags:()=>Vd,tsvToInputBlock:()=>Fd});var l=n(3528);function p(e,t){if(!Boolean(e))throw new Error(t)}function f(e){return h(e,[])}function h(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return function(e,t){if(null===e)return"null";if(t.includes(e))return"[Circular]";const n=[...t,e];if(function(e){return"function"==typeof e.toJSON}(e)){const t=e.toJSON();if(t!==e)return"string"==typeof t?t:h(t,n)}else if(Array.isArray(e))return function(e,t){if(0===e.length)return"[]";if(t.length>2)return"[Array]";const n=Math.min(10,e.length),r=e.length-n,s=[];for(let r=0;r<n;++r)s.push(h(e[r],t));return 1===r?s.push("... 1 more item"):r>1&&s.push(`... ${r} more items`),"["+s.join(", ")+"]"}(e,n);return function(e,t){const n=Object.entries(e);if(0===n.length)return"{}";if(t.length>2)return"["+function(e){const t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if("Object"===t&&"function"==typeof e.constructor){const t=e.constructor.name;if("string"==typeof t&&""!==t)return t}return t}(e)+"]";const r=n.map((([e,n])=>e+": "+h(n,t)));return"{ "+r.join(", ")+" }"}(e,n)}(e,t);default:return String(e)}}const m=function(e,t){return e instanceof t};function S(e){return"object"==typeof e&&null!==e}function y(e){if(null==e)return Object.create(null);if(null===Object.getPrototypeOf(e))return e;const t=Object.create(null);for(const[n,r]of Object.entries(e))t[n]=r;return t}class g{constructor(e,t,n){this.start=e.start,this.end=t.end,this.startToken=e,this.endToken=t,this.source=n}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}}class v{constructor(e,t,n,r,s,o){this.kind=e,this.start=t,this.end=n,this.line=r,this.column=s,this.value=o,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}}const b={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},E=new Set(Object.keys(b));function A(e){const t=null==e?void 0:e.kind;return"string"==typeof t&&E.has(t)}var T;function w(e,t){const[n,r]=t?[e,t]:[void 0,e];let s=" Did you mean ";n&&(s+=n+" ");const o=r.map((e=>`"${e}"`));switch(o.length){case 0:return"";case 1:return s+o[0]+"?";case 2:return s+o[0]+" or "+o[1]+"?"}const a=o.slice(0,5),i=a.pop();return s+a.join(", ")+", or "+i+"?"}function k(e){return e}function P(e,t){const n=Object.create(null);for(const r of e)n[t(r)]=r;return n}function I(e,t,n){const r=Object.create(null);for(const s of e)r[t(s)]=n(s);return r}function N(e,t){const n=Object.create(null);for(const r of Object.keys(e))n[r]=t(e[r],r);return n}function O(e,t){let n=0,r=0;for(;n<e.length&&r<t.length;){let s=e.charCodeAt(n),o=t.charCodeAt(r);if(x(s)&&x(o)){let a=0;do{++n,a=10*a+s-_,s=e.charCodeAt(n)}while(x(s)&&a>0);let i=0;do{++r,i=10*i+o-_,o=t.charCodeAt(r)}while(x(o)&&i>0);if(a<i)return-1;if(a>i)return 1}else{if(s<o)return-1;if(s>o)return 1;++n,++r}}return e.length-t.length}!function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"}(T||(T={}));const _=48;function x(e){return!isNaN(e)&&_<=e&&e<=57}function C(e,t){const n=Object.create(null),r=new D(e),s=Math.floor(.4*e.length)+1;for(const e of t){const t=r.measure(e,s);void 0!==t&&(n[e]=t)}return Object.keys(n).sort(((e,t)=>{const r=n[e]-n[t];return 0!==r?r:O(e,t)}))}class D{constructor(e){this._input=e,this._inputLowerCase=e.toLowerCase(),this._inputArray=$(this._inputLowerCase),this._rows=[new Array(e.length+1).fill(0),new Array(e.length+1).fill(0),new Array(e.length+1).fill(0)]}measure(e,t){if(this._input===e)return 0;const n=e.toLowerCase();if(this._inputLowerCase===n)return 1;let r=$(n),s=this._inputArray;if(r.length<s.length){const e=r;r=s,s=e}const o=r.length,a=s.length;if(o-a>t)return;const i=this._rows;for(let e=0;e<=a;e++)i[0][e]=e;for(let e=1;e<=o;e++){const n=i[(e-1)%3],o=i[e%3];let u=o[0]=e;for(let t=1;t<=a;t++){const a=r[e-1]===s[t-1]?0:1;let c=Math.min(n[t]+1,o[t-1]+1,n[t-1]+a);if(e>1&&t>1&&r[e-1]===s[t-2]&&r[e-2]===s[t-1]){const n=i[(e-2)%3][t-2];c=Math.min(c,n+1)}c<u&&(u=c),o[t]=c}if(u>t)return}const u=i[o%3][a];return u<=t?u:void 0}}function $(e){const t=e.length,n=new Array(t);for(let r=0;r<t;++r)n[r]=e.charCodeAt(r);return n}function R(e,t){if(!Boolean(e))throw new Error(null!=t?t:"Unexpected invariant triggered.")}const q=/\r\n|[\n\r]/g;function j(e,t){let n=0,r=1;for(const s of e.body.matchAll(q)){if("number"==typeof s.index||R(!1),s.index>=t)break;n=s.index+s[0].length,r+=1}return{line:r,column:t+1-n}}function M(e,t){const n=e.locationOffset.column-1,r="".padStart(n)+e.body,s=t.line-1,o=e.locationOffset.line-1,a=t.line+o,i=1===t.line?n:0,u=t.column+i,c=`${e.name}:${a}:${u}\n`,d=r.split(/\r\n|[\n\r]/g),l=d[s];if(l.length>120){const e=Math.floor(u/80),t=u%80,n=[];for(let e=0;e<l.length;e+=80)n.push(l.slice(e,e+80));return c+B([[`${a} |`,n[0]],...n.slice(1,e+1).map((e=>["|",e])),["|","^".padStart(t)],["|",n[e+1]]])}return c+B([[a-1+" |",d[s-1]],[`${a} |`,l],["|","^".padStart(u)],[`${a+1} |`,d[s+1]]])}function B(e){const t=e.filter((([e,t])=>void 0!==t)),n=Math.max(...t.map((([e])=>e.length)));return t.map((([e,t])=>e.padStart(n)+(t?" "+t:""))).join("\n")}class G extends Error{constructor(e,...t){var n,r,s;const{nodes:o,source:a,positions:i,path:u,originalError:c,extensions:d}=function(e){const t=e[0];return null==t||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}(t);super(e),this.name="GraphQLError",this.path=null!=u?u:void 0,this.originalError=null!=c?c:void 0,this.nodes=L(Array.isArray(o)?o:o?[o]:void 0);const l=L(null===(n=this.nodes)||void 0===n?void 0:n.map((e=>e.loc)).filter((e=>null!=e)));this.source=null!=a?a:null==l||null===(r=l[0])||void 0===r?void 0:r.source,this.positions=null!=i?i:null==l?void 0:l.map((e=>e.start)),this.locations=i&&a?i.map((e=>j(a,e))):null==l?void 0:l.map((e=>j(e.source,e.start)));const p=S(null==c?void 0:c.extensions)?null==c?void 0:c.extensions:void 0;this.extensions=null!==(s=null!=d?d:p)&&void 0!==s?s:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),null!=c&&c.stack?Object.defineProperty(this,"stack",{value:c.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,G):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let e=this.message;if(this.nodes)for(const n of this.nodes)n.loc&&(e+="\n\n"+M((t=n.loc).source,j(t.source,t.start)));else if(this.source&&this.locations)for(const t of this.locations)e+="\n\n"+M(this.source,t);var t;return e}toJSON(){const e={message:this.message};return null!=this.locations&&(e.locations=this.locations),null!=this.path&&(e.path=this.path),null!=this.extensions&&Object.keys(this.extensions).length>0&&(e.extensions=this.extensions),e}}function L(e){return void 0===e||0===e.length?void 0:e}var F,V;function U(e){return 9===e||32===e}function J(e){return e>=48&&e<=57}function H(e){return e>=97&&e<=122||e>=65&&e<=90}function K(e){return H(e)||95===e}function W(e){return H(e)||J(e)||95===e}function X(e){var t;let n=Number.MAX_SAFE_INTEGER,r=null,s=-1;for(let t=0;t<e.length;++t){var o;const a=e[t],i=Y(a);i!==a.length&&(r=null!==(o=r)&&void 0!==o?o:t,s=t,0!==t&&i<n&&(n=i))}return e.map(((e,t)=>0===t?e:e.slice(n))).slice(null!==(t=r)&&void 0!==t?t:0,s+1)}function Y(e){let t=0;for(;t<e.length&&U(e.charCodeAt(t));)++t;return t}(V=F||(F={})).NAME="Name",V.DOCUMENT="Document",V.OPERATION_DEFINITION="OperationDefinition",V.VARIABLE_DEFINITION="VariableDefinition",V.SELECTION_SET="SelectionSet",V.FIELD="Field",V.ARGUMENT="Argument",V.FRAGMENT_SPREAD="FragmentSpread",V.INLINE_FRAGMENT="InlineFragment",V.FRAGMENT_DEFINITION="FragmentDefinition",V.VARIABLE="Variable",V.INT="IntValue",V.FLOAT="FloatValue",V.STRING="StringValue",V.BOOLEAN="BooleanValue",V.NULL="NullValue",V.ENUM="EnumValue",V.LIST="ListValue",V.OBJECT="ObjectValue",V.OBJECT_FIELD="ObjectField",V.DIRECTIVE="Directive",V.NAMED_TYPE="NamedType",V.LIST_TYPE="ListType",V.NON_NULL_TYPE="NonNullType",V.SCHEMA_DEFINITION="SchemaDefinition",V.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",V.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",V.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",V.FIELD_DEFINITION="FieldDefinition",V.INPUT_VALUE_DEFINITION="InputValueDefinition",V.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",V.UNION_TYPE_DEFINITION="UnionTypeDefinition",V.ENUM_TYPE_DEFINITION="EnumTypeDefinition",V.ENUM_VALUE_DEFINITION="EnumValueDefinition",V.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",V.DIRECTIVE_DEFINITION="DirectiveDefinition",V.SCHEMA_EXTENSION="SchemaExtension",V.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",V.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",V.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",V.UNION_TYPE_EXTENSION="UnionTypeExtension",V.ENUM_TYPE_EXTENSION="EnumTypeExtension",V.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension";const z=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function Z(e){return Q[e.charCodeAt(0)]}const Q=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"],ee=Object.freeze({});function te(e,t,n=b){const r=new Map;for(const e of Object.values(F))r.set(e,re(t,e));let s,o,a,i=Array.isArray(e),u=[e],c=-1,d=[],l=e;const h=[],m=[];do{c++;const e=c===u.length,v=e&&0!==d.length;if(e){if(o=0===m.length?void 0:h[h.length-1],l=a,a=m.pop(),v)if(i){l=l.slice();let e=0;for(const[t,n]of d){const r=t-e;null===n?(l.splice(r,1),e++):l[r]=n}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(const[e,t]of d)l[e]=t}c=s.index,u=s.keys,d=s.edits,i=s.inArray,s=s.prev}else if(a){if(o=i?c:u[c],l=a[o],null==l)continue;h.push(o)}let b;if(!Array.isArray(l)){var S,y;A(l)||p(!1,`Invalid AST Node: ${f(l)}.`);const n=e?null===(S=r.get(l.kind))||void 0===S?void 0:S.leave:null===(y=r.get(l.kind))||void 0===y?void 0:y.enter;if(b=null==n?void 0:n.call(t,l,o,a,h,m),b===ee)break;if(!1===b){if(!e){h.pop();continue}}else if(void 0!==b&&(d.push([o,b]),!e)){if(!A(b)){h.pop();continue}l=b}}var g;void 0===b&&v&&d.push([o,l]),e?h.pop():(s={inArray:i,index:c,keys:u,edits:d,prev:s},i=Array.isArray(l),u=i?l:null!==(g=n[l.kind])&&void 0!==g?g:[],c=-1,d=[],a&&m.push(a),a=l)}while(void 0!==s);return 0!==d.length?d[d.length-1][1]:e}function ne(e){const t=new Array(e.length).fill(null),n=Object.create(null);for(const r of Object.values(F)){let s=!1;const o=new Array(e.length).fill(void 0),a=new Array(e.length).fill(void 0);for(let t=0;t<e.length;++t){const{enter:n,leave:i}=re(e[t],r);s||(s=null!=n||null!=i),o[t]=n,a[t]=i}if(!s)continue;const i={enter(...n){const r=n[0];for(let a=0;a<e.length;a++)if(null===t[a]){var s;const i=null===(s=o[a])||void 0===s?void 0:s.apply(e[a],n);if(!1===i)t[a]=r;else if(i===ee)t[a]=ee;else if(void 0!==i)return i}},leave(...n){const r=n[0];for(let o=0;o<e.length;o++)if(null===t[o]){var s;const r=null===(s=a[o])||void 0===s?void 0:s.apply(e[o],n);if(r===ee)t[o]=ee;else if(void 0!==r&&!1!==r)return r}else t[o]===r&&(t[o]=null)}};n[r]=i}return n}function re(e,t){const n=e[t];return"object"==typeof n?n:"function"==typeof n?{enter:n,leave:void 0}:{enter:e.enter,leave:e.leave}}function se(e){return te(e,oe)}const oe={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>ae(e.definitions,"\n\n")},OperationDefinition:{leave(e){const t=ue("(",ae(e.variableDefinitions,", "),")"),n=ae([e.operation,ae([e.name,t]),ae(e.directives," ")]," ");return("query"===n?"":n+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:n,directives:r})=>e+": "+t+ue(" = ",n)+ue(" ",ae(r," "))},SelectionSet:{leave:({selections:e})=>ie(e)},Field:{leave({alias:e,name:t,arguments:n,directives:r,selectionSet:s}){const o=ue("",e,": ")+t;let a=o+ue("(",ae(n,", "),")");return a.length>80&&(a=o+ue("(\n",ce(ae(n,"\n")),"\n)")),ae([a,ae(r," "),s]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+ue(" ",ae(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:n})=>ae(["...",ue("on ",e),ae(t," "),n]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:n,directives:r,selectionSet:s})=>`fragment ${e}${ue("(",ae(n,", "),")")} on ${t} ${ue("",ae(r," ")," ")}`+s},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?function(e,t){const n=e.replace(/"""/g,'\\"""'),r=n.split(/\r\n|[\n\r]/g),s=1===r.length,o=r.length>1&&r.slice(1).every((e=>0===e.length||U(e.charCodeAt(0)))),a=n.endsWith('\\"""'),i=e.endsWith('"')&&!a,u=e.endsWith("\\"),c=i||u,d=!s||e.length>70||c||o||a;let l="";const p=s&&U(e.charCodeAt(0));return(d&&!p||o)&&(l+="\n"),l+=n,(d||c)&&(l+="\n"),'"""'+l+'"""'}(e):`"${e.replace(z,Z)}"`},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+ae(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+ae(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+ue("(",ae(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:n})=>ue("",e,"\n")+ae(["schema",ae(t," "),ie(n)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:n})=>ue("",e,"\n")+ae(["scalar",t,ae(n," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:n,directives:r,fields:s})=>ue("",e,"\n")+ae(["type",t,ue("implements ",ae(n," & ")),ae(r," "),ie(s)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:n,type:r,directives:s})=>ue("",e,"\n")+t+(de(n)?ue("(\n",ce(ae(n,"\n")),"\n)"):ue("(",ae(n,", "),")"))+": "+r+ue(" ",ae(s," "))},InputValueDefinition:{leave:({description:e,name:t,type:n,defaultValue:r,directives:s})=>ue("",e,"\n")+ae([t+": "+n,ue("= ",r),ae(s," ")]," ")},InterfaceTypeDefinition:{leave:({description:e,name:t,interfaces:n,directives:r,fields:s})=>ue("",e,"\n")+ae(["interface",t,ue("implements ",ae(n," & ")),ae(r," "),ie(s)]," ")},UnionTypeDefinition:{leave:({description:e,name:t,directives:n,types:r})=>ue("",e,"\n")+ae(["union",t,ae(n," "),ue("= ",ae(r," | "))]," ")},EnumTypeDefinition:{leave:({description:e,name:t,directives:n,values:r})=>ue("",e,"\n")+ae(["enum",t,ae(n," "),ie(r)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:n})=>ue("",e,"\n")+ae([t,ae(n," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:n,fields:r})=>ue("",e,"\n")+ae(["input",t,ae(n," "),ie(r)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:n,repeatable:r,locations:s})=>ue("",e,"\n")+"directive @"+t+(de(n)?ue("(\n",ce(ae(n,"\n")),"\n)"):ue("(",ae(n,", "),")"))+(r?" repeatable":"")+" on "+ae(s," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>ae(["extend schema",ae(e," "),ie(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>ae(["extend scalar",e,ae(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>ae(["extend type",e,ue("implements ",ae(t," & ")),ae(n," "),ie(r)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>ae(["extend interface",e,ue("implements ",ae(t," & ")),ae(n," "),ie(r)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:n})=>ae(["extend union",e,ae(t," "),ue("= ",ae(n," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:n})=>ae(["extend enum",e,ae(t," "),ie(n)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:n})=>ae(["extend input",e,ae(t," "),ie(n)]," ")}};function ae(e,t=""){var n;return null!==(n=null==e?void 0:e.filter((e=>e)).join(t))&&void 0!==n?n:""}function ie(e){return ue("{\n",ce(ae(e,"\n")),"\n}")}function ue(e,t,n=""){return null!=t&&""!==t?e+t+n:""}function ce(e){return ue(" ",e.replace(/\n/g,"\n "))}function de(e){var t;return null!==(t=null==e?void 0:e.some((e=>e.includes("\n"))))&&void 0!==t&&t}function le(e,t){switch(e.kind){case F.NULL:return null;case F.INT:return parseInt(e.value,10);case F.FLOAT:return parseFloat(e.value);case F.STRING:case F.ENUM:case F.BOOLEAN:return e.value;case F.LIST:return e.values.map((e=>le(e,t)));case F.OBJECT:return I(e.fields,(e=>e.name.value),(e=>le(e.value,t)));case F.VARIABLE:return null==t?void 0:t[e.name.value]}}function pe(e){if(null!=e||p(!1,"Must provide name."),"string"==typeof e||p(!1,"Expected name to be a string."),0===e.length)throw new G("Expected name to be a non-empty string.");for(let t=1;t<e.length;++t)if(!W(e.charCodeAt(t)))throw new G(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!K(e.charCodeAt(0)))throw new G(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}function fe(e){if("true"===e||"false"===e||"null"===e)throw new G(`Enum values cannot be named: ${e}`);return pe(e)}function he(e){return me(e)||Se(e)||ye(e)||ge(e)||ve(e)||be(e)||Ee(e)||Ae(e)}function me(e){return m(e,qe)}function Se(e){return m(e,je)}function ye(e){return m(e,Je)}function ge(e){return m(e,He)}function ve(e){return m(e,We)}function be(e){return m(e,Ye)}function Ee(e){return m(e,Ne)}function Ae(e){return m(e,Oe)}function Te(e){return me(e)||ve(e)||be(e)||_e(e)&&Te(e.ofType)}function we(e){return me(e)||Se(e)||ye(e)||ge(e)||ve(e)||_e(e)&&we(e.ofType)}function ke(e){return me(e)||ve(e)}function Pe(e){return Se(e)||ye(e)||ge(e)}function Ie(e){return ye(e)||ge(e)}class Ne{constructor(e){he(e)||p(!1,`Expected ${f(e)} to be a GraphQL type.`),this.ofType=e}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}}class Oe{constructor(e){var t;he(t=e)&&!Ae(t)||p(!1,`Expected ${f(e)} to be a GraphQL nullable type.`),this.ofType=e}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}}function _e(e){return Ee(e)||Ae(e)}function xe(e){if(e)return Ae(e)?e.ofType:e}function Ce(e){return me(e)||Se(e)||ye(e)||ge(e)||ve(e)||be(e)}function De(e){if(e){let t=e;for(;_e(t);)t=t.ofType;return t}}function $e(e){return"function"==typeof e?e():e}function Re(e){return"function"==typeof e?e():e}class qe{constructor(e){var t,n,r,s;const o=null!==(t=e.parseValue)&&void 0!==t?t:k;this.name=pe(e.name),this.description=e.description,this.specifiedByURL=e.specifiedByURL,this.serialize=null!==(n=e.serialize)&&void 0!==n?n:k,this.parseValue=o,this.parseLiteral=null!==(r=e.parseLiteral)&&void 0!==r?r:(e,t)=>o(le(e,t)),this.extensions=y(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=null!==(s=e.extensionASTNodes)&&void 0!==s?s:[],null==e.specifiedByURL||"string"==typeof e.specifiedByURL||p(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${f(e.specifiedByURL)}.`),null==e.serialize||"function"==typeof e.serialize||p(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),e.parseLiteral&&("function"==typeof e.parseValue&&"function"==typeof e.parseLiteral||p(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}class je{constructor(e){var t;this.name=pe(e.name),this.description=e.description,this.isTypeOf=e.isTypeOf,this.extensions=y(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=null!==(t=e.extensionASTNodes)&&void 0!==t?t:[],this._fields=()=>Be(e),this._interfaces=()=>Me(e),null==e.isTypeOf||"function"==typeof e.isTypeOf||p(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${f(e.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields}getInterfaces(){return"function"==typeof this._interfaces&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:Fe(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function Me(e){var t;const n=$e(null!==(t=e.interfaces)&&void 0!==t?t:[]);return Array.isArray(n)||p(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),n}function Be(e){const t=Re(e.fields);return Le(t)||p(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),N(t,((t,n)=>{var r;Le(t)||p(!1,`${e.name}.${n} field config must be an object.`),null==t.resolve||"function"==typeof t.resolve||p(!1,`${e.name}.${n} field resolver must be a function if provided, but got: ${f(t.resolve)}.`);const s=null!==(r=t.args)&&void 0!==r?r:{};return Le(s)||p(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:pe(n),description:t.description,type:t.type,args:Ge(s),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:y(t.extensions),astNode:t.astNode}}))}function Ge(e){return Object.entries(e).map((([e,t])=>({name:pe(e),description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:y(t.extensions),astNode:t.astNode})))}function Le(e){return S(e)&&!Array.isArray(e)}function Fe(e){return N(e,(e=>({description:e.description,type:e.type,args:Ve(e.args),resolve:e.resolve,subscribe:e.subscribe,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode})))}function Ve(e){return I(e,(e=>e.name),(e=>({description:e.description,type:e.type,defaultValue:e.defaultValue,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode})))}function Ue(e){return Ae(e.type)&&void 0===e.defaultValue}class Je{constructor(e){var t;this.name=pe(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=y(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=null!==(t=e.extensionASTNodes)&&void 0!==t?t:[],this._fields=Be.bind(void 0,e),this._interfaces=Me.bind(void 0,e),null==e.resolveType||"function"==typeof e.resolveType||p(!1,`${this.name} must provide "resolveType" as a function, but got: ${f(e.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields}getInterfaces(){return"function"==typeof this._interfaces&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:Fe(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}class He{constructor(e){var t;this.name=pe(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=y(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=null!==(t=e.extensionASTNodes)&&void 0!==t?t:[],this._types=Ke.bind(void 0,e),null==e.resolveType||"function"==typeof e.resolveType||p(!1,`${this.name} must provide "resolveType" as a function, but got: ${f(e.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return"function"==typeof this._types&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function Ke(e){const t=$e(e.types);return Array.isArray(t)||p(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}class We{constructor(e){var t,n,r;this.name=pe(e.name),this.description=e.description,this.extensions=y(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=null!==(t=e.extensionASTNodes)&&void 0!==t?t:[],this._values=(n=this.name,Le(r=e.values)||p(!1,`${n} values must be an object with value names as keys.`),Object.entries(r).map((([e,t])=>(Le(t)||p(!1,`${n}.${e} must refer to an object with a "value" key representing an internal value but got: ${f(t)}.`),{name:fe(e),description:t.description,value:void 0!==t.value?t.value:e,deprecationReason:t.deprecationReason,extensions:y(t.extensions),astNode:t.astNode})))),this._valueLookup=new Map(this._values.map((e=>[e.value,e]))),this._nameLookup=P(this._values,(e=>e.name))}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(e){return this._nameLookup[e]}serialize(e){const t=this._valueLookup.get(e);if(void 0===t)throw new G(`Enum "${this.name}" cannot represent value: ${f(e)}`);return t.name}parseValue(e){if("string"!=typeof e){const t=f(e);throw new G(`Enum "${this.name}" cannot represent non-string value: ${t}.`+Xe(this,t))}const t=this.getValue(e);if(null==t)throw new G(`Value "${e}" does not exist in "${this.name}" enum.`+Xe(this,e));return t.value}parseLiteral(e,t){if(e.kind!==F.ENUM){const t=se(e);throw new G(`Enum "${this.name}" cannot represent non-enum value: ${t}.`+Xe(this,t),{nodes:e})}const n=this.getValue(e.value);if(null==n){const t=se(e);throw new G(`Value "${t}" does not exist in "${this.name}" enum.`+Xe(this,t),{nodes:e})}return n.value}toConfig(){const e=I(this.getValues(),(e=>e.name),(e=>({description:e.description,value:e.value,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode})));return{name:this.name,description:this.description,values:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function Xe(e,t){return w("the enum value",C(t,e.getValues().map((e=>e.name))))}class Ye{constructor(e){var t;this.name=pe(e.name),this.description=e.description,this.extensions=y(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=null!==(t=e.extensionASTNodes)&&void 0!==t?t:[],this._fields=ze.bind(void 0,e)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields}toConfig(){const e=N(this.getFields(),(e=>({description:e.description,type:e.type,defaultValue:e.defaultValue,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode})));return{name:this.name,description:this.description,fields:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function ze(e){const t=Re(e.fields);return Le(t)||p(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),N(t,((t,n)=>(!("resolve"in t)||p(!1,`${e.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:pe(n),description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:y(t.extensions),astNode:t.astNode})))}function Ze(e){return Ae(e.type)&&void 0===e.defaultValue}var Qe;!function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"}(Qe||(Qe={}));const et=2147483647,tt=-2147483648,nt=new qe({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(e){const t=ct(e);if("boolean"==typeof t)return t?1:0;let n=t;if("string"==typeof t&&""!==t&&(n=Number(t)),"number"!=typeof n||!Number.isInteger(n))throw new G(`Int cannot represent non-integer value: ${f(t)}`);if(n>et||n<tt)throw new G("Int cannot represent non 32-bit signed integer value: "+f(t));return n},parseValue(e){if("number"!=typeof e||!Number.isInteger(e))throw new G(`Int cannot represent non-integer value: ${f(e)}`);if(e>et||e<tt)throw new G(`Int cannot represent non 32-bit signed integer value: ${e}`);return e},parseLiteral(e){if(e.kind!==F.INT)throw new G(`Int cannot represent non-integer value: ${se(e)}`,{nodes:e});const t=parseInt(e.value,10);if(t>et||t<tt)throw new G(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),rt=new qe({name:"Float",description:"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).",serialize(e){const t=ct(e);if("boolean"==typeof t)return t?1:0;let n=t;if("string"==typeof t&&""!==t&&(n=Number(t)),"number"!=typeof n||!Number.isFinite(n))throw new G(`Float cannot represent non numeric value: ${f(t)}`);return n},parseValue(e){if("number"!=typeof e||!Number.isFinite(e))throw new G(`Float cannot represent non numeric value: ${f(e)}`);return e},parseLiteral(e){if(e.kind!==F.FLOAT&&e.kind!==F.INT)throw new G(`Float cannot represent non numeric value: ${se(e)}`,e);return parseFloat(e.value)}}),st=new qe({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize(e){const t=ct(e);if("string"==typeof t)return t;if("boolean"==typeof t)return t?"true":"false";if("number"==typeof t&&Number.isFinite(t))return t.toString();throw new G(`String cannot represent value: ${f(e)}`)},parseValue(e){if("string"!=typeof e)throw new G(`String cannot represent a non string value: ${f(e)}`);return e},parseLiteral(e){if(e.kind!==F.STRING)throw new G(`String cannot represent a non string value: ${se(e)}`,{nodes:e});return e.value}}),ot=new qe({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(e){const t=ct(e);if("boolean"==typeof t)return t;if(Number.isFinite(t))return 0!==t;throw new G(`Boolean cannot represent a non boolean value: ${f(t)}`)},parseValue(e){if("boolean"!=typeof e)throw new G(`Boolean cannot represent a non boolean value: ${f(e)}`);return e},parseLiteral(e){if(e.kind!==F.BOOLEAN)throw new G(`Boolean cannot represent a non boolean value: ${se(e)}`,{nodes:e});return e.value}}),at=new qe({name:"ID",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.',serialize(e){const t=ct(e);if("string"==typeof t)return t;if(Number.isInteger(t))return String(t);throw new G(`ID cannot represent value: ${f(e)}`)},parseValue(e){if("string"==typeof e)return e;if("number"==typeof e&&Number.isInteger(e))return e.toString();throw new G(`ID cannot represent value: ${f(e)}`)},parseLiteral(e){if(e.kind!==F.STRING&&e.kind!==F.INT)throw new G("ID cannot represent a non-string and non-integer value: "+se(e),{nodes:e});return e.value}}),it=Object.freeze([st,nt,rt,ot,at]);function ut(e){return it.some((({name:t})=>e.name===t))}function ct(e){if(S(e)){if("function"==typeof e.valueOf){const t=e.valueOf();if(!S(t))return t}if("function"==typeof e.toJSON)return e.toJSON()}return e}function dt(e){return m(e,lt)}class lt{constructor(e){var t,n;this.name=pe(e.name),this.description=e.description,this.locations=e.locations,this.isRepeatable=null!==(t=e.isRepeatable)&&void 0!==t&&t,this.extensions=y(e.extensions),this.astNode=e.astNode,Array.isArray(e.locations)||p(!1,`@${e.name} locations must be an Array.`);const r=null!==(n=e.args)&&void 0!==n?n:{};S(r)&&!Array.isArray(r)||p(!1,`@${e.name} args must be an object with argument names as keys.`),this.args=Ge(r)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:Ve(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}}const pt=new lt({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[Qe.FIELD,Qe.FRAGMENT_SPREAD,Qe.INLINE_FRAGMENT],args:{if:{type:new Oe(ot),description:"Included when true."}}}),ft=new lt({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[Qe.FIELD,Qe.FRAGMENT_SPREAD,Qe.INLINE_FRAGMENT],args:{if:{type:new Oe(ot),description:"Skipped when true."}}}),ht=new lt({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[Qe.FIELD_DEFINITION,Qe.ARGUMENT_DEFINITION,Qe.INPUT_FIELD_DEFINITION,Qe.ENUM_VALUE],args:{reason:{type:st,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:"No longer supported"}}}),mt=new lt({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[Qe.SCALAR],args:{url:{type:new Oe(st),description:"The URL that specifies the behavior of this scalar."}}}),St=Object.freeze([pt,ft,ht,mt]);function yt(e){return St.some((({name:t})=>t===e.name))}function gt(e){return"object"==typeof e&&"function"==typeof(null==e?void 0:e[Symbol.iterator])}function vt(e,t){if(Ae(t)){const n=vt(e,t.ofType);return(null==n?void 0:n.kind)===F.NULL?null:n}if(null===e)return{kind:F.NULL};if(void 0===e)return null;if(Ee(t)){const n=t.ofType;if(gt(e)){const t=[];for(const r of e){const e=vt(r,n);null!=e&&t.push(e)}return{kind:F.LIST,values:t}}return vt(e,n)}if(be(t)){if(!S(e))return null;const n=[];for(const r of Object.values(t.getFields())){const t=vt(e[r.name],r.type);t&&n.push({kind:F.OBJECT_FIELD,name:{kind:F.NAME,value:r.name},value:t})}return{kind:F.OBJECT,fields:n}}if(ke(t)){const n=t.serialize(e);if(null==n)return null;if("boolean"==typeof n)return{kind:F.BOOLEAN,value:n};if("number"==typeof n&&Number.isFinite(n)){const e=String(n);return bt.test(e)?{kind:F.INT,value:e}:{kind:F.FLOAT,value:e}}if("string"==typeof n)return ve(t)?{kind:F.ENUM,value:n}:t===at&&bt.test(n)?{kind:F.INT,value:n}:{kind:F.STRING,value:n};throw new TypeError(`Cannot convert value to AST: ${f(n)}.`)}R(!1,"Unexpected input type: "+f(t))}const bt=/^-?(?:0|[1-9][0-9]*)$/,Et=new je({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:st,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new Oe(new Ne(new Oe(wt))),resolve:e=>Object.values(e.getTypeMap())},queryType:{description:"The type that query operations will be rooted at.",type:new Oe(wt),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:wt,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:wt,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new Oe(new Ne(new Oe(At))),resolve:e=>e.getDirectives()}})}),At=new je({name:"__Directive",description:"A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.",fields:()=>({name:{type:new Oe(st),resolve:e=>e.name},description:{type:st,resolve:e=>e.description},isRepeatable:{type:new Oe(ot),resolve:e=>e.isRepeatable},locations:{type:new Oe(new Ne(new Oe(Tt))),resolve:e=>e.locations},args:{type:new Oe(new Ne(new Oe(Pt))),args:{includeDeprecated:{type:ot,defaultValue:!1}},resolve:(e,{includeDeprecated:t})=>t?e.args:e.args.filter((e=>null==e.deprecationReason))}})}),Tt=new We({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:Qe.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:Qe.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:Qe.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:Qe.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:Qe.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:Qe.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:Qe.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:Qe.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:Qe.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:Qe.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:Qe.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:Qe.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:Qe.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:Qe.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:Qe.UNION,description:"Location adjacent to a union definition."},ENUM:{value:Qe.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:Qe.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:Qe.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:Qe.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),wt=new je({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new Oe(Ot),resolve:e=>me(e)?Nt.SCALAR:Se(e)?Nt.OBJECT:ye(e)?Nt.INTERFACE:ge(e)?Nt.UNION:ve(e)?Nt.ENUM:be(e)?Nt.INPUT_OBJECT:Ee(e)?Nt.LIST:Ae(e)?Nt.NON_NULL:void R(!1,`Unexpected type: "${f(e)}".`)},name:{type:st,resolve:e=>"name"in e?e.name:void 0},description:{type:st,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:st,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new Ne(new Oe(kt)),args:{includeDeprecated:{type:ot,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Se(e)||ye(e)){const n=Object.values(e.getFields());return t?n:n.filter((e=>null==e.deprecationReason))}}},interfaces:{type:new Ne(new Oe(wt)),resolve(e){if(Se(e)||ye(e))return e.getInterfaces()}},possibleTypes:{type:new Ne(new Oe(wt)),resolve(e,t,n,{schema:r}){if(Ie(e))return r.getPossibleTypes(e)}},enumValues:{type:new Ne(new Oe(It)),args:{includeDeprecated:{type:ot,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(ve(e)){const n=e.getValues();return t?n:n.filter((e=>null==e.deprecationReason))}}},inputFields:{type:new Ne(new Oe(Pt)),args:{includeDeprecated:{type:ot,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(be(e)){const n=Object.values(e.getFields());return t?n:n.filter((e=>null==e.deprecationReason))}}},ofType:{type:wt,resolve:e=>"ofType"in e?e.ofType:void 0}})}),kt=new je({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new Oe(st),resolve:e=>e.name},description:{type:st,resolve:e=>e.description},args:{type:new Oe(new Ne(new Oe(Pt))),args:{includeDeprecated:{type:ot,defaultValue:!1}},resolve:(e,{includeDeprecated:t})=>t?e.args:e.args.filter((e=>null==e.deprecationReason))},type:{type:new Oe(wt),resolve:e=>e.type},isDeprecated:{type:new Oe(ot),resolve:e=>null!=e.deprecationReason},deprecationReason:{type:st,resolve:e=>e.deprecationReason}})}),Pt=new je({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new Oe(st),resolve:e=>e.name},description:{type:st,resolve:e=>e.description},type:{type:new Oe(wt),resolve:e=>e.type},defaultValue:{type:st,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){const{type:t,defaultValue:n}=e,r=vt(n,t);return r?se(r):null}},isDeprecated:{type:new Oe(ot),resolve:e=>null!=e.deprecationReason},deprecationReason:{type:st,resolve:e=>e.deprecationReason}})}),It=new je({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new Oe(st),resolve:e=>e.name},description:{type:st,resolve:e=>e.description},isDeprecated:{type:new Oe(ot),resolve:e=>null!=e.deprecationReason},deprecationReason:{type:st,resolve:e=>e.deprecationReason}})});var Nt;!function(e){e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.INPUT_OBJECT="INPUT_OBJECT",e.LIST="LIST",e.NON_NULL="NON_NULL"}(Nt||(Nt={}));const Ot=new We({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:Nt.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:Nt.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:Nt.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:Nt.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:Nt.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:Nt.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:Nt.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:Nt.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),_t={name:"__schema",type:new Oe(Et),description:"Access the current type schema of this server.",args:[],resolve:(e,t,n,{schema:r})=>r,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},xt={name:"__type",type:wt,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new Oe(st),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},n,{schema:r})=>r.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Ct={name:"__typename",type:new Oe(st),description:"The name of the current Object type at runtime.",args:[],resolve:(e,t,n,{parentType:r})=>r.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Dt=Object.freeze([Et,At,Tt,wt,kt,Pt,It,Ot]);function $t(e){return Dt.some((({name:t})=>e.name===t))}function Rt(e){return m(e,qt)}class qt{constructor(e){var t,n;this.__validationErrors=!0===e.assumeValid?[]:void 0,S(e)||p(!1,"Must provide configuration object."),!e.types||Array.isArray(e.types)||p(!1,`"types" must be Array if provided but got: ${f(e.types)}.`),!e.directives||Array.isArray(e.directives)||p(!1,`"directives" must be Array if provided but got: ${f(e.directives)}.`),this.description=e.description,this.extensions=y(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=null!==(t=e.extensionASTNodes)&&void 0!==t?t:[],this._queryType=e.query,this._mutationType=e.mutation,this._subscriptionType=e.subscription,this._directives=null!==(n=e.directives)&&void 0!==n?n:St;const r=new Set(e.types);if(null!=e.types)for(const t of e.types)r.delete(t),jt(t,r);null!=this._queryType&&jt(this._queryType,r),null!=this._mutationType&&jt(this._mutationType,r),null!=this._subscriptionType&&jt(this._subscriptionType,r);for(const e of this._directives)if(dt(e))for(const t of e.args)jt(t.type,r);jt(Et,r),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(const e of r){if(null==e)continue;const t=e.name;if(t||p(!1,"One of the provided types for building the Schema is missing a name."),void 0!==this._typeMap[t])throw new Error(`Schema must contain uniquely named types but contains multiple types named "${t}".`);if(this._typeMap[t]=e,ye(e)){for(const t of e.getInterfaces())if(ye(t)){let n=this._implementationsMap[t.name];void 0===n&&(n=this._implementationsMap[t.name]={objects:[],interfaces:[]}),n.interfaces.push(e)}}else if(Se(e))for(const t of e.getInterfaces())if(ye(t)){let n=this._implementationsMap[t.name];void 0===n&&(n=this._implementationsMap[t.name]={objects:[],interfaces:[]}),n.objects.push(e)}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(e){switch(e){case T.QUERY:return this.getQueryType();case T.MUTATION:return this.getMutationType();case T.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(e){return this.getTypeMap()[e]}getPossibleTypes(e){return ge(e)?e.getTypes():this.getImplementations(e).objects}getImplementations(e){const t=this._implementationsMap[e.name];return null!=t?t:{objects:[],interfaces:[]}}isSubType(e,t){let n=this._subTypeMap[e.name];if(void 0===n){if(n=Object.create(null),ge(e))for(const t of e.getTypes())n[t.name]=!0;else{const t=this.getImplementations(e);for(const e of t.objects)n[e.name]=!0;for(const e of t.interfaces)n[e.name]=!0}this._subTypeMap[e.name]=n}return void 0!==n[t.name]}getDirectives(){return this._directives}getDirective(e){return this.getDirectives().find((t=>t.name===e))}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:void 0!==this.__validationErrors}}}function jt(e,t){const n=De(e);if(!t.has(n))if(t.add(n),ge(n))for(const e of n.getTypes())jt(e,t);else if(Se(n)||ye(n)){for(const e of n.getInterfaces())jt(e,t);for(const e of Object.values(n.getFields())){jt(e.type,t);for(const n of e.args)jt(n.type,t)}}else if(be(n))for(const e of Object.values(n.getFields()))jt(e.type,t);return t}function Mt(e,t,n){return new G(`Syntax Error: ${n}`,{source:e,positions:[t]})}var Bt,Gt;(Gt=Bt||(Bt={})).SOF="<SOF>",Gt.EOF="<EOF>",Gt.BANG="!",Gt.DOLLAR="$",Gt.AMP="&",Gt.PAREN_L="(",Gt.PAREN_R=")",Gt.SPREAD="...",Gt.COLON=":",Gt.EQUALS="=",Gt.AT="@",Gt.BRACKET_L="[",Gt.BRACKET_R="]",Gt.BRACE_L="{",Gt.PIPE="|",Gt.BRACE_R="}",Gt.NAME="Name",Gt.INT="Int",Gt.FLOAT="Float",Gt.STRING="String",Gt.BLOCK_STRING="BlockString",Gt.COMMENT="Comment";class Lt{constructor(e){const t=new v(Bt.SOF,0,0,0,0);this.source=e,this.lastToken=t,this.token=t,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let e=this.token;if(e.kind!==Bt.EOF)do{if(e.next)e=e.next;else{const t=Wt(this,e.end);e.next=t,t.prev=e,e=t}}while(e.kind===Bt.COMMENT);return e}}function Ft(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}function Vt(e,t){return Ut(e.charCodeAt(t))&&Jt(e.charCodeAt(t+1))}function Ut(e){return e>=55296&&e<=56319}function Jt(e){return e>=56320&&e<=57343}function Ht(e,t){const n=e.source.body.codePointAt(t);if(void 0===n)return Bt.EOF;if(n>=32&&n<=126){const e=String.fromCodePoint(n);return'"'===e?"'\"'":`"${e}"`}return"U+"+n.toString(16).toUpperCase().padStart(4,"0")}function Kt(e,t,n,r,s){const o=e.line,a=1+n-e.lineStart;return new v(t,n,r,o,a,s)}function Wt(e,t){const n=e.source.body,r=n.length;let s=t;for(;s<r;){const t=n.charCodeAt(s);switch(t){case 65279:case 9:case 32:case 44:++s;continue;case 10:++s,++e.line,e.lineStart=s;continue;case 13:10===n.charCodeAt(s+1)?s+=2:++s,++e.line,e.lineStart=s;continue;case 35:return Xt(e,s);case 33:return Kt(e,Bt.BANG,s,s+1);case 36:return Kt(e,Bt.DOLLAR,s,s+1);case 38:return Kt(e,Bt.AMP,s,s+1);case 40:return Kt(e,Bt.PAREN_L,s,s+1);case 41:return Kt(e,Bt.PAREN_R,s,s+1);case 46:if(46===n.charCodeAt(s+1)&&46===n.charCodeAt(s+2))return Kt(e,Bt.SPREAD,s,s+3);break;case 58:return Kt(e,Bt.COLON,s,s+1);case 61:return Kt(e,Bt.EQUALS,s,s+1);case 64:return Kt(e,Bt.AT,s,s+1);case 91:return Kt(e,Bt.BRACKET_L,s,s+1);case 93:return Kt(e,Bt.BRACKET_R,s,s+1);case 123:return Kt(e,Bt.BRACE_L,s,s+1);case 124:return Kt(e,Bt.PIPE,s,s+1);case 125:return Kt(e,Bt.BRACE_R,s,s+1);case 34:return 34===n.charCodeAt(s+1)&&34===n.charCodeAt(s+2)?sn(e,s):Zt(e,s)}if(J(t)||45===t)return Yt(e,s,t);if(K(t))return on(e,s);throw Mt(e.source,s,39===t?"Unexpected single quote character ('), did you mean to use a double quote (\")?":Ft(t)||Vt(n,s)?`Unexpected character: ${Ht(e,s)}.`:`Invalid character: ${Ht(e,s)}.`)}return Kt(e,Bt.EOF,r,r)}function Xt(e,t){const n=e.source.body,r=n.length;let s=t+1;for(;s<r;){const e=n.charCodeAt(s);if(10===e||13===e)break;if(Ft(e))++s;else{if(!Vt(n,s))break;s+=2}}return Kt(e,Bt.COMMENT,t,s,n.slice(t+1,s))}function Yt(e,t,n){const r=e.source.body;let s=t,o=n,a=!1;if(45===o&&(o=r.charCodeAt(++s)),48===o){if(o=r.charCodeAt(++s),J(o))throw Mt(e.source,s,`Invalid number, unexpected digit after 0: ${Ht(e,s)}.`)}else s=zt(e,s,o),o=r.charCodeAt(s);if(46===o&&(a=!0,o=r.charCodeAt(++s),s=zt(e,s,o),o=r.charCodeAt(s)),69!==o&&101!==o||(a=!0,o=r.charCodeAt(++s),43!==o&&45!==o||(o=r.charCodeAt(++s)),s=zt(e,s,o),o=r.charCodeAt(s)),46===o||K(o))throw Mt(e.source,s,`Invalid number, expected digit but got: ${Ht(e,s)}.`);return Kt(e,a?Bt.FLOAT:Bt.INT,t,s,r.slice(t,s))}function zt(e,t,n){if(!J(n))throw Mt(e.source,t,`Invalid number, expected digit but got: ${Ht(e,t)}.`);const r=e.source.body;let s=t+1;for(;J(r.charCodeAt(s));)++s;return s}function Zt(e,t){const n=e.source.body,r=n.length;let s=t+1,o=s,a="";for(;s<r;){const r=n.charCodeAt(s);if(34===r)return a+=n.slice(o,s),Kt(e,Bt.STRING,t,s+1,a);if(92!==r){if(10===r||13===r)break;if(Ft(r))++s;else{if(!Vt(n,s))throw Mt(e.source,s,`Invalid character within String: ${Ht(e,s)}.`);s+=2}}else{a+=n.slice(o,s);const t=117===n.charCodeAt(s+1)?123===n.charCodeAt(s+2)?Qt(e,s):en(e,s):rn(e,s);a+=t.value,s+=t.size,o=s}}throw Mt(e.source,s,"Unterminated string.")}function Qt(e,t){const n=e.source.body;let r=0,s=3;for(;s<12;){const e=n.charCodeAt(t+s++);if(125===e){if(s<5||!Ft(r))break;return{value:String.fromCodePoint(r),size:s}}if(r=r<<4|nn(e),r<0)break}throw Mt(e.source,t,`Invalid Unicode escape sequence: "${n.slice(t,t+s)}".`)}function en(e,t){const n=e.source.body,r=tn(n,t+2);if(Ft(r))return{value:String.fromCodePoint(r),size:6};if(Ut(r)&&92===n.charCodeAt(t+6)&&117===n.charCodeAt(t+7)){const e=tn(n,t+8);if(Jt(e))return{value:String.fromCodePoint(r,e),size:12}}throw Mt(e.source,t,`Invalid Unicode escape sequence: "${n.slice(t,t+6)}".`)}function tn(e,t){return nn(e.charCodeAt(t))<<12|nn(e.charCodeAt(t+1))<<8|nn(e.charCodeAt(t+2))<<4|nn(e.charCodeAt(t+3))}function nn(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function rn(e,t){const n=e.source.body;switch(n.charCodeAt(t+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:"\n",size:2};case 114:return{value:"\r",size:2};case 116:return{value:"\t",size:2}}throw Mt(e.source,t,`Invalid character escape sequence: "${n.slice(t,t+2)}".`)}function sn(e,t){const n=e.source.body,r=n.length;let s=e.lineStart,o=t+3,a=o,i="";const u=[];for(;o<r;){const r=n.charCodeAt(o);if(34===r&&34===n.charCodeAt(o+1)&&34===n.charCodeAt(o+2)){i+=n.slice(a,o),u.push(i);const r=Kt(e,Bt.BLOCK_STRING,t,o+3,X(u).join("\n"));return e.line+=u.length-1,e.lineStart=s,r}if(92!==r||34!==n.charCodeAt(o+1)||34!==n.charCodeAt(o+2)||34!==n.charCodeAt(o+3))if(10!==r&&13!==r)if(Ft(r))++o;else{if(!Vt(n,o))throw Mt(e.source,o,`Invalid character within String: ${Ht(e,o)}.`);o+=2}else i+=n.slice(a,o),u.push(i),13===r&&10===n.charCodeAt(o+1)?o+=2:++o,i="",a=o,s=o;else i+=n.slice(a,o),a=o+1,o+=4}throw Mt(e.source,o,"Unterminated string.")}function on(e,t){const n=e.source.body,r=n.length;let s=t+1;for(;s<r&&W(n.charCodeAt(s));)++s;return Kt(e,Bt.NAME,t,s,n.slice(t,s))}class an{constructor(e,t="GraphQL request",n={line:1,column:1}){"string"==typeof e||p(!1,`Body must be a string. Received: ${f(e)}.`),this.body=e,this.name=t,this.locationOffset=n,this.locationOffset.line>0||p(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||p(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}}function un(e,t){return new cn(e,t).parseDocument()}class cn{constructor(e,t={}){const n=function(e){return m(e,an)}(e)?e:new an(e);this._lexer=new Lt(n),this._options=t,this._tokenCounter=0}parseName(){const e=this.expectToken(Bt.NAME);return this.node(e,{kind:F.NAME,value:e.value})}parseDocument(){return this.node(this._lexer.token,{kind:F.DOCUMENT,definitions:this.many(Bt.SOF,this.parseDefinition,Bt.EOF)})}parseDefinition(){if(this.peek(Bt.BRACE_L))return this.parseOperationDefinition();const e=this.peekDescription(),t=e?this._lexer.lookahead():this._lexer.token;if(t.kind===Bt.NAME){switch(t.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(e)throw Mt(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(t.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(t)}parseOperationDefinition(){const e=this._lexer.token;if(this.peek(Bt.BRACE_L))return this.node(e,{kind:F.OPERATION_DEFINITION,operation:T.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});const t=this.parseOperationType();let n;return this.peek(Bt.NAME)&&(n=this.parseName()),this.node(e,{kind:F.OPERATION_DEFINITION,operation:t,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){const e=this.expectToken(Bt.NAME);switch(e.value){case"query":return T.QUERY;case"mutation":return T.MUTATION;case"subscription":return T.SUBSCRIPTION}throw this.unexpected(e)}parseVariableDefinitions(){return this.optionalMany(Bt.PAREN_L,this.parseVariableDefinition,Bt.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:F.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(Bt.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(Bt.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){const e=this._lexer.token;return this.expectToken(Bt.DOLLAR),this.node(e,{kind:F.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:F.SELECTION_SET,selections:this.many(Bt.BRACE_L,this.parseSelection,Bt.BRACE_R)})}parseSelection(){return this.peek(Bt.SPREAD)?this.parseFragment():this.parseField()}parseField(){const e=this._lexer.token,t=this.parseName();let n,r;return this.expectOptionalToken(Bt.COLON)?(n=t,r=this.parseName()):r=t,this.node(e,{kind:F.FIELD,alias:n,name:r,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(Bt.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(e){const t=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(Bt.PAREN_L,t,Bt.PAREN_R)}parseArgument(e=!1){const t=this._lexer.token,n=this.parseName();return this.expectToken(Bt.COLON),this.node(t,{kind:F.ARGUMENT,name:n,value:this.parseValueLiteral(e)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){const e=this._lexer.token;this.expectToken(Bt.SPREAD);const t=this.expectOptionalKeyword("on");return!t&&this.peek(Bt.NAME)?this.node(e,{kind:F.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(e,{kind:F.INLINE_FRAGMENT,typeCondition:t?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){const e=this._lexer.token;return this.expectKeyword("fragment"),!0===this._options.allowLegacyFragmentVariables?this.node(e,{kind:F.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(e,{kind:F.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if("on"===this._lexer.token.value)throw this.unexpected();return this.parseName()}parseValueLiteral(e){const t=this._lexer.token;switch(t.kind){case Bt.BRACKET_L:return this.parseList(e);case Bt.BRACE_L:return this.parseObject(e);case Bt.INT:return this.advanceLexer(),this.node(t,{kind:F.INT,value:t.value});case Bt.FLOAT:return this.advanceLexer(),this.node(t,{kind:F.FLOAT,value:t.value});case Bt.STRING:case Bt.BLOCK_STRING:return this.parseStringLiteral();case Bt.NAME:switch(this.advanceLexer(),t.value){case"true":return this.node(t,{kind:F.BOOLEAN,value:!0});case"false":return this.node(t,{kind:F.BOOLEAN,value:!1});case"null":return this.node(t,{kind:F.NULL});default:return this.node(t,{kind:F.ENUM,value:t.value})}case Bt.DOLLAR:if(e){if(this.expectToken(Bt.DOLLAR),this._lexer.token.kind===Bt.NAME){const e=this._lexer.token.value;throw Mt(this._lexer.source,t.start,`Unexpected variable "$${e}" in constant value.`)}throw this.unexpected(t)}return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){const e=this._lexer.token;return this.advanceLexer(),this.node(e,{kind:F.STRING,value:e.value,block:e.kind===Bt.BLOCK_STRING})}parseList(e){return this.node(this._lexer.token,{kind:F.LIST,values:this.any(Bt.BRACKET_L,(()=>this.parseValueLiteral(e)),Bt.BRACKET_R)})}parseObject(e){return this.node(this._lexer.token,{kind:F.OBJECT,fields:this.any(Bt.BRACE_L,(()=>this.parseObjectField(e)),Bt.BRACE_R)})}parseObjectField(e){const t=this._lexer.token,n=this.parseName();return this.expectToken(Bt.COLON),this.node(t,{kind:F.OBJECT_FIELD,name:n,value:this.parseValueLiteral(e)})}parseDirectives(e){const t=[];for(;this.peek(Bt.AT);)t.push(this.parseDirective(e));return t}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(e){const t=this._lexer.token;return this.expectToken(Bt.AT),this.node(t,{kind:F.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e)})}parseTypeReference(){const e=this._lexer.token;let t;if(this.expectOptionalToken(Bt.BRACKET_L)){const n=this.parseTypeReference();this.expectToken(Bt.BRACKET_R),t=this.node(e,{kind:F.LIST_TYPE,type:n})}else t=this.parseNamedType();return this.expectOptionalToken(Bt.BANG)?this.node(e,{kind:F.NON_NULL_TYPE,type:t}):t}parseNamedType(){return this.node(this._lexer.token,{kind:F.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(Bt.STRING)||this.peek(Bt.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("schema");const n=this.parseConstDirectives(),r=this.many(Bt.BRACE_L,this.parseOperationTypeDefinition,Bt.BRACE_R);return this.node(e,{kind:F.SCHEMA_DEFINITION,description:t,directives:n,operationTypes:r})}parseOperationTypeDefinition(){const e=this._lexer.token,t=this.parseOperationType();this.expectToken(Bt.COLON);const n=this.parseNamedType();return this.node(e,{kind:F.OPERATION_TYPE_DEFINITION,operation:t,type:n})}parseScalarTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("scalar");const n=this.parseName(),r=this.parseConstDirectives();return this.node(e,{kind:F.SCALAR_TYPE_DEFINITION,description:t,name:n,directives:r})}parseObjectTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("type");const n=this.parseName(),r=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),o=this.parseFieldsDefinition();return this.node(e,{kind:F.OBJECT_TYPE_DEFINITION,description:t,name:n,interfaces:r,directives:s,fields:o})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(Bt.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(Bt.BRACE_L,this.parseFieldDefinition,Bt.BRACE_R)}parseFieldDefinition(){const e=this._lexer.token,t=this.parseDescription(),n=this.parseName(),r=this.parseArgumentDefs();this.expectToken(Bt.COLON);const s=this.parseTypeReference(),o=this.parseConstDirectives();return this.node(e,{kind:F.FIELD_DEFINITION,description:t,name:n,arguments:r,type:s,directives:o})}parseArgumentDefs(){return this.optionalMany(Bt.PAREN_L,this.parseInputValueDef,Bt.PAREN_R)}parseInputValueDef(){const e=this._lexer.token,t=this.parseDescription(),n=this.parseName();this.expectToken(Bt.COLON);const r=this.parseTypeReference();let s;this.expectOptionalToken(Bt.EQUALS)&&(s=this.parseConstValueLiteral());const o=this.parseConstDirectives();return this.node(e,{kind:F.INPUT_VALUE_DEFINITION,description:t,name:n,type:r,defaultValue:s,directives:o})}parseInterfaceTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("interface");const n=this.parseName(),r=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),o=this.parseFieldsDefinition();return this.node(e,{kind:F.INTERFACE_TYPE_DEFINITION,description:t,name:n,interfaces:r,directives:s,fields:o})}parseUnionTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("union");const n=this.parseName(),r=this.parseConstDirectives(),s=this.parseUnionMemberTypes();return this.node(e,{kind:F.UNION_TYPE_DEFINITION,description:t,name:n,directives:r,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(Bt.EQUALS)?this.delimitedMany(Bt.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("enum");const n=this.parseName(),r=this.parseConstDirectives(),s=this.parseEnumValuesDefinition();return this.node(e,{kind:F.ENUM_TYPE_DEFINITION,description:t,name:n,directives:r,values:s})}parseEnumValuesDefinition(){return this.optionalMany(Bt.BRACE_L,this.parseEnumValueDefinition,Bt.BRACE_R)}parseEnumValueDefinition(){const e=this._lexer.token,t=this.parseDescription(),n=this.parseEnumValueName(),r=this.parseConstDirectives();return this.node(e,{kind:F.ENUM_VALUE_DEFINITION,description:t,name:n,directives:r})}parseEnumValueName(){if("true"===this._lexer.token.value||"false"===this._lexer.token.value||"null"===this._lexer.token.value)throw Mt(this._lexer.source,this._lexer.token.start,`${dn(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("input");const n=this.parseName(),r=this.parseConstDirectives(),s=this.parseInputFieldsDefinition();return this.node(e,{kind:F.INPUT_OBJECT_TYPE_DEFINITION,description:t,name:n,directives:r,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(Bt.BRACE_L,this.parseInputValueDef,Bt.BRACE_R)}parseTypeSystemExtension(){const e=this._lexer.lookahead();if(e.kind===Bt.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)}parseSchemaExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");const t=this.parseConstDirectives(),n=this.optionalMany(Bt.BRACE_L,this.parseOperationTypeDefinition,Bt.BRACE_R);if(0===t.length&&0===n.length)throw this.unexpected();return this.node(e,{kind:F.SCHEMA_EXTENSION,directives:t,operationTypes:n})}parseScalarTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");const t=this.parseName(),n=this.parseConstDirectives();if(0===n.length)throw this.unexpected();return this.node(e,{kind:F.SCALAR_TYPE_EXTENSION,name:t,directives:n})}parseObjectTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");const t=this.parseName(),n=this.parseImplementsInterfaces(),r=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(0===n.length&&0===r.length&&0===s.length)throw this.unexpected();return this.node(e,{kind:F.OBJECT_TYPE_EXTENSION,name:t,interfaces:n,directives:r,fields:s})}parseInterfaceTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");const t=this.parseName(),n=this.parseImplementsInterfaces(),r=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(0===n.length&&0===r.length&&0===s.length)throw this.unexpected();return this.node(e,{kind:F.INTERFACE_TYPE_EXTENSION,name:t,interfaces:n,directives:r,fields:s})}parseUnionTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");const t=this.parseName(),n=this.parseConstDirectives(),r=this.parseUnionMemberTypes();if(0===n.length&&0===r.length)throw this.unexpected();return this.node(e,{kind:F.UNION_TYPE_EXTENSION,name:t,directives:n,types:r})}parseEnumTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");const t=this.parseName(),n=this.parseConstDirectives(),r=this.parseEnumValuesDefinition();if(0===n.length&&0===r.length)throw this.unexpected();return this.node(e,{kind:F.ENUM_TYPE_EXTENSION,name:t,directives:n,values:r})}parseInputObjectTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");const t=this.parseName(),n=this.parseConstDirectives(),r=this.parseInputFieldsDefinition();if(0===n.length&&0===r.length)throw this.unexpected();return this.node(e,{kind:F.INPUT_OBJECT_TYPE_EXTENSION,name:t,directives:n,fields:r})}parseDirectiveDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("directive"),this.expectToken(Bt.AT);const n=this.parseName(),r=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");const o=this.parseDirectiveLocations();return this.node(e,{kind:F.DIRECTIVE_DEFINITION,description:t,name:n,arguments:r,repeatable:s,locations:o})}parseDirectiveLocations(){return this.delimitedMany(Bt.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){const e=this._lexer.token,t=this.parseName();if(Object.prototype.hasOwnProperty.call(Qe,t.value))return t;throw this.unexpected(e)}node(e,t){return!0!==this._options.noLocation&&(t.loc=new g(e,this._lexer.lastToken,this._lexer.source)),t}peek(e){return this._lexer.token.kind===e}expectToken(e){const t=this._lexer.token;if(t.kind===e)return this.advanceLexer(),t;throw Mt(this._lexer.source,t.start,`Expected ${ln(e)}, found ${dn(t)}.`)}expectOptionalToken(e){return this._lexer.token.kind===e&&(this.advanceLexer(),!0)}expectKeyword(e){const t=this._lexer.token;if(t.kind!==Bt.NAME||t.value!==e)throw Mt(this._lexer.source,t.start,`Expected "${e}", found ${dn(t)}.`);this.advanceLexer()}expectOptionalKeyword(e){const t=this._lexer.token;return t.kind===Bt.NAME&&t.value===e&&(this.advanceLexer(),!0)}unexpected(e){const t=null!=e?e:this._lexer.token;return Mt(this._lexer.source,t.start,`Unexpected ${dn(t)}.`)}any(e,t,n){this.expectToken(e);const r=[];for(;!this.expectOptionalToken(n);)r.push(t.call(this));return r}optionalMany(e,t,n){if(this.expectOptionalToken(e)){const e=[];do{e.push(t.call(this))}while(!this.expectOptionalToken(n));return e}return[]}many(e,t,n){this.expectToken(e);const r=[];do{r.push(t.call(this))}while(!this.expectOptionalToken(n));return r}delimitedMany(e,t){this.expectOptionalToken(e);const n=[];do{n.push(t.call(this))}while(this.expectOptionalToken(e));return n}advanceLexer(){const{maxTokens:e}=this._options,t=this._lexer.advance();if(void 0!==e&&t.kind!==Bt.EOF&&(++this._tokenCounter,this._tokenCounter>e))throw Mt(this._lexer.source,t.start,`Document contains more that ${e} tokens. Parsing aborted.`)}}function dn(e){const t=e.value;return ln(e.kind)+(null!=t?` "${t}"`:"")}function ln(e){return function(e){return e===Bt.BANG||e===Bt.DOLLAR||e===Bt.AMP||e===Bt.PAREN_L||e===Bt.PAREN_R||e===Bt.SPREAD||e===Bt.COLON||e===Bt.EQUALS||e===Bt.AT||e===Bt.BRACKET_L||e===Bt.BRACKET_R||e===Bt.BRACE_L||e===Bt.PIPE||e===Bt.BRACE_R}(e)?`"${e}"`:e}function pn(e,t){return e===t||(Ae(e)&&Ae(t)||!(!Ee(e)||!Ee(t)))&&pn(e.ofType,t.ofType)}function fn(e,t,n){return t===n||(Ae(n)?!!Ae(t)&&fn(e,t.ofType,n.ofType):Ae(t)?fn(e,t.ofType,n):Ee(n)?!!Ee(t)&&fn(e,t.ofType,n.ofType):!Ee(t)&&Ie(n)&&(ye(t)||Se(t))&&e.isSubType(n,t))}function hn(e,t,n){return t===n||(Ie(t)?Ie(n)?e.getPossibleTypes(t).some((t=>e.isSubType(n,t))):e.isSubType(t,n):!!Ie(n)&&e.isSubType(n,t))}function mn(e){if(function(e){if(!Rt(e))throw new Error(`Expected ${f(e)} to be a GraphQL schema.`)}(e),e.__validationErrors)return e.__validationErrors;const t=new yn(e);!function(e){const t=e.schema,n=t.getQueryType();if(n){if(!Se(n)){var r;e.reportError(`Query root type must be Object type, it cannot be ${f(n)}.`,null!==(r=gn(t,T.QUERY))&&void 0!==r?r:n.astNode)}}else e.reportError("Query root type must be provided.",t.astNode);const s=t.getMutationType();var o;s&&!Se(s)&&e.reportError(`Mutation root type must be Object type if provided, it cannot be ${f(s)}.`,null!==(o=gn(t,T.MUTATION))&&void 0!==o?o:s.astNode);const a=t.getSubscriptionType();var i;a&&!Se(a)&&e.reportError(`Subscription root type must be Object type if provided, it cannot be ${f(a)}.`,null!==(i=gn(t,T.SUBSCRIPTION))&&void 0!==i?i:a.astNode)}(t),function(e){for(const n of e.schema.getDirectives())if(dt(n)){vn(e,n);for(const r of n.args){var t;vn(e,r),Te(r.type)||e.reportError(`The type of @${n.name}(${r.name}:) must be Input Type but got: ${f(r.type)}.`,r.astNode),Ue(r)&&null!=r.deprecationReason&&e.reportError(`Required argument @${n.name}(${r.name}:) cannot be deprecated.`,[On(r.astNode),null===(t=r.astNode)||void 0===t?void 0:t.type])}}else e.reportError(`Expected directive but got: ${f(n)}.`,null==n?void 0:n.astNode)}(t),function(e){const t=function(e){const t=Object.create(null),n=[],r=Object.create(null);return function s(o){if(t[o.name])return;t[o.name]=!0,r[o.name]=n.length;const a=Object.values(o.getFields());for(const t of a)if(Ae(t.type)&&be(t.type.ofType)){const o=t.type.ofType,a=r[o.name];if(n.push(t),void 0===a)s(o);else{const t=n.slice(a),r=t.map((e=>e.name)).join(".");e.reportError(`Cannot reference Input Object "${o.name}" within itself through a series of non-null fields: "${r}".`,t.map((e=>e.astNode)))}n.pop()}r[o.name]=void 0}}(e),n=e.schema.getTypeMap();for(const r of Object.values(n))Ce(r)?($t(r)||vn(e,r),Se(r)||ye(r)?(bn(e,r),En(e,r)):ge(r)?wn(e,r):ve(r)?kn(e,r):be(r)&&(Pn(e,r),t(r))):e.reportError(`Expected GraphQL named type but got: ${f(r)}.`,r.astNode)}(t);const n=t.getErrors();return e.__validationErrors=n,n}function Sn(e){const t=mn(e);if(0!==t.length)throw new Error(t.map((e=>e.message)).join("\n\n"))}class yn{constructor(e){this._errors=[],this.schema=e}reportError(e,t){const n=Array.isArray(t)?t.filter(Boolean):t;this._errors.push(new G(e,{nodes:n}))}getErrors(){return this._errors}}function gn(e,t){var n;return null===(n=[e.astNode,...e.extensionASTNodes].flatMap((e=>{var t;return null!==(t=null==e?void 0:e.operationTypes)&&void 0!==t?t:[]})).find((e=>e.operation===t)))||void 0===n?void 0:n.type}function vn(e,t){t.name.startsWith("__")&&e.reportError(`Name "${t.name}" must not begin with "__", which is reserved by GraphQL introspection.`,t.astNode)}function bn(e,t){const n=Object.values(t.getFields());0===n.length&&e.reportError(`Type ${t.name} must define one or more fields.`,[t.astNode,...t.extensionASTNodes]);for(const a of n){var r;vn(e,a),we(a.type)||e.reportError(`The type of ${t.name}.${a.name} must be Output Type but got: ${f(a.type)}.`,null===(r=a.astNode)||void 0===r?void 0:r.type);for(const n of a.args){const r=n.name;var s,o;vn(e,n),Te(n.type)||e.reportError(`The type of ${t.name}.${a.name}(${r}:) must be Input Type but got: ${f(n.type)}.`,null===(s=n.astNode)||void 0===s?void 0:s.type),Ue(n)&&null!=n.deprecationReason&&e.reportError(`Required argument ${t.name}.${a.name}(${r}:) cannot be deprecated.`,[On(n.astNode),null===(o=n.astNode)||void 0===o?void 0:o.type])}}}function En(e,t){const n=Object.create(null);for(const r of t.getInterfaces())ye(r)?t!==r?n[r.name]?e.reportError(`Type ${t.name} can only implement ${r.name} once.`,In(t,r)):(n[r.name]=!0,Tn(e,t,r),An(e,t,r)):e.reportError(`Type ${t.name} cannot implement itself because it would create a circular reference.`,In(t,r)):e.reportError(`Type ${f(t)} must only implement Interface types, it cannot implement ${f(r)}.`,In(t,r))}function An(e,t,n){const r=t.getFields();for(const u of Object.values(n.getFields())){const c=u.name,d=r[c];if(d){var s,o;fn(e.schema,d.type,u.type)||e.reportError(`Interface field ${n.name}.${c} expects type ${f(u.type)} but ${t.name}.${c} is type ${f(d.type)}.`,[null===(s=u.astNode)||void 0===s?void 0:s.type,null===(o=d.astNode)||void 0===o?void 0:o.type]);for(const r of u.args){const s=r.name,o=d.args.find((e=>e.name===s));var a,i;o?pn(r.type,o.type)||e.reportError(`Interface field argument ${n.name}.${c}(${s}:) expects type ${f(r.type)} but ${t.name}.${c}(${s}:) is type ${f(o.type)}.`,[null===(a=r.astNode)||void 0===a?void 0:a.type,null===(i=o.astNode)||void 0===i?void 0:i.type]):e.reportError(`Interface field argument ${n.name}.${c}(${s}:) expected but ${t.name}.${c} does not provide it.`,[r.astNode,d.astNode])}for(const r of d.args){const s=r.name;!u.args.find((e=>e.name===s))&&Ue(r)&&e.reportError(`Object field ${t.name}.${c} includes required argument ${s} that is missing from the Interface field ${n.name}.${c}.`,[r.astNode,u.astNode])}}else e.reportError(`Interface field ${n.name}.${c} expected but ${t.name} does not provide it.`,[u.astNode,t.astNode,...t.extensionASTNodes])}}function Tn(e,t,n){const r=t.getInterfaces();for(const s of n.getInterfaces())r.includes(s)||e.reportError(s===t?`Type ${t.name} cannot implement ${n.name} because it would create a circular reference.`:`Type ${t.name} must implement ${s.name} because it is implemented by ${n.name}.`,[...In(n,s),...In(t,n)])}function wn(e,t){const n=t.getTypes();0===n.length&&e.reportError(`Union type ${t.name} must define one or more member types.`,[t.astNode,...t.extensionASTNodes]);const r=Object.create(null);for(const s of n)r[s.name]?e.reportError(`Union type ${t.name} can only include type ${s.name} once.`,Nn(t,s.name)):(r[s.name]=!0,Se(s)||e.reportError(`Union type ${t.name} can only include Object types, it cannot include ${f(s)}.`,Nn(t,String(s))))}function kn(e,t){const n=t.getValues();0===n.length&&e.reportError(`Enum type ${t.name} must define one or more values.`,[t.astNode,...t.extensionASTNodes]);for(const t of n)vn(e,t)}function Pn(e,t){const n=Object.values(t.getFields());0===n.length&&e.reportError(`Input Object type ${t.name} must define one or more fields.`,[t.astNode,...t.extensionASTNodes]);for(const o of n){var r,s;vn(e,o),Te(o.type)||e.reportError(`The type of ${t.name}.${o.name} must be Input Type but got: ${f(o.type)}.`,null===(r=o.astNode)||void 0===r?void 0:r.type),Ze(o)&&null!=o.deprecationReason&&e.reportError(`Required input field ${t.name}.${o.name} cannot be deprecated.`,[On(o.astNode),null===(s=o.astNode)||void 0===s?void 0:s.type])}}function In(e,t){const{astNode:n,extensionASTNodes:r}=e;return(null!=n?[n,...r]:r).flatMap((e=>{var t;return null!==(t=e.interfaces)&&void 0!==t?t:[]})).filter((e=>e.name.value===t.name))}function Nn(e,t){const{astNode:n,extensionASTNodes:r}=e;return(null!=n?[n,...r]:r).flatMap((e=>{var t;return null!==(t=e.types)&&void 0!==t?t:[]})).filter((e=>e.name.value===t))}function On(e){var t;return null==e||null===(t=e.directives)||void 0===t?void 0:t.find((e=>e.name.value===ht.name))}function _n(e,t){switch(t.kind){case F.LIST_TYPE:{const n=_n(e,t.type);return n&&new Ne(n)}case F.NON_NULL_TYPE:{const n=_n(e,t.type);return n&&new Oe(n)}case F.NAMED_TYPE:return e.getType(t.name.value)}}class xn{constructor(e,t,n){this._schema=e,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=null!=n?n:Cn,t&&(Te(t)&&this._inputTypeStack.push(t),Pe(t)&&this._parentTypeStack.push(t),we(t)&&this._typeStack.push(t))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(e){const t=this._schema;switch(e.kind){case F.SELECTION_SET:{const e=De(this.getType());this._parentTypeStack.push(Pe(e)?e:void 0);break}case F.FIELD:{const n=this.getParentType();let r,s;n&&(r=this._getFieldDef(t,n,e),r&&(s=r.type)),this._fieldDefStack.push(r),this._typeStack.push(we(s)?s:void 0);break}case F.DIRECTIVE:this._directive=t.getDirective(e.name.value);break;case F.OPERATION_DEFINITION:{const n=t.getRootType(e.operation);this._typeStack.push(Se(n)?n:void 0);break}case F.INLINE_FRAGMENT:case F.FRAGMENT_DEFINITION:{const n=e.typeCondition,r=n?_n(t,n):De(this.getType());this._typeStack.push(we(r)?r:void 0);break}case F.VARIABLE_DEFINITION:{const n=_n(t,e.type);this._inputTypeStack.push(Te(n)?n:void 0);break}case F.ARGUMENT:{var n;let t,r;const s=null!==(n=this.getDirective())&&void 0!==n?n:this.getFieldDef();s&&(t=s.args.find((t=>t.name===e.name.value)),t&&(r=t.type)),this._argument=t,this._defaultValueStack.push(t?t.defaultValue:void 0),this._inputTypeStack.push(Te(r)?r:void 0);break}case F.LIST:{const e=xe(this.getInputType()),t=Ee(e)?e.ofType:e;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Te(t)?t:void 0);break}case F.OBJECT_FIELD:{const t=De(this.getInputType());let n,r;be(t)&&(r=t.getFields()[e.name.value],r&&(n=r.type)),this._defaultValueStack.push(r?r.defaultValue:void 0),this._inputTypeStack.push(Te(n)?n:void 0);break}case F.ENUM:{const t=De(this.getInputType());let n;ve(t)&&(n=t.getValue(e.value)),this._enumValue=n;break}}}leave(e){switch(e.kind){case F.SELECTION_SET:this._parentTypeStack.pop();break;case F.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case F.DIRECTIVE:this._directive=null;break;case F.OPERATION_DEFINITION:case F.INLINE_FRAGMENT:case F.FRAGMENT_DEFINITION:this._typeStack.pop();break;case F.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case F.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case F.LIST:case F.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case F.ENUM:this._enumValue=null}}}function Cn(e,t,n){const r=n.name.value;return r===_t.name&&e.getQueryType()===t?_t:r===xt.name&&e.getQueryType()===t?xt:r===Ct.name&&Pe(t)?Ct:Se(t)||ye(t)?t.getFields()[r]:void 0}function Dn(e,t){return{enter(...n){const r=n[0];e.enter(r);const s=re(t,r.kind).enter;if(s){const o=s.apply(t,n);return void 0!==o&&(e.leave(r),A(o)&&e.enter(o)),o}},leave(...n){const r=n[0],s=re(t,r.kind).leave;let o;return s&&(o=s.apply(t,n)),e.leave(r),o}}}function $n(e){return e.kind===F.OPERATION_DEFINITION||e.kind===F.FRAGMENT_DEFINITION}function Rn(e){return e.kind===F.SCHEMA_DEFINITION||qn(e)||e.kind===F.DIRECTIVE_DEFINITION}function qn(e){return e.kind===F.SCALAR_TYPE_DEFINITION||e.kind===F.OBJECT_TYPE_DEFINITION||e.kind===F.INTERFACE_TYPE_DEFINITION||e.kind===F.UNION_TYPE_DEFINITION||e.kind===F.ENUM_TYPE_DEFINITION||e.kind===F.INPUT_OBJECT_TYPE_DEFINITION}function jn(e){return e.kind===F.SCHEMA_EXTENSION||Mn(e)}function Mn(e){return e.kind===F.SCALAR_TYPE_EXTENSION||e.kind===F.OBJECT_TYPE_EXTENSION||e.kind===F.INTERFACE_TYPE_EXTENSION||e.kind===F.UNION_TYPE_EXTENSION||e.kind===F.ENUM_TYPE_EXTENSION||e.kind===F.INPUT_OBJECT_TYPE_EXTENSION}function Bn(e){const t=Object.create(null),n=e.getSchema(),r=n?n.getDirectives():St;for(const e of r)t[e.name]=e.args.map((e=>e.name));const s=e.getDocument().definitions;for(const e of s)if(e.kind===F.DIRECTIVE_DEFINITION){var o;const n=null!==(o=e.arguments)&&void 0!==o?o:[];t[e.name.value]=n.map((e=>e.name.value))}return{Directive(n){const r=n.name.value,s=t[r];if(n.arguments&&s)for(const t of n.arguments){const n=t.name.value;if(!s.includes(n)){const o=C(n,s);e.reportError(new G(`Unknown argument "${n}" on directive "@${r}".`+w(o),{nodes:t}))}}return!1}}}function Gn(e){const t=Object.create(null),n=e.getSchema(),r=n?n.getDirectives():St;for(const e of r)t[e.name]=e.locations;const s=e.getDocument().definitions;for(const e of s)e.kind===F.DIRECTIVE_DEFINITION&&(t[e.name.value]=e.locations.map((e=>e.value)));return{Directive(n,r,s,o,a){const i=n.name.value,u=t[i];if(!u)return void e.reportError(new G(`Unknown directive "@${i}".`,{nodes:n}));const c=function(e){const t=e[e.length-1];switch("kind"in t||R(!1),t.kind){case F.OPERATION_DEFINITION:return function(e){switch(e){case T.QUERY:return Qe.QUERY;case T.MUTATION:return Qe.MUTATION;case T.SUBSCRIPTION:return Qe.SUBSCRIPTION}}(t.operation);case F.FIELD:return Qe.FIELD;case F.FRAGMENT_SPREAD:return Qe.FRAGMENT_SPREAD;case F.INLINE_FRAGMENT:return Qe.INLINE_FRAGMENT;case F.FRAGMENT_DEFINITION:return Qe.FRAGMENT_DEFINITION;case F.VARIABLE_DEFINITION:return Qe.VARIABLE_DEFINITION;case F.SCHEMA_DEFINITION:case F.SCHEMA_EXTENSION:return Qe.SCHEMA;case F.SCALAR_TYPE_DEFINITION:case F.SCALAR_TYPE_EXTENSION:return Qe.SCALAR;case F.OBJECT_TYPE_DEFINITION:case F.OBJECT_TYPE_EXTENSION:return Qe.OBJECT;case F.FIELD_DEFINITION:return Qe.FIELD_DEFINITION;case F.INTERFACE_TYPE_DEFINITION:case F.INTERFACE_TYPE_EXTENSION:return Qe.INTERFACE;case F.UNION_TYPE_DEFINITION:case F.UNION_TYPE_EXTENSION:return Qe.UNION;case F.ENUM_TYPE_DEFINITION:case F.ENUM_TYPE_EXTENSION:return Qe.ENUM;case F.ENUM_VALUE_DEFINITION:return Qe.ENUM_VALUE;case F.INPUT_OBJECT_TYPE_DEFINITION:case F.INPUT_OBJECT_TYPE_EXTENSION:return Qe.INPUT_OBJECT;case F.INPUT_VALUE_DEFINITION:{const t=e[e.length-3];return"kind"in t||R(!1),t.kind===F.INPUT_OBJECT_TYPE_DEFINITION?Qe.INPUT_FIELD_DEFINITION:Qe.ARGUMENT_DEFINITION}default:R(!1,"Unexpected kind: "+f(t.kind))}}(a);c&&!u.includes(c)&&e.reportError(new G(`Directive "@${i}" may not be used on ${c}.`,{nodes:n}))}}}function Ln(e){const t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);for(const t of e.getDocument().definitions)qn(t)&&(r[t.name.value]=!0);const s=[...Object.keys(n),...Object.keys(r)];return{NamedType(t,o,a,i,u){const c=t.name.value;if(!n[c]&&!r[c]){var d;const n=null!==(d=u[2])&&void 0!==d?d:a,r=null!=n&&"kind"in(l=n)&&(Rn(l)||jn(l));if(r&&Fn.includes(c))return;const o=C(c,r?Fn.concat(s):s);e.reportError(new G(`Unknown type "${c}".`+w(o),{nodes:t}))}var l}}}const Fn=[...it,...Dt].map((e=>e.name));function Vn(e){switch(e.kind){case F.OBJECT:return{...e,fields:(t=e.fields,t.map((e=>({...e,value:Vn(e.value)}))).sort(((e,t)=>O(e.name.value,t.name.value))))};case F.LIST:return{...e,values:e.values.map(Vn)};case F.INT:case F.FLOAT:case F.STRING:case F.BOOLEAN:case F.NULL:case F.ENUM:case F.VARIABLE:return e}var t}function Un(e){return Array.isArray(e)?e.map((([e,t])=>`subfields "${e}" conflict because `+Un(t))).join(" and "):e}function Jn(e,t,n,r,s,o,a){const i=e.getFragment(a);if(!i)return;const[u,c]=Zn(e,n,i);if(o!==u){Kn(e,t,n,r,s,o,u);for(const i of c)r.has(i,a,s)||(r.add(i,a,s),Jn(e,t,n,r,s,o,i))}}function Hn(e,t,n,r,s,o,a){if(o===a)return;if(r.has(o,a,s))return;r.add(o,a,s);const i=e.getFragment(o),u=e.getFragment(a);if(!i||!u)return;const[c,d]=Zn(e,n,i),[l,p]=Zn(e,n,u);Kn(e,t,n,r,s,c,l);for(const a of p)Hn(e,t,n,r,s,o,a);for(const o of d)Hn(e,t,n,r,s,o,a)}function Kn(e,t,n,r,s,o,a){for(const[i,u]of Object.entries(o)){const o=a[i];if(o)for(const a of u)for(const u of o){const o=Wn(e,n,r,s,i,a,u);o&&t.push(o)}}}function Wn(e,t,n,r,s,o,a){const[i,u,c]=o,[d,l,p]=a,h=r||i!==d&&Se(i)&&Se(d);if(!h){const e=u.name.value,t=l.name.value;if(e!==t)return[[s,`"${e}" and "${t}" are different fields`],[u],[l]];if(Xn(u)!==Xn(l))return[[s,"they have differing arguments"],[u],[l]]}const m=null==c?void 0:c.type,S=null==p?void 0:p.type;if(m&&S&&Yn(m,S))return[[s,`they return conflicting types "${f(m)}" and "${f(S)}"`],[u],[l]];const y=u.selectionSet,g=l.selectionSet;if(y&&g){const r=function(e,t,n,r,s,o,a,i){const u=[],[c,d]=zn(e,t,s,o),[l,p]=zn(e,t,a,i);Kn(e,u,t,n,r,c,l);for(const s of p)Jn(e,u,t,n,r,c,s);for(const s of d)Jn(e,u,t,n,r,l,s);for(const s of d)for(const o of p)Hn(e,u,t,n,r,s,o);return u}(e,t,n,h,De(m),y,De(S),g);return function(e,t,n,r){if(e.length>0)return[[t,e.map((([e])=>e))],[n,...e.map((([,e])=>e)).flat()],[r,...e.map((([,,e])=>e)).flat()]]}(r,s,u,l)}}function Xn(e){var t;const n=null!==(t=e.arguments)&&void 0!==t?t:[];return se(Vn({kind:F.OBJECT,fields:n.map((e=>({kind:F.OBJECT_FIELD,name:e.name,value:e.value})))}))}function Yn(e,t){return Ee(e)?!Ee(t)||Yn(e.ofType,t.ofType):!!Ee(t)||(Ae(e)?!Ae(t)||Yn(e.ofType,t.ofType):!!Ae(t)||!(!ke(e)&&!ke(t))&&e!==t)}function zn(e,t,n,r){const s=t.get(r);if(s)return s;const o=Object.create(null),a=Object.create(null);Qn(e,n,r,o,a);const i=[o,Object.keys(a)];return t.set(r,i),i}function Zn(e,t,n){const r=t.get(n.selectionSet);if(r)return r;const s=_n(e.getSchema(),n.typeCondition);return zn(e,t,s,n.selectionSet)}function Qn(e,t,n,r,s){for(const o of n.selections)switch(o.kind){case F.FIELD:{const e=o.name.value;let n;(Se(t)||ye(t))&&(n=t.getFields()[e]);const s=o.alias?o.alias.value:e;r[s]||(r[s]=[]),r[s].push([t,o,n]);break}case F.FRAGMENT_SPREAD:s[o.name.value]=!0;break;case F.INLINE_FRAGMENT:{const n=o.typeCondition,a=n?_n(e.getSchema(),n):t;Qn(e,a,o.selectionSet,r,s);break}}}class er{constructor(){this._data=new Map}has(e,t,n){var r;const[s,o]=e<t?[e,t]:[t,e],a=null===(r=this._data.get(s))||void 0===r?void 0:r.get(o);return void 0!==a&&(!!n||n===a)}add(e,t,n){const[r,s]=e<t?[e,t]:[t,e],o=this._data.get(r);void 0===o?this._data.set(r,new Map([[s,n]])):o.set(s,n)}}const tr={[F.SCALAR_TYPE_DEFINITION]:F.SCALAR_TYPE_EXTENSION,[F.OBJECT_TYPE_DEFINITION]:F.OBJECT_TYPE_EXTENSION,[F.INTERFACE_TYPE_DEFINITION]:F.INTERFACE_TYPE_EXTENSION,[F.UNION_TYPE_DEFINITION]:F.UNION_TYPE_EXTENSION,[F.ENUM_TYPE_DEFINITION]:F.ENUM_TYPE_EXTENSION,[F.INPUT_OBJECT_TYPE_DEFINITION]:F.INPUT_OBJECT_TYPE_EXTENSION};function nr(e){var t;const n=Object.create(null),r=e.getSchema(),s=null!==(t=null==r?void 0:r.getDirectives())&&void 0!==t?t:St;for(const e of s)n[e.name]=P(e.args.filter(Ue),(e=>e.name));const o=e.getDocument().definitions;for(const e of o)if(e.kind===F.DIRECTIVE_DEFINITION){var a;const t=null!==(a=e.arguments)&&void 0!==a?a:[];n[e.name.value]=P(t.filter(rr),(e=>e.name.value))}return{Directive:{leave(t){const r=t.name.value,s=n[r];if(s){var o;const n=null!==(o=t.arguments)&&void 0!==o?o:[],a=new Set(n.map((e=>e.name.value)));for(const[n,o]of Object.entries(s))if(!a.has(n)){const s=he(o.type)?f(o.type):se(o.type);e.reportError(new G(`Directive "@${r}" argument "${n}" of type "${s}" is required, but it was not provided.`,{nodes:t}))}}}}}}function rr(e){return e.type.kind===F.NON_NULL_TYPE&&null==e.defaultValue}function sr(e){return e.map((e=>"number"==typeof e?"["+e.toString()+"]":"."+e)).join("")}function or(e,t,n){return{prev:e,key:t,typename:n}}function ar(e){const t=[];let n=e;for(;n;)t.push(n.key),n=n.prev;return t.reverse()}function ir(e,t,n=ur){return cr(e,t,n,void 0)}function ur(e,t,n){let r="Invalid value "+f(t);throw e.length>0&&(r+=` at "value${sr(e)}"`),n.message=r+": "+n.message,n}function cr(e,t,n,r){if(Ae(t))return null!=e?cr(e,t.ofType,n,r):void n(ar(r),e,new G(`Expected non-nullable type "${f(t)}" not to be null.`));if(null==e)return null;if(Ee(t)){const s=t.ofType;return gt(e)?Array.from(e,((e,t)=>{const o=or(r,t,void 0);return cr(e,s,n,o)})):[cr(e,s,n,r)]}if(be(t)){if(!S(e))return void n(ar(r),e,new G(`Expected type "${t.name}" to be an object.`));const s={},o=t.getFields();for(const a of Object.values(o)){const o=e[a.name];if(void 0!==o)s[a.name]=cr(o,a.type,n,or(r,a.name,t.name));else if(void 0!==a.defaultValue)s[a.name]=a.defaultValue;else if(Ae(a.type)){const t=f(a.type);n(ar(r),e,new G(`Field "${a.name}" of required type "${t}" was not provided.`))}}for(const s of Object.keys(e))if(!o[s]){const o=C(s,Object.keys(t.getFields()));n(ar(r),e,new G(`Field "${s}" is not defined by type "${t.name}".`+w(o)))}return s}if(ke(t)){let s;try{s=t.parseValue(e)}catch(s){return void n(ar(r),e,s instanceof G?s:new G(`Expected type "${t.name}". `+s.message,{originalError:s}))}return void 0===s&&n(ar(r),e,new G(`Expected type "${t.name}".`)),s}R(!1,"Unexpected input type: "+f(t))}function dr(e,t,n){if(e){if(e.kind===F.VARIABLE){const r=e.name.value;if(null==n||void 0===n[r])return;const s=n[r];if(null===s&&Ae(t))return;return s}if(Ae(t)){if(e.kind===F.NULL)return;return dr(e,t.ofType,n)}if(e.kind===F.NULL)return null;if(Ee(t)){const r=t.ofType;if(e.kind===F.LIST){const t=[];for(const s of e.values)if(lr(s,n)){if(Ae(r))return;t.push(null)}else{const e=dr(s,r,n);if(void 0===e)return;t.push(e)}return t}const s=dr(e,r,n);if(void 0===s)return;return[s]}if(be(t)){if(e.kind!==F.OBJECT)return;const r=Object.create(null),s=P(e.fields,(e=>e.name.value));for(const e of Object.values(t.getFields())){const t=s[e.name];if(!t||lr(t.value,n)){if(void 0!==e.defaultValue)r[e.name]=e.defaultValue;else if(Ae(e.type))return;continue}const o=dr(t.value,e.type,n);if(void 0===o)return;r[e.name]=o}return r}if(ke(t)){let r;try{r=t.parseLiteral(e,n)}catch(e){return}if(void 0===r)return;return r}R(!1,"Unexpected input type: "+f(t))}}function lr(e,t){return e.kind===F.VARIABLE&&(null==t||void 0===t[e.name.value])}function pr(e,t,n){var r;const s={},o=P(null!==(r=t.arguments)&&void 0!==r?r:[],(e=>e.name.value));for(const r of e.args){const e=r.name,a=r.type,i=o[e];if(!i){if(void 0!==r.defaultValue)s[e]=r.defaultValue;else if(Ae(a))throw new G(`Argument "${e}" of required type "${f(a)}" was not provided.`,{nodes:t});continue}const u=i.value;let c=u.kind===F.NULL;if(u.kind===F.VARIABLE){const t=u.name.value;if(null==n||!hr(n,t)){if(void 0!==r.defaultValue)s[e]=r.defaultValue;else if(Ae(a))throw new G(`Argument "${e}" of required type "${f(a)}" was provided the variable "$${t}" which was not provided a runtime value.`,{nodes:u});continue}c=null==n[t]}if(c&&Ae(a))throw new G(`Argument "${e}" of non-null type "${f(a)}" must not be null.`,{nodes:u});const d=dr(u,a,n);if(void 0===d)throw new G(`Argument "${e}" has invalid value ${se(u)}.`,{nodes:u});s[e]=d}return s}function fr(e,t,n){var r;const s=null===(r=t.directives)||void 0===r?void 0:r.find((t=>t.name.value===e.name));if(s)return pr(e,s,n)}function hr(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function mr(e,t,n,r,s){const o=new Map;return Sr(e,t,n,r,s,o,new Set),o}function Sr(e,t,n,r,s,o,a){for(const u of s.selections)switch(u.kind){case F.FIELD:{if(!yr(n,u))continue;const e=(i=u).alias?i.alias.value:i.name.value,t=o.get(e);void 0!==t?t.push(u):o.set(e,[u]);break}case F.INLINE_FRAGMENT:if(!yr(n,u)||!gr(e,u,r))continue;Sr(e,t,n,r,u.selectionSet,o,a);break;case F.FRAGMENT_SPREAD:{const s=u.name.value;if(a.has(s)||!yr(n,u))continue;a.add(s);const i=t[s];if(!i||!gr(e,i,r))continue;Sr(e,t,n,r,i.selectionSet,o,a);break}}var i}function yr(e,t){const n=fr(ft,t,e);if(!0===(null==n?void 0:n.if))return!1;const r=fr(pt,t,e);return!1!==(null==r?void 0:r.if)}function gr(e,t,n){const r=t.typeCondition;if(!r)return!0;const s=_n(e,r);return s===n||!!Ie(s)&&e.isSubType(s,n)}function vr(e,t){const n=new Map;for(const r of e){const e=t(r),s=n.get(e);void 0===s?n.set(e,[r]):s.push(r)}return n}function br(e){return{Field:t,Directive:t};function t(t){var n;const r=vr(null!==(n=t.arguments)&&void 0!==n?n:[],(e=>e.name.value));for(const[t,n]of r)n.length>1&&e.reportError(new G(`There can be only one argument named "${t}".`,{nodes:n.map((e=>e.name))}))}}function Er(e){const t=Object.create(null),n=e.getSchema(),r=n?n.getDirectives():St;for(const e of r)t[e.name]=!e.isRepeatable;const s=e.getDocument().definitions;for(const e of s)e.kind===F.DIRECTIVE_DEFINITION&&(t[e.name.value]=!e.repeatable);const o=Object.create(null),a=Object.create(null);return{enter(n){if(!("directives"in n)||!n.directives)return;let r;if(n.kind===F.SCHEMA_DEFINITION||n.kind===F.SCHEMA_EXTENSION)r=o;else if(qn(n)||Mn(n)){const e=n.name.value;r=a[e],void 0===r&&(a[e]=r=Object.create(null))}else r=Object.create(null);for(const s of n.directives){const n=s.name.value;t[n]&&(r[n]?e.reportError(new G(`The directive "@${n}" can only be used once at this location.`,{nodes:[r[n],s]})):r[n]=s)}}}}function Ar(e,t){return!!(Se(e)||ye(e)||be(e))&&null!=e.getFields()[t]}function Tr(e){const t=[];let n=Object.create(null);return{ObjectValue:{enter(){t.push(n),n=Object.create(null)},leave(){const e=t.pop();e||R(!1),n=e}},ObjectField(t){const r=t.name.value;n[r]?e.reportError(new G(`There can be only one input field named "${r}".`,{nodes:[n[r],t.name]})):n[r]=t.name}}}function wr(e,t){const n=e.getInputType();if(!n)return;const r=De(n);if(ke(r))try{if(void 0===r.parseLiteral(t,void 0)){const r=f(n);e.reportError(new G(`Expected value of type "${r}", found ${se(t)}.`,{nodes:t}))}}catch(r){const s=f(n);r instanceof G?e.reportError(r):e.reportError(new G(`Expected value of type "${s}", found ${se(t)}; `+r.message,{nodes:t,originalError:r}))}else{const r=f(n);e.reportError(new G(`Expected value of type "${r}", found ${se(t)}.`,{nodes:t}))}}function kr(e,t,n,r,s){return Ae(r)&&!Ae(t)?(null!=n&&n.kind!==F.NULL||void 0!==s)&&fn(e,t,r.ofType):fn(e,t,r)}const Pr=Object.freeze([function(e){return{Document(t){for(const n of t.definitions)if(!$n(n)){const t=n.kind===F.SCHEMA_DEFINITION||n.kind===F.SCHEMA_EXTENSION?"schema":'"'+n.name.value+'"';e.reportError(new G(`The ${t} definition is not executable.`,{nodes:n}))}return!1}}},function(e){const t=Object.create(null);return{OperationDefinition(n){const r=n.name;return r&&(t[r.value]?e.reportError(new G(`There can be only one operation named "${r.value}".`,{nodes:[t[r.value],r]})):t[r.value]=r),!1},FragmentDefinition:()=>!1}},function(e){let t=0;return{Document(e){t=e.definitions.filter((e=>e.kind===F.OPERATION_DEFINITION)).length},OperationDefinition(n){!n.name&&t>1&&e.reportError(new G("This anonymous operation must be the only defined operation.",{nodes:n}))}}},function(e){return{OperationDefinition(t){if("subscription"===t.operation){const n=e.getSchema(),r=n.getSubscriptionType();if(r){const s=t.name?t.name.value:null,o=Object.create(null),a=e.getDocument(),i=Object.create(null);for(const e of a.definitions)e.kind===F.FRAGMENT_DEFINITION&&(i[e.name.value]=e);const u=mr(n,i,o,r,t.selectionSet);if(u.size>1){const t=[...u.values()].slice(1).flat();e.reportError(new G(null!=s?`Subscription "${s}" must select only one top level field.`:"Anonymous Subscription must select only one top level field.",{nodes:t}))}for(const t of u.values())t[0].name.value.startsWith("__")&&e.reportError(new G(null!=s?`Subscription "${s}" must not select an introspection top level field.`:"Anonymous Subscription must not select an introspection top level field.",{nodes:t}))}}}}},Ln,function(e){return{InlineFragment(t){const n=t.typeCondition;if(n){const t=_n(e.getSchema(),n);if(t&&!Pe(t)){const t=se(n);e.reportError(new G(`Fragment cannot condition on non composite type "${t}".`,{nodes:n}))}}},FragmentDefinition(t){const n=_n(e.getSchema(),t.typeCondition);if(n&&!Pe(n)){const n=se(t.typeCondition);e.reportError(new G(`Fragment "${t.name.value}" cannot condition on non composite type "${n}".`,{nodes:t.typeCondition}))}}}},function(e){return{VariableDefinition(t){const n=_n(e.getSchema(),t.type);if(void 0!==n&&!Te(n)){const n=t.variable.name.value,r=se(t.type);e.reportError(new G(`Variable "$${n}" cannot be non-input type "${r}".`,{nodes:t.type}))}}}},function(e){return{Field(t){const n=e.getType(),r=t.selectionSet;if(n)if(ke(De(n))){if(r){const s=t.name.value,o=f(n);e.reportError(new G(`Field "${s}" must not have a selection since type "${o}" has no subfields.`,{nodes:r}))}}else if(!r){const r=t.name.value,s=f(n);e.reportError(new G(`Field "${r}" of type "${s}" must have a selection of subfields. Did you mean "${r} { ... }"?`,{nodes:t}))}}}},function(e){return{Field(t){const n=e.getParentType();if(n&&!e.getFieldDef()){const r=e.getSchema(),s=t.name.value;let o=w("to use an inline fragment on",function(e,t,n){if(!Ie(t))return[];const r=new Set,s=Object.create(null);for(const a of e.getPossibleTypes(t))if(a.getFields()[n]){r.add(a),s[a.name]=1;for(const e of a.getInterfaces()){var o;e.getFields()[n]&&(r.add(e),s[e.name]=(null!==(o=s[e.name])&&void 0!==o?o:0)+1)}}return[...r].sort(((t,n)=>{const r=s[n.name]-s[t.name];return 0!==r?r:ye(t)&&e.isSubType(t,n)?-1:ye(n)&&e.isSubType(n,t)?1:O(t.name,n.name)})).map((e=>e.name))}(r,n,s));""===o&&(o=w(function(e,t){return Se(e)||ye(e)?C(t,Object.keys(e.getFields())):[]}(n,s))),e.reportError(new G(`Cannot query field "${s}" on type "${n.name}".`+o,{nodes:t}))}}}},function(e){const t=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(n){const r=n.name.value;return t[r]?e.reportError(new G(`There can be only one fragment named "${r}".`,{nodes:[t[r],n.name]})):t[r]=n.name,!1}}},function(e){return{FragmentSpread(t){const n=t.name.value;e.getFragment(n)||e.reportError(new G(`Unknown fragment "${n}".`,{nodes:t.name}))}}},function(e){const t=[],n=[];return{OperationDefinition:e=>(t.push(e),!1),FragmentDefinition:e=>(n.push(e),!1),Document:{leave(){const r=Object.create(null);for(const n of t)for(const t of e.getRecursivelyReferencedFragments(n))r[t.name.value]=!0;for(const t of n){const n=t.name.value;!0!==r[n]&&e.reportError(new G(`Fragment "${n}" is never used.`,{nodes:t}))}}}}},function(e){return{InlineFragment(t){const n=e.getType(),r=e.getParentType();if(Pe(n)&&Pe(r)&&!hn(e.getSchema(),n,r)){const s=f(r),o=f(n);e.reportError(new G(`Fragment cannot be spread here as objects of type "${s}" can never be of type "${o}".`,{nodes:t}))}},FragmentSpread(t){const n=t.name.value,r=function(e,t){const n=e.getFragment(t);if(n){const t=_n(e.getSchema(),n.typeCondition);if(Pe(t))return t}}(e,n),s=e.getParentType();if(r&&s&&!hn(e.getSchema(),r,s)){const o=f(s),a=f(r);e.reportError(new G(`Fragment "${n}" cannot be spread here as objects of type "${o}" can never be of type "${a}".`,{nodes:t}))}}}},function(e){const t=Object.create(null),n=[],r=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition:e=>(s(e),!1)};function s(o){if(t[o.name.value])return;const a=o.name.value;t[a]=!0;const i=e.getFragmentSpreads(o.selectionSet);if(0!==i.length){r[a]=n.length;for(const t of i){const o=t.name.value,a=r[o];if(n.push(t),void 0===a){const t=e.getFragment(o);t&&s(t)}else{const t=n.slice(a),r=t.slice(0,-1).map((e=>'"'+e.name.value+'"')).join(", ");e.reportError(new G(`Cannot spread fragment "${o}" within itself`+(""!==r?` via ${r}.`:"."),{nodes:t}))}n.pop()}r[a]=void 0}}},function(e){return{OperationDefinition(t){var n;const r=vr(null!==(n=t.variableDefinitions)&&void 0!==n?n:[],(e=>e.variable.name.value));for(const[t,n]of r)n.length>1&&e.reportError(new G(`There can be only one variable named "$${t}".`,{nodes:n.map((e=>e.variable.name))}))}}},function(e){let t=Object.create(null);return{OperationDefinition:{enter(){t=Object.create(null)},leave(n){const r=e.getRecursiveVariableUsages(n);for(const{node:s}of r){const r=s.name.value;!0!==t[r]&&e.reportError(new G(n.name?`Variable "$${r}" is not defined by operation "${n.name.value}".`:`Variable "$${r}" is not defined.`,{nodes:[s,n]}))}}},VariableDefinition(e){t[e.variable.name.value]=!0}}},function(e){let t=[];return{OperationDefinition:{enter(){t=[]},leave(n){const r=Object.create(null),s=e.getRecursiveVariableUsages(n);for(const{node:e}of s)r[e.name.value]=!0;for(const s of t){const t=s.variable.name.value;!0!==r[t]&&e.reportError(new G(n.name?`Variable "$${t}" is never used in operation "${n.name.value}".`:`Variable "$${t}" is never used.`,{nodes:s}))}}},VariableDefinition(e){t.push(e)}}},Gn,Er,function(e){return{...Bn(e),Argument(t){const n=e.getArgument(),r=e.getFieldDef(),s=e.getParentType();if(!n&&r&&s){const n=t.name.value,o=C(n,r.args.map((e=>e.name)));e.reportError(new G(`Unknown argument "${n}" on field "${s.name}.${r.name}".`+w(o),{nodes:t}))}}}},br,function(e){return{ListValue(t){if(!Ee(xe(e.getParentInputType())))return wr(e,t),!1},ObjectValue(t){const n=De(e.getInputType());if(!be(n))return wr(e,t),!1;const r=P(t.fields,(e=>e.name.value));for(const s of Object.values(n.getFields()))if(!r[s.name]&&Ze(s)){const r=f(s.type);e.reportError(new G(`Field "${n.name}.${s.name}" of required type "${r}" was not provided.`,{nodes:t}))}},ObjectField(t){const n=De(e.getParentInputType());if(!e.getInputType()&&be(n)){const r=C(t.name.value,Object.keys(n.getFields()));e.reportError(new G(`Field "${t.name.value}" is not defined by type "${n.name}".`+w(r),{nodes:t}))}},NullValue(t){const n=e.getInputType();Ae(n)&&e.reportError(new G(`Expected value of type "${f(n)}", found ${se(t)}.`,{nodes:t}))},EnumValue:t=>wr(e,t),IntValue:t=>wr(e,t),FloatValue:t=>wr(e,t),StringValue:t=>wr(e,t),BooleanValue:t=>wr(e,t)}},function(e){return{...nr(e),Field:{leave(t){var n;const r=e.getFieldDef();if(!r)return!1;const s=new Set(null===(n=t.arguments)||void 0===n?void 0:n.map((e=>e.name.value)));for(const n of r.args)if(!s.has(n.name)&&Ue(n)){const s=f(n.type);e.reportError(new G(`Field "${r.name}" argument "${n.name}" of type "${s}" is required, but it was not provided.`,{nodes:t}))}}}}},function(e){let t=Object.create(null);return{OperationDefinition:{enter(){t=Object.create(null)},leave(n){const r=e.getRecursiveVariableUsages(n);for(const{node:n,type:s,defaultValue:o}of r){const r=n.name.value,a=t[r];if(a&&s){const t=e.getSchema(),i=_n(t,a.type);if(i&&!kr(t,i,a.defaultValue,s,o)){const t=f(i),o=f(s);e.reportError(new G(`Variable "$${r}" of type "${t}" used in position expecting type "${o}".`,{nodes:[a,n]}))}}}}},VariableDefinition(e){t[e.variable.name.value]=e}}},function(e){const t=new er,n=new Map;return{SelectionSet(r){const s=function(e,t,n,r,s){const o=[],[a,i]=zn(e,t,r,s);if(function(e,t,n,r,s){for(const[o,a]of Object.entries(s))if(a.length>1)for(let s=0;s<a.length;s++)for(let i=s+1;i<a.length;i++){const u=Wn(e,n,r,!1,o,a[s],a[i]);u&&t.push(u)}}(e,o,t,n,a),0!==i.length)for(let r=0;r<i.length;r++){Jn(e,o,t,n,!1,a,i[r]);for(let s=r+1;s<i.length;s++)Hn(e,o,t,n,!1,i[r],i[s])}return o}(e,n,t,e.getParentType(),r);for(const[[t,n],r,o]of s){const s=Un(n);e.reportError(new G(`Fields "${t}" conflict because ${s}. Use different aliases on the fields to fetch both if this was intentional.`,{nodes:r.concat(o)}))}}}},Tr]),Ir=Object.freeze([function(e){var t,n,r;const s=e.getSchema(),o=null!==(t=null!==(n=null!==(r=null==s?void 0:s.astNode)&&void 0!==r?r:null==s?void 0:s.getQueryType())&&void 0!==n?n:null==s?void 0:s.getMutationType())&&void 0!==t?t:null==s?void 0:s.getSubscriptionType();let a=0;return{SchemaDefinition(t){o?e.reportError(new G("Cannot define a new schema within a schema extension.",{nodes:t})):(a>0&&e.reportError(new G("Must provide only one schema definition.",{nodes:t})),++a)}}},function(e){const t=e.getSchema(),n=Object.create(null),r=t?{query:t.getQueryType(),mutation:t.getMutationType(),subscription:t.getSubscriptionType()}:{};return{SchemaDefinition:s,SchemaExtension:s};function s(t){var s;const o=null!==(s=t.operationTypes)&&void 0!==s?s:[];for(const t of o){const s=t.operation,o=n[s];r[s]?e.reportError(new G(`Type for ${s} already defined in the schema. It cannot be redefined.`,{nodes:t})):o?e.reportError(new G(`There can be only one ${s} type in schema.`,{nodes:[o,t]})):n[s]=t}return!1}},function(e){const t=Object.create(null),n=e.getSchema();return{ScalarTypeDefinition:r,ObjectTypeDefinition:r,InterfaceTypeDefinition:r,UnionTypeDefinition:r,EnumTypeDefinition:r,InputObjectTypeDefinition:r};function r(r){const s=r.name.value;if(null==n||!n.getType(s))return t[s]?e.reportError(new G(`There can be only one type named "${s}".`,{nodes:[t[s],r.name]})):t[s]=r.name,!1;e.reportError(new G(`Type "${s}" already exists in the schema. It cannot also be defined in this type definition.`,{nodes:r.name}))}},function(e){const t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);return{EnumTypeDefinition:s,EnumTypeExtension:s};function s(t){var s;const o=t.name.value;r[o]||(r[o]=Object.create(null));const a=null!==(s=t.values)&&void 0!==s?s:[],i=r[o];for(const t of a){const r=t.name.value,s=n[o];ve(s)&&s.getValue(r)?e.reportError(new G(`Enum value "${o}.${r}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:t.name})):i[r]?e.reportError(new G(`Enum value "${o}.${r}" can only be defined once.`,{nodes:[i[r],t.name]})):i[r]=t.name}return!1}},function(e){const t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);return{InputObjectTypeDefinition:s,InputObjectTypeExtension:s,InterfaceTypeDefinition:s,InterfaceTypeExtension:s,ObjectTypeDefinition:s,ObjectTypeExtension:s};function s(t){var s;const o=t.name.value;r[o]||(r[o]=Object.create(null));const a=null!==(s=t.fields)&&void 0!==s?s:[],i=r[o];for(const t of a){const r=t.name.value;Ar(n[o],r)?e.reportError(new G(`Field "${o}.${r}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:t.name})):i[r]?e.reportError(new G(`Field "${o}.${r}" can only be defined once.`,{nodes:[i[r],t.name]})):i[r]=t.name}return!1}},function(e){return{DirectiveDefinition(e){var t;const r=null!==(t=e.arguments)&&void 0!==t?t:[];return n(`@${e.name.value}`,r)},InterfaceTypeDefinition:t,InterfaceTypeExtension:t,ObjectTypeDefinition:t,ObjectTypeExtension:t};function t(e){var t;const r=e.name.value,s=null!==(t=e.fields)&&void 0!==t?t:[];for(const e of s){var o;n(`${r}.${e.name.value}`,null!==(o=e.arguments)&&void 0!==o?o:[])}return!1}function n(t,n){const r=vr(n,(e=>e.name.value));for(const[n,s]of r)s.length>1&&e.reportError(new G(`Argument "${t}(${n}:)" can only be defined once.`,{nodes:s.map((e=>e.name))}));return!1}},function(e){const t=Object.create(null),n=e.getSchema();return{DirectiveDefinition(r){const s=r.name.value;if(null==n||!n.getDirective(s))return t[s]?e.reportError(new G(`There can be only one directive named "@${s}".`,{nodes:[t[s],r.name]})):t[s]=r.name,!1;e.reportError(new G(`Directive "@${s}" already exists in the schema. It cannot be redefined.`,{nodes:r.name}))}}},Ln,Gn,Er,function(e){const t=e.getSchema(),n=Object.create(null);for(const t of e.getDocument().definitions)qn(t)&&(n[t.name.value]=t);return{ScalarTypeExtension:r,ObjectTypeExtension:r,InterfaceTypeExtension:r,UnionTypeExtension:r,EnumTypeExtension:r,InputObjectTypeExtension:r};function r(r){const s=r.name.value,o=n[s],a=null==t?void 0:t.getType(s);let i;if(o?i=tr[o.kind]:a&&(i=me(u=a)?F.SCALAR_TYPE_EXTENSION:Se(u)?F.OBJECT_TYPE_EXTENSION:ye(u)?F.INTERFACE_TYPE_EXTENSION:ge(u)?F.UNION_TYPE_EXTENSION:ve(u)?F.ENUM_TYPE_EXTENSION:be(u)?F.INPUT_OBJECT_TYPE_EXTENSION:void R(!1,"Unexpected type: "+f(u))),i){if(i!==r.kind){const t=function(e){switch(e){case F.SCALAR_TYPE_EXTENSION:return"scalar";case F.OBJECT_TYPE_EXTENSION:return"object";case F.INTERFACE_TYPE_EXTENSION:return"interface";case F.UNION_TYPE_EXTENSION:return"union";case F.ENUM_TYPE_EXTENSION:return"enum";case F.INPUT_OBJECT_TYPE_EXTENSION:return"input object";default:R(!1,"Unexpected kind: "+f(e))}}(r.kind);e.reportError(new G(`Cannot extend non-${t} type "${s}".`,{nodes:o?[o,r]:r}))}}else{const o=C(s,Object.keys({...n,...null==t?void 0:t.getTypeMap()}));e.reportError(new G(`Cannot extend type "${s}" because it is not defined.`+w(o),{nodes:r.name}))}var u}},Bn,br,Tr,nr]);class Nr{constructor(e,t){this._ast=e,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=t}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(e){this._onError(e)}getDocument(){return this._ast}getFragment(e){let t;if(this._fragments)t=this._fragments;else{t=Object.create(null);for(const e of this.getDocument().definitions)e.kind===F.FRAGMENT_DEFINITION&&(t[e.name.value]=e);this._fragments=t}return t[e]}getFragmentSpreads(e){let t=this._fragmentSpreads.get(e);if(!t){t=[];const n=[e];let r;for(;r=n.pop();)for(const e of r.selections)e.kind===F.FRAGMENT_SPREAD?t.push(e):e.selectionSet&&n.push(e.selectionSet);this._fragmentSpreads.set(e,t)}return t}getRecursivelyReferencedFragments(e){let t=this._recursivelyReferencedFragments.get(e);if(!t){t=[];const n=Object.create(null),r=[e.selectionSet];let s;for(;s=r.pop();)for(const e of this.getFragmentSpreads(s)){const s=e.name.value;if(!0!==n[s]){n[s]=!0;const e=this.getFragment(s);e&&(t.push(e),r.push(e.selectionSet))}}this._recursivelyReferencedFragments.set(e,t)}return t}}class Or extends Nr{constructor(e,t,n){super(e,n),this._schema=t}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}}class _r extends Nr{constructor(e,t,n,r){super(t,r),this._schema=e,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(e){let t=this._variableUsages.get(e);if(!t){const n=[],r=new xn(this._schema);te(e,Dn(r,{VariableDefinition:()=>!1,Variable(e){n.push({node:e,type:r.getInputType(),defaultValue:r.getDefaultValue()})}})),t=n,this._variableUsages.set(e,t)}return t}getRecursiveVariableUsages(e){let t=this._recursiveVariableUsages.get(e);if(!t){t=this.getVariableUsages(e);for(const n of this.getRecursivelyReferencedFragments(e))t=t.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(e,t)}return t}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}}function xr(e,t,n=Pr,r,s=new xn(e)){var o;const a=null!==(o=null==r?void 0:r.maxErrors)&&void 0!==o?o:100;t||p(!1,"Must provide document."),Sn(e);const i=Object.freeze({}),u=[],c=new _r(e,t,s,(e=>{if(u.length>=a)throw u.push(new G("Too many validation errors, error limit reached. Validation aborted.")),i;u.push(e)})),d=ne(n.map((e=>e(c))));try{te(t,Dn(s,d))}catch(e){if(e!==i)throw e}return u}const Cr=P([...it,...Dt],(e=>e.name));function Dr(e){const t=fr(ht,e);return null==t?void 0:t.reason}function $r(e){const t=fr(mt,e);return null==t?void 0:t.url}function Rr(e,t){null!=e&&e.kind===F.DOCUMENT||p(!1,"Must provide valid Document AST."),!0!==(null==t?void 0:t.assumeValid)&&!0!==(null==t?void 0:t.assumeValidSDL)&&function(e){const t=function(e,t,n=Ir){const r=[],s=new Or(e,t,(e=>{r.push(e)}));return te(e,ne(n.map((e=>e(s))))),r}(e);if(0!==t.length)throw new Error(t.map((e=>e.message)).join("\n\n"))}(e);const n=function(e,t,n){var r,s,o,a;const i=[],u=Object.create(null),c=[];let d;const l=[];for(const e of t.definitions)if(e.kind===F.SCHEMA_DEFINITION)d=e;else if(e.kind===F.SCHEMA_EXTENSION)l.push(e);else if(qn(e))i.push(e);else if(Mn(e)){const t=e.name.value,n=u[t];u[t]=n?n.concat([e]):[e]}else e.kind===F.DIRECTIVE_DEFINITION&&c.push(e);if(0===Object.keys(u).length&&0===i.length&&0===c.length&&0===l.length&&null==d)return e;const p=Object.create(null);for(const t of e.types)p[t.name]=$t(h=t)||ut(h)?h:me(h)?function(e){var t;const n=e.toConfig(),r=null!==(t=u[n.name])&&void 0!==t?t:[];let s=n.specifiedByURL;for(const e of r){var o;s=null!==(o=$r(e))&&void 0!==o?o:s}return new qe({...n,specifiedByURL:s,extensionASTNodes:n.extensionASTNodes.concat(r)})}(h):Se(h)?function(e){var t;const n=e.toConfig(),r=null!==(t=u[n.name])&&void 0!==t?t:[];return new je({...n,interfaces:()=>[...e.getInterfaces().map(g),...O(r)],fields:()=>({...N(n.fields,v),...w(r)}),extensionASTNodes:n.extensionASTNodes.concat(r)})}(h):ye(h)?function(e){var t;const n=e.toConfig(),r=null!==(t=u[n.name])&&void 0!==t?t:[];return new Je({...n,interfaces:()=>[...e.getInterfaces().map(g),...O(r)],fields:()=>({...N(n.fields,v),...w(r)}),extensionASTNodes:n.extensionASTNodes.concat(r)})}(h):ge(h)?function(e){var t;const n=e.toConfig(),r=null!==(t=u[n.name])&&void 0!==t?t:[];return new He({...n,types:()=>[...e.getTypes().map(g),..._(r)],extensionASTNodes:n.extensionASTNodes.concat(r)})}(h):ve(h)?function(e){var t;const n=e.toConfig(),r=null!==(t=u[e.name])&&void 0!==t?t:[];return new We({...n,values:{...n.values,...I(r)},extensionASTNodes:n.extensionASTNodes.concat(r)})}(h):be(h)?function(e){var t;const n=e.toConfig(),r=null!==(t=u[n.name])&&void 0!==t?t:[];return new Ye({...n,fields:()=>({...N(n.fields,(e=>({...e,type:y(e.type)}))),...P(r)}),extensionASTNodes:n.extensionASTNodes.concat(r)})}(h):void R(!1,"Unexpected type: "+f(h));var h;for(const e of i){var m;const t=e.name.value;p[t]=null!==(m=Cr[t])&&void 0!==m?m:x(e)}const S={query:e.query&&g(e.query),mutation:e.mutation&&g(e.mutation),subscription:e.subscription&&g(e.subscription),...d&&E([d]),...E(l)};return{description:null===(r=d)||void 0===r||null===(s=r.description)||void 0===s?void 0:s.value,...S,types:Object.values(p),directives:[...e.directives.map((function(e){const t=e.toConfig();return new lt({...t,args:N(t.args,b)})})),...c.map((function(e){var t;return new lt({name:e.name.value,description:null===(t=e.description)||void 0===t?void 0:t.value,locations:e.locations.map((({value:e})=>e)),isRepeatable:e.repeatable,args:k(e.arguments),astNode:e})}))],extensions:Object.create(null),astNode:null!==(o=d)&&void 0!==o?o:e.astNode,extensionASTNodes:e.extensionASTNodes.concat(l),assumeValid:null!==(a=null==n?void 0:n.assumeValid)&&void 0!==a&&a};function y(e){return Ee(e)?new Ne(y(e.ofType)):Ae(e)?new Oe(y(e.ofType)):g(e)}function g(e){return p[e.name]}function v(e){return{...e,type:y(e.type),args:e.args&&N(e.args,b)}}function b(e){return{...e,type:y(e.type)}}function E(e){const t={};for(const r of e){var n;const e=null!==(n=r.operationTypes)&&void 0!==n?n:[];for(const n of e)t[n.operation]=A(n.type)}return t}function A(e){var t;const n=e.name.value,r=null!==(t=Cr[n])&&void 0!==t?t:p[n];if(void 0===r)throw new Error(`Unknown type: "${n}".`);return r}function T(e){return e.kind===F.LIST_TYPE?new Ne(T(e.type)):e.kind===F.NON_NULL_TYPE?new Oe(T(e.type)):A(e)}function w(e){const t=Object.create(null);for(const s of e){var n;const e=null!==(n=s.fields)&&void 0!==n?n:[];for(const n of e){var r;t[n.name.value]={type:T(n.type),description:null===(r=n.description)||void 0===r?void 0:r.value,args:k(n.arguments),deprecationReason:Dr(n),astNode:n}}}return t}function k(e){const t=null!=e?e:[],n=Object.create(null);for(const e of t){var r;const t=T(e.type);n[e.name.value]={type:t,description:null===(r=e.description)||void 0===r?void 0:r.value,defaultValue:dr(e.defaultValue,t),deprecationReason:Dr(e),astNode:e}}return n}function P(e){const t=Object.create(null);for(const s of e){var n;const e=null!==(n=s.fields)&&void 0!==n?n:[];for(const n of e){var r;const e=T(n.type);t[n.name.value]={type:e,description:null===(r=n.description)||void 0===r?void 0:r.value,defaultValue:dr(n.defaultValue,e),deprecationReason:Dr(n),astNode:n}}}return t}function I(e){const t=Object.create(null);for(const s of e){var n;const e=null!==(n=s.values)&&void 0!==n?n:[];for(const n of e){var r;t[n.name.value]={description:null===(r=n.description)||void 0===r?void 0:r.value,deprecationReason:Dr(n),astNode:n}}}return t}function O(e){return e.flatMap((e=>{var t,n;return null!==(t=null===(n=e.interfaces)||void 0===n?void 0:n.map(A))&&void 0!==t?t:[]}))}function _(e){return e.flatMap((e=>{var t,n;return null!==(t=null===(n=e.types)||void 0===n?void 0:n.map(A))&&void 0!==t?t:[]}))}function x(e){var t;const n=e.name.value,r=null!==(t=u[n])&&void 0!==t?t:[];switch(e.kind){case F.OBJECT_TYPE_DEFINITION:{var s;const t=[e,...r];return new je({name:n,description:null===(s=e.description)||void 0===s?void 0:s.value,interfaces:()=>O(t),fields:()=>w(t),astNode:e,extensionASTNodes:r})}case F.INTERFACE_TYPE_DEFINITION:{var o;const t=[e,...r];return new Je({name:n,description:null===(o=e.description)||void 0===o?void 0:o.value,interfaces:()=>O(t),fields:()=>w(t),astNode:e,extensionASTNodes:r})}case F.ENUM_TYPE_DEFINITION:{var a;const t=[e,...r];return new We({name:n,description:null===(a=e.description)||void 0===a?void 0:a.value,values:I(t),astNode:e,extensionASTNodes:r})}case F.UNION_TYPE_DEFINITION:{var i;const t=[e,...r];return new He({name:n,description:null===(i=e.description)||void 0===i?void 0:i.value,types:()=>_(t),astNode:e,extensionASTNodes:r})}case F.SCALAR_TYPE_DEFINITION:var c;return new qe({name:n,description:null===(c=e.description)||void 0===c?void 0:c.value,specifiedByURL:$r(e),astNode:e,extensionASTNodes:r});case F.INPUT_OBJECT_TYPE_DEFINITION:{var d;const t=[e,...r];return new Ye({name:n,description:null===(d=e.description)||void 0===d?void 0:d.value,fields:()=>P(t),astNode:e,extensionASTNodes:r})}}}}({description:void 0,types:[],directives:[],extensions:Object.create(null),extensionASTNodes:[],assumeValid:!1},e,t);if(null==n.astNode)for(const e of n.types)switch(e.name){case"Query":n.query=e;break;case"Mutation":n.mutation=e;break;case"Subscription":n.subscription=e}const r=[...n.directives,...St.filter((e=>n.directives.every((t=>t.name!==e.name))))];return new qt({...n,directives:r})}const qr=e=>Array.isArray(e)?e:e?[e]:[];function jr(e){var t,n;let r;return"alias"in e&&(r=null===(t=e.alias)||void 0===t?void 0:t.value),null==r&&"name"in e&&(r=null===(n=e.name)||void 0===n?void 0:n.value),null==r&&(r=e.kind),r}function Mr(e,t,n){const r=jr(e),s=jr(t);return"function"==typeof n?n(r,s):function(e,t){return String(e)<String(t)?-1:String(e)>String(t)?1:0}(r,s)}function Br(e){return null!=e}function Gr(e,t){const n=e.getTypeMap();for(const e in n){const r=n[e];if(!De(r).name.startsWith("__"))if(Se(r)){const e=r.getFields();for(const n in e){const r=e[n];for(const e of r.args)e.defaultValue=t(e.type,e.defaultValue)}}else if(be(r)){const e=r.getFields();for(const n in e){const r=e[n];r.defaultValue=t(r.type,r.defaultValue)}}}}function Lr(e,t,n=null,r=null){if(null==t)return t;const s=xe(e);if(ke(s))return null!=n?n(s,t):t;if(Ee(s))return qr(t).map((e=>Lr(s.ofType,e,n,r)));if(be(s)){const e=s.getFields(),o={};for(const s in t){const a=e[s];null!=a&&(o[s]=Lr(a.type,t[s],n,r))}return null!=r?r(s,o):o}}function Fr(e,t){return Lr(e,t,((e,t)=>{try{return e.serialize(t)}catch(e){return t}}))}function Vr(e,t){return Lr(e,t,((e,t)=>{try{return e.parseValue(t)}catch(e){return t}}))}var Ur,Jr=n(5108);function Hr(e){return function(e,t){const n=Object.create(null);for(const t in e){const r=e[t];if(null==r||t.startsWith("__"))continue;const s=r.name;s.startsWith("__")||(null==n[s]?n[s]=r:Jr.warn(`Duplicate schema type name ${s} found; keeping the existing one found in the schema`))}for(const t in n){const r=n[t];e[t]=r}for(const e of t)e.args=e.args.filter((e=>(e.type=a(e.type),null!==e.type)));for(const t in e){const s=e[t];!t.startsWith("__")&&t in n&&null!=s&&r(s)}for(const t in e)t.startsWith("__")||t in n||delete e[t];function r(e){if(Se(e))return s(e),void o(e);if(ye(e))return s(e),void("getInterfaces"in e&&o(e));if(ge(e))!function(e){const t=e.getTypes();t.push(...t.splice(0).map((e=>a(e))).filter(Boolean))}(e);else if(be(e))!function(e){const t=e.getFields();for(const[e,n]of Object.entries(t))n.type=a(n.type),null===n.type&&delete t[e]}(e);else if(!ke(e))throw new Error(`Unexpected schema type: ${e}`)}function s(e){const t=e.getFields();for(const[e,n]of Object.entries(t))n.args.map((e=>(e.type=a(e.type),null===e.type?null:e))).filter(Boolean),n.type=a(n.type),null===n.type&&delete t[e]}function o(e){if("getInterfaces"in e){const t=e.getInterfaces();t.push(...t.splice(0).map((e=>a(e))).filter(Boolean))}}function a(t){if(Ee(t)){const e=a(t.ofType);return null!=e?new Ne(e):null}if(Ae(t)){const e=a(t.ofType);return null!=e?new Oe(e):null}if(Ce(t)){const n=e[t.name];if(n&&t!==n)return n}return t}}(e.getTypeMap(),e.getDirectives()),e}function Kr(e,t){const n=e.getTypeMap();for(const e in n){const r=n[e];if(!De(r).name.startsWith("__")&&Se(r)){const n=r.getFields();for(const r in n)t(n[r],e,r)}}}function Wr(e,t){if(t){const n=e[t.name];if(Se(n))return n}}!function(e){e.TYPE="MapperKind.TYPE",e.SCALAR_TYPE="MapperKind.SCALAR_TYPE",e.ENUM_TYPE="MapperKind.ENUM_TYPE",e.COMPOSITE_TYPE="MapperKind.COMPOSITE_TYPE",e.OBJECT_TYPE="MapperKind.OBJECT_TYPE",e.INPUT_OBJECT_TYPE="MapperKind.INPUT_OBJECT_TYPE",e.ABSTRACT_TYPE="MapperKind.ABSTRACT_TYPE",e.UNION_TYPE="MapperKind.UNION_TYPE",e.INTERFACE_TYPE="MapperKind.INTERFACE_TYPE",e.ROOT_OBJECT="MapperKind.ROOT_OBJECT",e.QUERY="MapperKind.QUERY",e.MUTATION="MapperKind.MUTATION",e.SUBSCRIPTION="MapperKind.SUBSCRIPTION",e.DIRECTIVE="MapperKind.DIRECTIVE",e.FIELD="MapperKind.FIELD",e.COMPOSITE_FIELD="MapperKind.COMPOSITE_FIELD",e.OBJECT_FIELD="MapperKind.OBJECT_FIELD",e.ROOT_FIELD="MapperKind.ROOT_FIELD",e.QUERY_ROOT_FIELD="MapperKind.QUERY_ROOT_FIELD",e.MUTATION_ROOT_FIELD="MapperKind.MUTATION_ROOT_FIELD",e.SUBSCRIPTION_ROOT_FIELD="MapperKind.SUBSCRIPTION_ROOT_FIELD",e.INTERFACE_FIELD="MapperKind.INTERFACE_FIELD",e.INPUT_OBJECT_FIELD="MapperKind.INPUT_OBJECT_FIELD",e.ARGUMENT="MapperKind.ARGUMENT",e.ENUM_VALUE="MapperKind.ENUM_VALUE"}(Ur||(Ur={}));var Xr=n(5108);function Yr(e,t={}){const n=ts(es(zr(Zr(function(e,t,n){const r=function(e){const t=e[Ur.ENUM_VALUE];return null!=t?t:null}(n);return r?zr(e,t,{[Ur.ENUM_TYPE]:e=>{const n=e.toConfig(),s=n.values,o={};for(const n in s){const a=s[n],i=r(a,e.name,t,n);if(void 0===i)o[n]=a;else if(Array.isArray(i)){const[e,t]=i;o[e]=void 0===t?a:t}else null!==i&&(o[n]=i)}return os(new We({...n,values:o}))}},(e=>ve(e))):e}(zr(Zr(e.getTypeMap(),e,Fr),e,t,(e=>ke(e))),e,t),e,Vr),e,t,(e=>!ke(e))),e,t),e,t),r=function(e,t,n){const r=function(e){const t=e[Ur.DIRECTIVE];return null!=t?t:null}(n);if(null==r)return e.slice();const s=[];for(const n of e){const e=r(n,t);void 0===e?s.push(n):null!==e&&s.push(e)}return s}(e.getDirectives(),e,t),{typeMap:s,directives:o}=function(e,t){const n=Object.create(null);for(const t in e)n[t]=e[t];const r=Object.create(null);for(const e in n){const t=n[e];if(null==t||e.startsWith("__"))continue;const s=t.name;s.startsWith("__")||(null==r[s]?r[s]=t:Xr.warn(`Duplicate schema type name ${s} found; keeping the existing one found in the schema`))}for(const e in r)r[e]=a(r[e]);const s=t.map((e=>function(e){if(yt(e))return e;const t=e.toConfig();return t.args=o(t.args),new lt(t)}(e)));return{typeMap:r,directives:s};function o(e){const t={};for(const n in e){const r=e[n],s=c(r.type);null!=s&&(r.type=s,t[n]=r)}return t}function a(e){if(Se(e)){const t=e.toConfig(),n={...t,fields:()=>i(t.fields),interfaces:()=>u(t.interfaces)};return new je(n)}if(ye(e)){const t=e.toConfig(),n={...t,fields:()=>i(t.fields)};return"interfaces"in n&&(n.interfaces=()=>u(t.interfaces)),new Je(n)}if(ge(e)){const t=e.toConfig(),n={...t,types:()=>u(t.types)};return new He(n)}if(be(e)){const t=e.toConfig(),n={...t,fields:()=>function(e){const t={};for(const n in e){const r=e[n],s=c(r.type);null!=s&&(r.type=s,t[n]=r)}return t}(t.fields)};return new Ye(n)}if(ve(e)){const t=e.toConfig();return new We(t)}if(me(e)){if(ut(e))return e;const t=e.toConfig();return new qe(t)}throw new Error(`Unexpected schema type: ${e}`)}function i(e){const t={};for(const n in e){const r=e[n],s=c(r.type);null!=s&&r.args&&(r.type=s,r.args=o(r.args),t[n]=r)}return t}function u(e){const t=[];for(const n of e){const e=c(n);null!=e&&t.push(e)}return t}function c(e){if(Ee(e)){const t=c(e.ofType);return null!=t?new Ne(t):null}if(Ae(e)){const t=c(e.ofType);return null!=t?new Oe(t):null}if(Ce(e)){let t=n[e.name];return void 0===t&&(t=function(e){if("getFields"in e){const t=e.getFields();for(const e in t)return"_fake"===t[e].name}return!1}(e)?function(e){switch(e.name){case nt.name:return nt;case rt.name:return rt;case st.name:return st;case ot.name:return ot;case at.name:return at;default:return e}}(e):a(e),r[t.name]=n[e.name]=t),null!=t?r[t.name]:null}return null}}(n,r);return new qt({...e.toConfig(),query:Wr(s,Wr(n,e.getQueryType())),mutation:Wr(s,Wr(n,e.getMutationType())),subscription:Wr(s,Wr(n,e.getSubscriptionType())),types:Object.values(s),directives:o})}function zr(e,t,n,r=(()=>!0)){const s={};for(const o in e)if(!o.startsWith("__")){const a=e[o];if(null==a||!r(a)){s[o]=a;continue}const i=ns(t,n,o);if(null==i){s[o]=a;continue}const u=i(a,t);if(void 0===u){s[o]=a;continue}s[o]=u}return s}function Zr(e,t,n){const r=ts(e,t,{[Ur.ARGUMENT]:t=>{if(void 0===t.defaultValue)return t;const r=Qr(e,t.type);return null!=r?{...t,defaultValue:n(r,t.defaultValue)}:void 0}});return es(r,t,{[Ur.INPUT_OBJECT_FIELD]:e=>{if(void 0===e.defaultValue)return e;const t=Qr(r,e.type);return null!=t?{...e,defaultValue:n(t,e.defaultValue)}:void 0}})}function Qr(e,t){if(Ee(t)){const n=Qr(e,t.ofType);return null!=n?new Ne(n):null}if(Ae(t)){const n=Qr(e,t.ofType);return null!=n?new Oe(n):null}if(Ce(t)){const n=e[t.name];return null!=n?n:null}return null}function es(e,t,n){const r={};for(const s in e)if(!s.startsWith("__")){const o=e[s];if(!Se(o)&&!ye(o)&&!be(o)){r[s]=o;continue}const a=rs(t,n,s);if(null==a){r[s]=o;continue}const i=o.toConfig(),u=i.fields,c={};for(const e in u){const n=u[e],r=a(n,e,s,t);if(void 0===r)c[e]=n;else if(Array.isArray(r)){const[e,t]=r;null!=t.astNode&&(t.astNode={...t.astNode,name:{...t.astNode.name,value:e}}),c[e]=void 0===t?n:t}else null!==r&&(c[e]=r)}Se(o)?r[s]=os(new je({...i,fields:c})):ye(o)?r[s]=os(new Je({...i,fields:c})):r[s]=os(new Ye({...i,fields:c}))}return r}function ts(e,t,n){const r={};for(const s in e)if(!s.startsWith("__")){const o=e[s];if(!Se(o)&&!ye(o)){r[s]=o;continue}const a=ss(n);if(null==a){r[s]=o;continue}const i=o.toConfig(),u=i.fields,c={};for(const e in u){const n=u[e],r=n.args;if(null==r){c[e]=n;continue}const o=Object.keys(r);if(!o.length){c[e]=n;continue}const i={};for(const n of o){const o=r[n],u=a(o,e,s,t);if(void 0===u)i[n]=o;else if(Array.isArray(u)){const[e,t]=u;i[e]=t}else null!==u&&(i[n]=u)}c[e]={...n,args:i}}Se(o)?r[s]=new je({...i,fields:c}):ye(o)?r[s]=new Je({...i,fields:c}):r[s]=new Ye({...i,fields:c})}return r}function ns(e,t,n){const r=function(e,t){var n,r,s;const o=e.getType(t),a=[Ur.TYPE];return Se(o)?(a.push(Ur.COMPOSITE_TYPE,Ur.OBJECT_TYPE),t===(null===(n=e.getQueryType())||void 0===n?void 0:n.name)?a.push(Ur.ROOT_OBJECT,Ur.QUERY):t===(null===(r=e.getMutationType())||void 0===r?void 0:r.name)?a.push(Ur.ROOT_OBJECT,Ur.MUTATION):t===(null===(s=e.getSubscriptionType())||void 0===s?void 0:s.name)&&a.push(Ur.ROOT_OBJECT,Ur.SUBSCRIPTION)):be(o)?a.push(Ur.INPUT_OBJECT_TYPE):ye(o)?a.push(Ur.COMPOSITE_TYPE,Ur.ABSTRACT_TYPE,Ur.INTERFACE_TYPE):ge(o)?a.push(Ur.COMPOSITE_TYPE,Ur.ABSTRACT_TYPE,Ur.UNION_TYPE):ve(o)?a.push(Ur.ENUM_TYPE):me(o)&&a.push(Ur.SCALAR_TYPE),a}(e,n);let s;const o=[...r];for(;!s&&o.length>0;)s=t[o.pop()];return null!=s?s:null}function rs(e,t,n){const r=function(e,t){var n,r,s;const o=e.getType(t),a=[Ur.FIELD];return Se(o)?(a.push(Ur.COMPOSITE_FIELD,Ur.OBJECT_FIELD),t===(null===(n=e.getQueryType())||void 0===n?void 0:n.name)?a.push(Ur.ROOT_FIELD,Ur.QUERY_ROOT_FIELD):t===(null===(r=e.getMutationType())||void 0===r?void 0:r.name)?a.push(Ur.ROOT_FIELD,Ur.MUTATION_ROOT_FIELD):t===(null===(s=e.getSubscriptionType())||void 0===s?void 0:s.name)&&a.push(Ur.ROOT_FIELD,Ur.SUBSCRIPTION_ROOT_FIELD)):ye(o)?a.push(Ur.COMPOSITE_FIELD,Ur.INTERFACE_FIELD):be(o)&&a.push(Ur.INPUT_OBJECT_FIELD),a}(e,n);let s;const o=[...r];for(;!s&&o.length>0;)s=t[o.pop()];return null!=s?s:null}function ss(e){const t=e[Ur.ARGUMENT];return null!=t?t:null}function os(e){if(Se(e)){const t=e.toConfig();if(null!=t.astNode){const e=[];for(const n in t.fields){const r=t.fields[n];null!=r.astNode&&e.push(r.astNode)}t.astNode={...t.astNode,kind:F.OBJECT_TYPE_DEFINITION,fields:e}}return null!=t.extensionASTNodes&&(t.extensionASTNodes=t.extensionASTNodes.map((e=>({...e,kind:F.OBJECT_TYPE_EXTENSION,fields:void 0})))),new je(t)}if(ye(e)){const t=e.toConfig();if(null!=t.astNode){const e=[];for(const n in t.fields){const r=t.fields[n];null!=r.astNode&&e.push(r.astNode)}t.astNode={...t.astNode,kind:F.INTERFACE_TYPE_DEFINITION,fields:e}}return null!=t.extensionASTNodes&&(t.extensionASTNodes=t.extensionASTNodes.map((e=>({...e,kind:F.INTERFACE_TYPE_EXTENSION,fields:void 0})))),new Je(t)}if(be(e)){const t=e.toConfig();if(null!=t.astNode){const e=[];for(const n in t.fields){const r=t.fields[n];null!=r.astNode&&e.push(r.astNode)}t.astNode={...t.astNode,kind:F.INPUT_OBJECT_TYPE_DEFINITION,fields:e}}return null!=t.extensionASTNodes&&(t.extensionASTNodes=t.extensionASTNodes.map((e=>({...e,kind:F.INPUT_OBJECT_TYPE_EXTENSION,fields:void 0})))),new Ye(t)}if(ve(e)){const t=e.toConfig();if(null!=t.astNode){const e=[];for(const n in t.values){const r=t.values[n];null!=r.astNode&&e.push(r.astNode)}t.astNode={...t.astNode,values:e}}return null!=t.extensionASTNodes&&(t.extensionASTNodes=t.extensionASTNodes.map((e=>({...e,values:void 0})))),new We(t)}return e}var as=n(5108);function is(e,t){for(const n in t)e[n]=t[n]}var us,cs=n(5108);function ds(e,t,n,r,s){if(n.resolve){if("function"!=typeof n.resolve)throw new Error(`Resolver "${r}.${s}" must be a function`)}else{const n=`Resolver missing for "${r}.${s}".\nTo disable this validator, use:\n resolverValidationOptions: {\n ${e}: 'ignore'\n }`;if("error"===t)throw new Error(n);"warn"===t&&cs.warn(n)}}function ls(e){let t=e;for(;t.kind===F.LIST_TYPE||"NonNullType"===t.kind;)t=t.type;return t}function ps(e){return e.kind!==F.NAMED_TYPE}function fs(e){return e.kind===F.LIST_TYPE}function hs(e){return e.kind===F.NON_NULL_TYPE}function ms(e){return fs(e)?`[${ms(e.type)}]`:hs(e)?`${ms(e.type)}!`:e.name.value}function Ss(e,t){return null==e&&null==t?us.A_EQUALS_B:null==e?us.A_SMALLER_THAN_B:null==t?us.A_GREATER_THAN_B:e<t?us.A_SMALLER_THAN_B:e>t?us.A_GREATER_THAN_B:us.A_EQUALS_B}function ys(e,t){return!!e.find((e=>e.name.value===t.name.value))}function gs(e,t){const n=[...t];for(const t of e){const e=n.findIndex((e=>e.name.value===t.name.value));if(e>-1){const r=n[e];if("ListValue"===r.value.kind){const e=r.value.values,n=t.value.values;r.value.values=Es(e,n,((e,t)=>{const n=e.value;return!n||!t.some((e=>e.value===n))}))}else r.value=t.value}else n.push(t)}return n}function vs(e=[],t=[],n){const r=n&&n.reverseDirectives,s=r?t:e,o=[...r?e:t].map(((e,t,n)=>{const r=n.findIndex((t=>t.name.value===e.name.value));if(r!==t){const t=n[r];return e.arguments=gs(e.arguments,t.arguments),null}return e})).filter(Br);for(const e of s)if(ys(o,e)){const t=o.findIndex((t=>t.name.value===e.name.value)),n=o[t];o[t].arguments=gs(e.arguments||[],n.arguments||[])}else o.push(e);return o}function bs(e,t){return t?(function(e,t){const n=se({...e,description:void 0}),r=se({...t,description:void 0}),s=new RegExp("(directive @w*d*)|( on .*$)","g");if(n.replace(s,"")!==r.replace(s,""))throw new Error(`Unable to merge GraphQL directive "${e.name.value}". \nExisting directive: \n\t${r} \nReceived directive: \n\t${n}`)}(e,t),{...e,locations:[...t.locations,...e.locations.filter((e=>!function(e,t){return t.some((({value:t})=>t===e.value))}(e,t.locations)))]}):e}function Es(e,t,n){return e.concat(t.filter((t=>n(t,e))))}function As(e,t,n){const r=[...t,...e].filter(Br).reduce(((e,t)=>e.find((e=>e.name.value===t.name.value))?e:e.concat([t])),[]);return n&&n.sort&&r.sort(Mr),r}function Ts(e,t,n){const r=e.find((e=>e.name.value===t.name.value));if(r&&!(null==n?void 0:n.ignoreFieldConflicts)){const e=ls(r.type),n=ls(t.type);if(e.name.value!==n.name.value)throw new Error(`Field "${t.name.value}" already defined with a different type. Declared as "${e.name.value}", but you tried to override with "${n.name.value}"`)}return!!r}function ws(e,t,n,r){const s=[];if(null!=n&&s.push(...n),null!=t)for(const n of t)if(Ts(s,n,r)){const t=s.find((e=>e.name.value===n.name.value));(null==r?void 0:r.ignoreFieldConflicts)||((null==r?void 0:r.throwOnConflict)?ks(e,t,n,!1):ks(e,t,n,!0),hs(n.type)&&!hs(t.type)&&(t.type=n.type)),t.arguments=As(n.arguments||[],t.arguments||[],r),t.directives=vs(n.directives,t.directives,r),t.description=n.description||t.description}else s.push(n);if(r&&r.sort&&s.sort(Mr),r&&r.exclusions){const t=r.exclusions;return s.filter((n=>!t.includes(`${e.name.value}.${n.name.value}`)))}return s}function ks(e,t,n,r=!1){const s=ms(t.type),o=ms(n.type);if(s!==o&&!Ps(t.type,n.type,r))throw new Error(`Field '${e.name.value}.${t.name.value}' changed type from '${s}' to '${o}'`)}function Ps(e,t,n=!1){return ps(e)||ps(t)?hs(t)?Ps(hs(e)?e.type:e,t.type):hs(e)?Ps(t,e,n):!!fs(e)&&(fs(t)&&Ps(e.type,t.type)||hs(t)&&Ps(e,t.type)):e.toString()===t.toString()}function Is(e=[],t=[],n={}){const r=[...t,...e.filter((e=>{return n=e,!t.find((e=>e.name.value===n.name.value));var n}))];return n&&n.sort&&r.sort(Mr),r}function Ns(e,t,n){if(t)try{return{name:e.name,description:e.description||t.description,kind:(null==n?void 0:n.convertExtensions)||"ObjectTypeDefinition"===e.kind||"ObjectTypeDefinition"===t.kind?"ObjectTypeDefinition":"ObjectTypeExtension",loc:e.loc,fields:ws(e,e.fields,t.fields,n),directives:vs(e.directives,t.directives,n),interfaces:Is(e.interfaces,t.interfaces,n)}}catch(t){throw new Error(`Unable to merge GraphQL type "${e.name.value}": ${t.message}`)}return(null==n?void 0:n.convertExtensions)?{...e,kind:F.OBJECT_TYPE_DEFINITION}:e}function Os(e,t,n){if(null==n?void 0:n.consistentEnumMerge){const n=[];e&&n.push(...e),e=t,t=n}const r=new Map;if(e)for(const t of e)r.set(t.name.value,t);if(t)for(const e of t){const t=e.name.value;if(r.has(t)){const n=r.get(t);n.description=e.description||n.description,n.directives=vs(e.directives,n.directives)}else r.set(t,e)}const s=[...r.values()];return n&&n.sort&&s.sort(Mr),s}function _s(e,t,n){return t?{name:e.name,description:e.description||t.description,kind:(null==n?void 0:n.convertExtensions)||"EnumTypeDefinition"===e.kind||"EnumTypeDefinition"===t.kind?"EnumTypeDefinition":"EnumTypeExtension",loc:e.loc,directives:vs(e.directives,t.directives,n),values:Os(e.values,t.values,n)}:(null==n?void 0:n.convertExtensions)?{...e,kind:F.ENUM_TYPE_DEFINITION}:e}function xs(e,t,n){return t?{name:e.name,description:e.description||t.description,kind:(null==n?void 0:n.convertExtensions)||"ScalarTypeDefinition"===e.kind||"ScalarTypeDefinition"===t.kind?"ScalarTypeDefinition":"ScalarTypeExtension",loc:e.loc,directives:vs(e.directives,t.directives,n)}:(null==n?void 0:n.convertExtensions)?{...e,kind:F.SCALAR_TYPE_DEFINITION}:e}function Cs(e,t,n){return t?{name:e.name,description:e.description||t.description,directives:vs(e.directives,t.directives,n),kind:(null==n?void 0:n.convertExtensions)||"UnionTypeDefinition"===e.kind||"UnionTypeDefinition"===t.kind?F.UNION_TYPE_DEFINITION:F.UNION_TYPE_EXTENSION,loc:e.loc,types:Is(e.types,t.types,n)}:(null==n?void 0:n.convertExtensions)?{...e,kind:F.UNION_TYPE_DEFINITION}:e}function Ds(e,t,n){if(t)try{return{name:e.name,description:e.description||t.description,kind:(null==n?void 0:n.convertExtensions)||"InputObjectTypeDefinition"===e.kind||"InputObjectTypeDefinition"===t.kind?"InputObjectTypeDefinition":"InputObjectTypeExtension",loc:e.loc,fields:ws(e,e.fields,t.fields,n),directives:vs(e.directives,t.directives,n)}}catch(t){throw new Error(`Unable to merge GraphQL input type "${e.name.value}": ${t.message}`)}return(null==n?void 0:n.convertExtensions)?{...e,kind:F.INPUT_OBJECT_TYPE_DEFINITION}:e}function $s(e,t,n){if(t)try{return{name:e.name,description:e.description||t.description,kind:(null==n?void 0:n.convertExtensions)||"InterfaceTypeDefinition"===e.kind||"InterfaceTypeDefinition"===t.kind?"InterfaceTypeDefinition":"InterfaceTypeExtension",loc:e.loc,fields:ws(e,e.fields,t.fields,n),directives:vs(e.directives,t.directives,n),interfaces:e.interfaces?Is(e.interfaces,t.interfaces,n):void 0}}catch(t){throw new Error(`Unable to merge GraphQL interface "${e.name.value}": ${t.message}`)}return(null==n?void 0:n.convertExtensions)?{...e,kind:F.INTERFACE_TYPE_DEFINITION}:e}!function(e){e[e.A_SMALLER_THAN_B=-1]="A_SMALLER_THAN_B",e[e.A_EQUALS_B=0]="A_EQUALS_B",e[e.A_GREATER_THAN_B=1]="A_GREATER_THAN_B"}(us||(us={}));const Rs={query:"Query",mutation:"Mutation",subscription:"Subscription"};function qs(e=[],t=[]){const n=[];for(const r in Rs){const s=e.find((e=>e.operation===r))||t.find((e=>e.operation===r));s&&n.push(s)}return n}function js(e,t,n){return t?{kind:e.kind===F.SCHEMA_DEFINITION||t.kind===F.SCHEMA_DEFINITION?F.SCHEMA_DEFINITION:F.SCHEMA_EXTENSION,description:e.description||t.description,directives:vs(e.directives,t.directives,n),operationTypes:qs(e.operationTypes,t.operationTypes)}:(null==n?void 0:n.convertExtensions)?{...e,kind:F.SCHEMA_DEFINITION}:e}let Ms={};function Bs(){Ms={}}function Gs(e){var t;const n=null===(t=e.name)||void 0===t?void 0:t.value;if(null!=n)switch(Ls(e,n),e.kind){case"EnumTypeDefinition":if(e.values)for(const t of e.values)Ls(t,n,t.name.value);break;case"ObjectTypeDefinition":case"InputObjectTypeDefinition":case"InterfaceTypeDefinition":if(e.fields)for(const t of e.fields)if(Ls(t,n,t.name.value),Ys(t)&&t.arguments)for(const e of t.arguments)Ls(e,n,t.name.value,e.name.value)}}function Ls(e,t,n,r){const s=function(e){const t=function(e){const t=e.loc;if(!t)return;const n=[];let r=t.startToken.prev;for(;null!=r&&r.kind===Bt.COMMENT&&null!=r.next&&null!=r.prev&&r.line+1===r.next.line&&r.line!==r.prev.line;){const e=String(r.value);n.push(e),r=r.prev}return n.length>0?n.reverse().join("\n"):void 0}(e);if(void 0!==t)return function(e){const t=e.split(/\r\n|[\n\r]/g),n=function(e){let t=null;for(let n=1;n<e.length;n++){const r=e[n],s=zs(r);if(s!==r.length&&(null===t||s<t)&&(t=s,0===t))break}return null===t?0:t}(t);if(0!==n)for(let e=1;e<t.length;e++)t[e]=t[e].slice(n);for(;t.length>0&&Zs(t[0]);)t.shift();for(;t.length>0&&Zs(t[t.length-1]);)t.pop();return t.join("\n")}(`\n${t}`)}(e);if("string"!=typeof s||0===s.length)return;const o=[t];n&&(o.push(n),r&&o.push(r));const a=o.join(".");Ms[a]||(Ms[a]=[]),Ms[a].push(s)}function Fs(e){return"\n# "+e.replace(/\n/g,"\n# ")}function Vs(e,t){return e?e.filter((e=>e)).join(t||""):""}function Us(e){var t;return null!==(t=null==e?void 0:e.some((e=>e.includes("\n"))))&&void 0!==t&&t}function Js(e){return e&&` ${e.replace(/\n/g,"\n ")}`}function Hs(e){return e&&0!==e.length?`{\n${Js(Vs(e,"\n"))}\n}`:""}function Ks(e,t,n){return t?e+t+(n||""):""}const Ws={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>Vs(e.definitions,"\n\n")},OperationDefinition:{leave:e=>{const t=Ks("(",Vs(e.variableDefinitions,", "),")");return Vs([e.operation,Vs([e.name,t]),Vs(e.directives," ")]," ")+" "+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:n,directives:r})=>e+": "+t+Ks(" = ",n)+Ks(" ",Vs(r," "))},SelectionSet:{leave:({selections:e})=>Hs(e)},Field:{leave({alias:e,name:t,arguments:n,directives:r,selectionSet:s}){const o=Ks("",e,": ")+t;let a=o+Ks("(",Vs(n,", "),")");return a.length>80&&(a=o+Ks("(\n",Js(Vs(n,"\n")),"\n)")),Vs([a,Vs(r," "),s]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+Ks(" ",Vs(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:n})=>Vs(["...",Ks("on ",e),Vs(t," "),n]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:n,directives:r,selectionSet:s})=>`fragment ${e}${Ks("(",Vs(n,", "),")")} on ${t} ${Ks("",Vs(r," ")," ")}`+s},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?function(e,t=!1){const n=e.replace(/"""/g,'\\"""');return" "!==e[0]&&"\t"!==e[0]||-1!==e.indexOf("\n")?`"""\n${t?n:Js(n)}\n"""`:`"""${n.replace(/"$/,'"\n')}"""`}(e):JSON.stringify(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+Vs(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+Vs(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+Ks("(",Vs(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({directives:e,operationTypes:t})=>Vs(["schema",Vs(e," "),Hs(t)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({name:e,directives:t})=>Vs(["scalar",e,Vs(t," ")]," ")},ObjectTypeDefinition:{leave:({name:e,interfaces:t,directives:n,fields:r})=>Vs(["type",e,Ks("implements ",Vs(t," & ")),Vs(n," "),Hs(r)]," ")},FieldDefinition:{leave:({name:e,arguments:t,type:n,directives:r})=>e+(Us(t)?Ks("(\n",Js(Vs(t,"\n")),"\n)"):Ks("(",Vs(t,", "),")"))+": "+n+Ks(" ",Vs(r," "))},InputValueDefinition:{leave:({name:e,type:t,defaultValue:n,directives:r})=>Vs([e+": "+t,Ks("= ",n),Vs(r," ")]," ")},InterfaceTypeDefinition:{leave:({name:e,interfaces:t,directives:n,fields:r})=>Vs(["interface",e,Ks("implements ",Vs(t," & ")),Vs(n," "),Hs(r)]," ")},UnionTypeDefinition:{leave:({name:e,directives:t,types:n})=>Vs(["union",e,Vs(t," "),Ks("= ",Vs(n," | "))]," ")},EnumTypeDefinition:{leave:({name:e,directives:t,values:n})=>Vs(["enum",e,Vs(t," "),Hs(n)]," ")},EnumValueDefinition:{leave:({name:e,directives:t})=>Vs([e,Vs(t," ")]," ")},InputObjectTypeDefinition:{leave:({name:e,directives:t,fields:n})=>Vs(["input",e,Vs(t," "),Hs(n)]," ")},DirectiveDefinition:{leave:({name:e,arguments:t,repeatable:n,locations:r})=>"directive @"+e+(Us(t)?Ks("(\n",Js(Vs(t,"\n")),"\n)"):Ks("(",Vs(t,", "),")"))+(n?" repeatable":"")+" on "+Vs(r," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>Vs(["extend schema",Vs(e," "),Hs(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>Vs(["extend scalar",e,Vs(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>Vs(["extend type",e,Ks("implements ",Vs(t," & ")),Vs(n," "),Hs(r)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>Vs(["extend interface",e,Ks("implements ",Vs(t," & ")),Vs(n," "),Hs(r)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:n})=>Vs(["extend union",e,Vs(t," "),Ks("= ",Vs(n," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:n})=>Vs(["extend enum",e,Vs(t," "),Hs(n)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:n})=>Vs(["extend input",e,Vs(t," "),Hs(n)]," ")}},Xs=Object.keys(Ws).reduce(((e,t)=>{return{...e,[t]:{leave:(n=Ws[t].leave,(e,t,r,s,o)=>{var a;const i=[],u=s.reduce(((e,t)=>(["fields","arguments","values"].includes(t)&&e.name&&i.push(e.name.value),e[t])),o[0]),c=[...i,null===(a=null==u?void 0:u.name)||void 0===a?void 0:a.value].filter(Boolean).join("."),d=[];return e.kind.includes("Definition")&&Ms[c]&&d.push(...Ms[c]),Vs([...d.map(Fs),e.description,n(e,t,r,s,o)],"\n")})}};var n}),{});function Ys(e){return"FieldDefinition"===e.kind}function zs(e){let t=0;for(;t<e.length&&(" "===e[t]||"\t"===e[t]);)t++;return t}function Zs(e){return zs(e)===e.length}const Qs="SCHEMA_DEF_SYMBOL";let eo;if("undefined"==typeof AggregateError){class e extends Error{constructor(t,n=""){super(n),this.errors=t,this.name="AggregateError",Error.captureStackTrace(this,e)}}eo=function(t,n){return new e(t,n)}}else eo=AggregateError;function to(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return function(e,t){if(null===e)return"null";if(e instanceof Error)return"errors"in(n=e)&&Array.isArray(n.errors)?no(e)+"\n"+ro(e.errors,t):no(e);var n;if(t.includes(e))return"[Circular]";const r=[...t,e];if(function(e){return"function"==typeof e.toJSON}(e)){const t=e.toJSON();if(t!==e)return"string"==typeof t?t:to(t,r)}else if(Array.isArray(e))return ro(e,r);return function(e,t){const n=Object.entries(e);if(0===n.length)return"{}";if(t.length>3)return"["+function(e){const t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if("Object"===t&&"function"==typeof e.constructor){const t=e.constructor.name;if("string"==typeof t&&""!==t)return t}return t}(e)+"]";const r=n.map((([e,n])=>e+": "+to(n,t)));return"{ "+r.join(", ")+" }"}(e,r)}(e,t);default:return String(e)}}function no(e){return e instanceof G?e.toString():`${e.name}: ${e.message};\n ${e.stack}`}function ro(e,t){if(0===e.length)return"[]";if(t.length>3)return"[Array]";const n=e.length,r=[];for(let s=0;s<n;++s)r.push(to(e[s],t));return"["+r.join(", ")+"]"}function so(e){if(Ae(e)){const n=so(e.ofType);if(n.kind===F.NON_NULL_TYPE)throw new Error(`Invalid type node ${t=e,to(t,[])}. Inner type of non-null type cannot be a non-null type.`);return{kind:F.NON_NULL_TYPE,type:n}}return Ee(e)?{kind:F.LIST_TYPE,type:so(e.ofType)}:{kind:F.NAMED_TYPE,name:{kind:F.NAME,value:e.name}};var t}function oo(e,t=["directives"]){return t.reduce(((e,t)=>null==e?e:e[t]),null==e?void 0:e.extensions)}function ao(e){if(null===e)return{kind:F.NULL};if(void 0===e)return null;if(Array.isArray(e)){const t=[];for(const n of e){const e=ao(n);null!=e&&t.push(e)}return{kind:F.LIST,values:t}}if("object"==typeof e){const t=[];for(const n in e){const r=ao(e[n]);r&&t.push({kind:F.OBJECT_FIELD,name:{kind:F.NAME,value:n},value:r})}return{kind:F.OBJECT,fields:t}}if("boolean"==typeof e)return{kind:F.BOOLEAN,value:e};if("number"==typeof e&&isFinite(e)){const t=String(e);return io.test(t)?{kind:F.INT,value:t}:{kind:F.FLOAT,value:t}}if("string"==typeof e)return{kind:F.STRING,value:e};throw new TypeError(`Cannot convert value to AST: ${e}.`)}const io=/^-?(?:0|[1-9][0-9]*)$/;function uo(e){const t=new WeakMap;return function(n){const r=t.get(n);if(void 0===r){const r=e(n);return t.set(n,r),r}return r}}new WeakMap,uo((function(e){const t=co(e);return new Set([...t].map((e=>e.name)))}));const co=uo((function(e){const t=lo(e);return new Set(t.values())})),lo=uo((function(e){const t=new Map,n=e.getQueryType();n&&t.set("query",n);const r=e.getMutationType();r&&t.set("mutation",r);const s=e.getSubscriptionType();return s&&t.set("subscription",s),t}));function po(e,t,n){var r,s,o,a;return{kind:F.DIRECTIVE_DEFINITION,description:null!==(s=null===(r=e.astNode)||void 0===r?void 0:r.description)&&void 0!==s?s:e.description?{kind:F.STRING,value:e.description}:void 0,name:{kind:F.NAME,value:e.name},arguments:null===(o=e.args)||void 0===o?void 0:o.map((e=>mo(e,t,n))),repeatable:e.isRepeatable,locations:(null===(a=e.locations)||void 0===a?void 0:a.map((e=>({kind:F.NAME,value:e}))))||[]}}function fo(e,t,n){const r=oo(e,n);let s,o=[];if(null!=e.astNode&&o.push(e.astNode),"extensionASTNodes"in e&&null!=e.extensionASTNodes&&(o=o.concat(e.extensionASTNodes)),null!=r)s=wo(t,r);else{s=[];for(const e of o)e.directives&&s.push(...e.directives)}return s}function ho(e,t,n){var r,s;let o=[],a=null;const i=oo(e,n);let u;return u=null!=i?wo(t,i):null===(r=e.astNode)||void 0===r?void 0:r.directives,null!=u&&(o=u.filter((e=>"deprecated"!==e.name.value)),null!=e.deprecationReason&&(a=null===(s=u.filter((e=>"deprecated"===e.name.value)))||void 0===s?void 0:s[0])),null!=e.deprecationReason&&null==a&&(a=To("deprecated",{reason:e.deprecationReason},ht)),null==a?o:[a].concat(o)}function mo(e,t,n){var r,s,o;return{kind:F.INPUT_VALUE_DEFINITION,description:null!==(s=null===(r=e.astNode)||void 0===r?void 0:r.description)&&void 0!==s?s:e.description?{kind:F.STRING,value:e.description,block:!0}:void 0,name:{kind:F.NAME,value:e.name},type:so(e.type),defaultValue:void 0!==e.defaultValue&&null!==(o=vt(e.defaultValue,e.type))&&void 0!==o?o:void 0,directives:ho(e,t,n)}}function So(e,t,n){var r,s;return{kind:F.OBJECT_TYPE_DEFINITION,description:null!==(s=null===(r=e.astNode)||void 0===r?void 0:r.description)&&void 0!==s?s:e.description?{kind:F.STRING,value:e.description,block:!0}:void 0,name:{kind:F.NAME,value:e.name},fields:Object.values(e.getFields()).map((e=>Ao(e,t,n))),interfaces:Object.values(e.getInterfaces()).map((e=>so(e))),directives:fo(e,t,n)}}function yo(e,t,n){var r,s;const o={kind:F.INTERFACE_TYPE_DEFINITION,description:null!==(s=null===(r=e.astNode)||void 0===r?void 0:r.description)&&void 0!==s?s:e.description?{kind:F.STRING,value:e.description,block:!0}:void 0,name:{kind:F.NAME,value:e.name},fields:Object.values(e.getFields()).map((e=>Ao(e,t,n))),directives:fo(e,t,n)};return"getInterfaces"in e&&(o.interfaces=Object.values(e.getInterfaces()).map((e=>so(e)))),o}function go(e,t,n){var r,s;return{kind:F.UNION_TYPE_DEFINITION,description:null!==(s=null===(r=e.astNode)||void 0===r?void 0:r.description)&&void 0!==s?s:e.description?{kind:F.STRING,value:e.description,block:!0}:void 0,name:{kind:F.NAME,value:e.name},directives:fo(e,t,n),types:e.getTypes().map((e=>so(e)))}}function vo(e,t,n){var r,s;return{kind:F.INPUT_OBJECT_TYPE_DEFINITION,description:null!==(s=null===(r=e.astNode)||void 0===r?void 0:r.description)&&void 0!==s?s:e.description?{kind:F.STRING,value:e.description,block:!0}:void 0,name:{kind:F.NAME,value:e.name},fields:Object.values(e.getFields()).map((e=>function(e,t,n){var r,s,o;return{kind:F.INPUT_VALUE_DEFINITION,description:null!==(s=null===(r=e.astNode)||void 0===r?void 0:r.description)&&void 0!==s?s:e.description?{kind:F.STRING,value:e.description,block:!0}:void 0,name:{kind:F.NAME,value:e.name},type:so(e.type),directives:ho(e,t,n),defaultValue:null!==(o=vt(e.defaultValue,e.type))&&void 0!==o?o:void 0}}(e,t,n))),directives:fo(e,t,n)}}function bo(e,t,n){var r,s;return{kind:F.ENUM_TYPE_DEFINITION,description:null!==(s=null===(r=e.astNode)||void 0===r?void 0:r.description)&&void 0!==s?s:e.description?{kind:F.STRING,value:e.description,block:!0}:void 0,name:{kind:F.NAME,value:e.name},values:Object.values(e.getValues()).map((e=>function(e,t,n){var r,s;return{kind:F.ENUM_VALUE_DEFINITION,description:null!==(s=null===(r=e.astNode)||void 0===r?void 0:r.description)&&void 0!==s?s:e.description?{kind:F.STRING,value:e.description,block:!0}:void 0,name:{kind:F.NAME,value:e.name},directives:ho(e,t,n)}}(e,t,n))),directives:fo(e,t,n)}}function Eo(e,t,n){var r,s,o;const a=oo(e,n),i=a?wo(t,a):(null===(r=e.astNode)||void 0===r?void 0:r.directives)||[],u=e.specifiedByUrl||e.specifiedByURL;if(u&&!i.some((e=>"specifiedBy"===e.name.value))){const e={url:u};i.push(To("specifiedBy",e))}return{kind:F.SCALAR_TYPE_DEFINITION,description:null!==(o=null===(s=e.astNode)||void 0===s?void 0:s.description)&&void 0!==o?o:e.description?{kind:F.STRING,value:e.description,block:!0}:void 0,name:{kind:F.NAME,value:e.name},directives:i}}function Ao(e,t,n){var r,s;return{kind:F.FIELD_DEFINITION,description:null!==(s=null===(r=e.astNode)||void 0===r?void 0:r.description)&&void 0!==s?s:e.description?{kind:F.STRING,value:e.description,block:!0}:void 0,name:{kind:F.NAME,value:e.name},arguments:e.args.map((e=>mo(e,t,n))),type:so(e.type),directives:ho(e,t,n)}}function To(e,t,n){const r=[];if(null!=n)for(const e of n.args){const n=e.name,s=t[n];if(void 0!==s){const t=vt(s,e.type);t&&r.push({kind:F.ARGUMENT,name:{kind:F.NAME,value:n},value:t})}}else for(const e in t){const n=ao(t[e]);n&&r.push({kind:F.ARGUMENT,name:{kind:F.NAME,value:e},value:n})}return{kind:F.DIRECTIVE,name:{kind:F.NAME,value:e},arguments:r}}function wo(e,t){const n=[];for(const r in t){const s=t[r],o=null==e?void 0:e.getDirective(r);if(Array.isArray(s))for(const e of s)n.push(To(r,e,o));else n.push(To(r,s,o))}return n}function ko(e,t){Bs();const n={kind:F.DOCUMENT,definitions:Io(e,{useSchemaDefinition:!0,forceSchemaDefinition:!1,throwOnConflict:!1,commentDescriptions:!1,...t})};let r;return r=(null==t?void 0:t.commentDescriptions)?te(n,Xs):n,Bs(),r}function Po(e,t,n=[],r=new Set){if(e&&!r.has(e))if(r.add(e),"function"==typeof e)Po(e(),t,n,r);else if(Array.isArray(e))for(const s of e)Po(s,t,n,r);else if(Rt(e))Po(function(e,t={}){const n=t.pathToDirectivesInExtensions,r=e.getTypeMap(),s=function(e,t){var n,r;const s=new Map([["query",void 0],["mutation",void 0],["subscription",void 0]]),o=[];if(null!=e.astNode&&o.push(e.astNode),null!=e.extensionASTNodes)for(const t of e.extensionASTNodes)o.push(t);for(const e of o)if(e.operationTypes)for(const t of e.operationTypes)s.set(t.operation,t);const a=lo(e);for(const[e,t]of s){const n=a.get(e);if(null!=n){const r=so(n);null!=t?t.type=r:s.set(e,{kind:F.OPERATION_TYPE_DEFINITION,operation:e,type:r})}}const i=[...s.values()].filter(Br),u=fo(e,e,t);if(!i.length&&!u.length)return null;const c={kind:null!=i?F.SCHEMA_DEFINITION:F.SCHEMA_EXTENSION,operationTypes:i,directives:u};return c.description=(null!==(r=null===(n=e.astNode)||void 0===n?void 0:n.description)&&void 0!==r?r:null!=e.description)?{kind:F.STRING,value:e.description,block:!0}:void 0,c}(e,n),o=null!=s?[s]:[],a=e.getDirectives();for(const t of a)yt(t)||o.push(po(t,e,n));for(const t in r){const s=r[t],a=ut(s),i=$t(s);if(!a&&!i)if(Se(s))o.push(So(s,e,n));else if(ye(s))o.push(yo(s,e,n));else if(ge(s))o.push(go(s,e,n));else if(be(s))o.push(vo(s,e,n));else if(ve(s))o.push(bo(s,e,n));else{if(!me(s))throw new Error(`Unknown type ${s}.`);o.push(Eo(s,e,n))}}return{kind:F.DOCUMENT,definitions:o}}(e,t).definitions,t,n,r);else if("string"==typeof e||e instanceof an)Po(un(e,t).definitions,t,n,r);else if("object"==typeof e&&($n(o=e)||Rn(o)||jn(o)))n.push(e);else{if(!(s=e)||"object"!=typeof s||!("kind"in s)||s.kind!==F.DOCUMENT)throw new Error("typeDefs must contain only strings, documents, schemas, or functions, got "+typeof e);Po(e.definitions,t,n,r)}var s,o;return n}function Io(e,t){var n,r,s;Bs();const o=function(e,t){var n,r,s;const o={};for(const a of e)if("name"in a){const e=null===(n=a.name)||void 0===n?void 0:n.value;if((null==t?void 0:t.commentDescriptions)&&Gs(a),null==e)continue;if((null===(r=null==t?void 0:t.exclusions)||void 0===r?void 0:r.includes(e+".*"))||(null===(s=null==t?void 0:t.exclusions)||void 0===s?void 0:s.includes(e)))delete o[e];else switch(a.kind){case F.OBJECT_TYPE_DEFINITION:case F.OBJECT_TYPE_EXTENSION:o[e]=Ns(a,o[e],t);break;case F.ENUM_TYPE_DEFINITION:case F.ENUM_TYPE_EXTENSION:o[e]=_s(a,o[e],t);break;case F.UNION_TYPE_DEFINITION:case F.UNION_TYPE_EXTENSION:o[e]=Cs(a,o[e],t);break;case F.SCALAR_TYPE_DEFINITION:case F.SCALAR_TYPE_EXTENSION:o[e]=xs(a,o[e],t);break;case F.INPUT_OBJECT_TYPE_DEFINITION:case F.INPUT_OBJECT_TYPE_EXTENSION:o[e]=Ds(a,o[e],t);break;case F.INTERFACE_TYPE_DEFINITION:case F.INTERFACE_TYPE_EXTENSION:o[e]=$s(a,o[e],t);break;case F.DIRECTIVE_DEFINITION:o[e]=bs(a,o[e])}}else a.kind!==F.SCHEMA_DEFINITION&&a.kind!==F.SCHEMA_EXTENSION||(o[Qs]=js(a,o[Qs],t));return o}(Po(e,t),t);if(null==t?void 0:t.useSchemaDefinition){const e=o[Qs]||{kind:F.SCHEMA_DEFINITION,operationTypes:[]},t=e.operationTypes;for(const e in Rs)if(!t.find((t=>t.operation===e))){const n=o[Rs[e]];null!=n&&null!=n.name&&t.push({kind:F.OPERATION_TYPE_DEFINITION,type:{kind:F.NAMED_TYPE,name:n.name},operation:e})}null!=(null===(n=null==e?void 0:e.operationTypes)||void 0===n?void 0:n.length)&&e.operationTypes.length>0&&(o[Qs]=e)}(null==t?void 0:t.forceSchemaDefinition)&&!(null===(s=null===(r=o[Qs])||void 0===r?void 0:r.operationTypes)||void 0===s?void 0:s.length)&&(o[Qs]={kind:F.SCHEMA_DEFINITION,operationTypes:[{kind:F.OPERATION_TYPE_DEFINITION,operation:"query",type:{kind:F.NAMED_TYPE,name:{kind:F.NAME,value:"Query"}}}]});const a=Object.values(o);if(null==t?void 0:t.sort){const e="function"==typeof t.sort?t.sort:Ss;a.sort(((t,n)=>{var r,s;return e(null===(r=t.name)||void 0===r?void 0:r.value,null===(s=n.name)||void 0===s?void 0:s.value)}))}return a}function No(e,t=!1){const n=e[0]||{},r={};t&&Object.setPrototypeOf(r,Object.create(Object.getPrototypeOf(n)));for(const s of e)if(Oo(n)&&Oo(s)){if(t){const e=Object.getPrototypeOf(r),t=Object.getPrototypeOf(s);if(t)for(const n of Object.getOwnPropertyNames(t)){const r=Object.getOwnPropertyDescriptor(t,n);Br(r)&&Object.defineProperty(e,n,r)}}for(const e in s)Oo(s[e])?e in r?r[e]=No([r[e],s[e]],t):Object.assign(r,{[e]:s[e]}):Object.assign(r,{[e]:s[e]})}return r}function Oo(e){return e&&"object"==typeof e&&!Array.isArray(e)}function _o(e,t){if(!e||Array.isArray(e)&&0===e.length)return{};if(!Array.isArray(e))return e;if(1===e.length)return e[0]||{};const n=new Array;for(let t of e)Array.isArray(t)&&(t=_o(t)),"object"==typeof t&&t&&n.push(t);const r=No(n,!0);if(null==t?void 0:t.exclusions)for(const e of t.exclusions){const[t,n]=e.split(".");n&&"*"!==n?r[t]&&delete r[t][n]:delete r[t]}return r}function xo(e,t){e&&(e.extensions=No([e.extensions||{},t||{}]))}new Error("timeout while waiting for mutex to become available"),new Error("mutex already locked");const Co=new Error("request for lock canceled");class Do{constructor(e,t=Co){this._value=e,this._cancelError=t,this._weightedQueues=[],this._weightedWaiters=[]}acquire(e=1){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);return new Promise(((t,n)=>{this._weightedQueues[e-1]||(this._weightedQueues[e-1]=[]),this._weightedQueues[e-1].push({resolve:t,reject:n}),this._dispatch()}))}runExclusive(e,t=1){return n=this,r=void 0,o=function*(){const[n,r]=yield this.acquire(t);try{return yield e(n)}finally{r()}},new((s=void 0)||(s=Promise))((function(e,t){function a(e){try{u(o.next(e))}catch(e){t(e)}}function i(e){try{u(o.throw(e))}catch(e){t(e)}}function u(t){var n;t.done?e(t.value):(n=t.value,n instanceof s?n:new s((function(e){e(n)}))).then(a,i)}u((o=o.apply(n,r||[])).next())}));var n,r,s,o}waitForUnlock(e=1){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);return new Promise((t=>{this._weightedWaiters[e-1]||(this._weightedWaiters[e-1]=[]),this._weightedWaiters[e-1].push(t),this._dispatch()}))}isLocked(){return this._value<=0}getValue(){return this._value}setValue(e){this._value=e,this._dispatch()}release(e=1){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);this._value+=e,this._dispatch()}cancel(){this._weightedQueues.forEach((e=>e.forEach((e=>e.reject(this._cancelError))))),this._weightedQueues=[]}_dispatch(){var e;for(let t=this._value;t>0;t--){const n=null===(e=this._weightedQueues[t-1])||void 0===e?void 0:e.shift();if(!n)continue;const r=this._value,s=t;this._value-=t,t=this._value+1,n.resolve([r,this._newReleaser(s)])}this._drainUnlockWaiters()}_newReleaser(e){let t=!1;return()=>{t||(t=!0,this.release(e))}}_drainUnlockWaiters(){for(let e=this._value;e>0;e--)this._weightedWaiters[e-1]&&(this._weightedWaiters[e-1].forEach((e=>e())),this._weightedWaiters[e-1]=[])}}class $o{constructor(e){this._semaphore=new Do(1,e)}acquire(){return e=this,t=void 0,r=function*(){const[,e]=yield this._semaphore.acquire();return e},new((n=void 0)||(n=Promise))((function(s,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function i(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,i)}u((r=r.apply(e,t||[])).next())}));var e,t,n,r}runExclusive(e){return this._semaphore.runExclusive((()=>e()))}isLocked(){return this._semaphore.isLocked()}waitForUnlock(){return this._semaphore.waitForUnlock()}release(){this._semaphore.isLocked()&&this._semaphore.release()}cancel(){return this._semaphore.cancel()}}var Ro=n(6495),qo=n.n(Ro);function jo(e){return"function"==typeof(null==e?void 0:e.then)}class Mo extends Error{constructor(e){super("Unexpected error value: "+f(e)),this.name="NonErrorThrown",this.thrownValue=e}}function Bo(e,t,n){var r;const s=(o=e)instanceof Error?o:new Mo(o);var o,a;return a=s,Array.isArray(a.path)?s:new G(s.message,{nodes:null!==(r=s.nodes)&&void 0!==r?r:t,source:s.source,positions:s.positions,path:n,originalError:s})}const Go=function(e){let t;return function(e,n,r){void 0===t&&(t=new WeakMap);let s=t.get(e);void 0===s&&(s=new WeakMap,t.set(e,s));let o=s.get(n);void 0===o&&(o=new WeakMap,s.set(n,o));let a=o.get(r);return void 0===a&&(u=n,c=r,a=function(e,t,n,r,s){const o=new Map,a=new Set;for(const i of s)i.selectionSet&&Sr(e,t,n,r,i.selectionSet,o,a);return o}((i=e).schema,i.fragments,i.variableValues,u,c),o.set(r,a)),a;var i,u,c}}();function Lo(e){arguments.length<2||p(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");const{schema:t,document:n,variableValues:r,rootValue:s}=e;Vo(t,n,r);const o=Uo(e);if(!("schema"in o))return{errors:o};try{const{operation:e}=o,t=Jo(o,e,s);return jo(t)?t.then((e=>Fo(e,o.errors)),(e=>(o.errors.push(e),Fo(null,o.errors)))):Fo(t,o.errors)}catch(e){return o.errors.push(e),Fo(null,o.errors)}}function Fo(e,t){return 0===t.length?{data:e}:{errors:t,data:e}}function Vo(e,t,n){t||p(!1,"Must provide document."),Sn(e),null==n||S(n)||p(!1,"Variables must be provided as an Object where each property is a variable value. Perhaps look to see if an unparsed JSON string was provided.")}function Uo(e){var t,n;const{schema:r,document:s,rootValue:o,contextValue:a,variableValues:i,operationName:u,fieldResolver:c,typeResolver:d,subscribeFieldResolver:l}=e;let p;const h=Object.create(null);for(const e of s.definitions)switch(e.kind){case F.OPERATION_DEFINITION:if(null==u){if(void 0!==p)return[new G("Must provide operation name if query contains multiple operations.")];p=e}else(null===(t=e.name)||void 0===t?void 0:t.value)===u&&(p=e);break;case F.FRAGMENT_DEFINITION:h[e.name.value]=e}if(!p)return null!=u?[new G(`Unknown operation named "${u}".`)]:[new G("Must provide an operation.")];const m=function(e,t,n,r){const s=[],o=null==r?void 0:r.maxErrors;try{const r=function(e,t,n,r){const s={};for(const o of t){const t=o.variable.name.value,a=_n(e,o.type);if(!Te(a)){const e=se(o.type);r(new G(`Variable "$${t}" expected value of type "${e}" which cannot be used as an input type.`,{nodes:o.type}));continue}if(!hr(n,t)){if(o.defaultValue)s[t]=dr(o.defaultValue,a);else if(Ae(a)){const e=f(a);r(new G(`Variable "$${t}" of required type "${e}" was not provided.`,{nodes:o}))}continue}const i=n[t];if(null===i&&Ae(a)){const e=f(a);r(new G(`Variable "$${t}" of non-null type "${e}" must not be null.`,{nodes:o}))}else s[t]=ir(i,a,((e,n,s)=>{let a=`Variable "$${t}" got invalid value `+f(n);e.length>0&&(a+=` at "${t}${sr(e)}"`),r(new G(a+"; "+s.message,{nodes:o,originalError:s.originalError}))}))}return s}(e,t,n,(e=>{if(null!=o&&s.length>=o)throw new G("Too many errors processing variables, error limit reached. Execution aborted.");s.push(e)}));if(0===s.length)return{coerced:r}}catch(e){s.push(e)}return{errors:s}}(r,null!==(n=p.variableDefinitions)&&void 0!==n?n:[],null!=i?i:{},{maxErrors:50});return m.errors?m.errors:{schema:r,fragments:h,rootValue:o,contextValue:a,operation:p,variableValues:m.coerced,fieldResolver:null!=c?c:ea,typeResolver:null!=d?d:Qo,subscribeFieldResolver:null!=l?l:ea,errors:[]}}function Jo(e,t,n){const r=e.schema.getRootType(t.operation);if(null==r)throw new G(`Schema is not configured to execute ${t.operation} operation.`,{nodes:t});const s=mr(e.schema,e.fragments,e.variableValues,r,t.selectionSet),o=void 0;switch(t.operation){case T.QUERY:return Ho(e,r,n,o,s);case T.MUTATION:return function(e,t,n,r,s){return function(e,t,n){let r=Object.create(null);for(const n of e)r=jo(r)?r.then((e=>t(e,n))):t(r,n);return r}(s.entries(),((r,[s,o])=>{const a=or(undefined,s,t.name),i=Ko(e,t,n,o,a);return void 0===i?r:jo(i)?i.then((e=>(r[s]=e,r))):(r[s]=i,r)}))}(e,r,n,0,s);case T.SUBSCRIPTION:return Ho(e,r,n,o,s)}}function Ho(e,t,n,r,s){const o=Object.create(null);let a=!1;for(const[i,u]of s.entries()){const s=Ko(e,t,n,u,or(r,i,t.name));void 0!==s&&(o[i]=s,jo(s)&&(a=!0))}return a?(i=o,Promise.all(Object.values(i)).then((e=>{const t=Object.create(null);for(const[n,r]of Object.keys(i).entries())t[r]=e[n];return t}))):o;var i}function Ko(e,t,n,r,s){var o;const a=function(e,t,n){const r=n.name.value;return r===_t.name&&e.getQueryType()===t?_t:r===xt.name&&e.getQueryType()===t?xt:r===Ct.name?Ct:t.getFields()[r]}(e.schema,t,r[0]);if(!a)return;const i=a.type,u=null!==(o=a.resolve)&&void 0!==o?o:e.fieldResolver,c=function(e,t,n,r,s){return{fieldName:t.name,fieldNodes:n,returnType:t.type,parentType:r,path:s,schema:e.schema,fragments:e.fragments,rootValue:e.rootValue,operation:e.operation,variableValues:e.variableValues}}(e,a,r,t,s);try{const t=u(n,pr(a,r[0],e.variableValues),e.contextValue,c);let o;return o=jo(t)?t.then((t=>Xo(e,i,r,c,s,t))):Xo(e,i,r,c,s,t),jo(o)?o.then(void 0,(t=>Wo(Bo(t,r,ar(s)),i,e))):o}catch(t){return Wo(Bo(t,r,ar(s)),i,e)}}function Wo(e,t,n){if(Ae(t))throw e;return n.errors.push(e),null}function Xo(e,t,n,r,s,o){if(o instanceof Error)throw o;if(Ae(t)){const a=Xo(e,t.ofType,n,r,s,o);if(null===a)throw new Error(`Cannot return null for non-nullable field ${r.parentType.name}.${r.fieldName}.`);return a}return null==o?null:Ee(t)?function(e,t,n,r,s,o){if(!gt(o))throw new G(`Expected Iterable, but did not find one for field "${r.parentType.name}.${r.fieldName}".`);const a=t.ofType;let i=!1;const u=Array.from(o,((t,o)=>{const u=or(s,o,void 0);try{let s;return s=jo(t)?t.then((t=>Xo(e,a,n,r,u,t))):Xo(e,a,n,r,u,t),jo(s)?(i=!0,s.then(void 0,(t=>Wo(Bo(t,n,ar(u)),a,e)))):s}catch(t){return Wo(Bo(t,n,ar(u)),a,e)}}));return i?Promise.all(u):u}(e,t,n,r,s,o):ke(t)?function(e,t){const n=e.serialize(t);if(null==n)throw new Error(`Expected \`${f(e)}.serialize(${f(t)})\` to return non-nullable value, returned: ${f(n)}`);return n}(t,o):Ie(t)?function(e,t,n,r,s,o){var a;const i=null!==(a=t.resolveType)&&void 0!==a?a:e.typeResolver,u=e.contextValue,c=i(o,u,r,t);return jo(c)?c.then((a=>zo(e,Yo(a,e,t,n,r,o),n,r,s,o))):zo(e,Yo(c,e,t,n,r,o),n,r,s,o)}(e,t,n,r,s,o):Se(t)?zo(e,t,n,r,s,o):void R(!1,"Cannot complete value of unexpected output type: "+f(t))}function Yo(e,t,n,r,s,o){if(null==e)throw new G(`Abstract type "${n.name}" must resolve to an Object type at runtime for field "${s.parentType.name}.${s.fieldName}". Either the "${n.name}" type should provide a "resolveType" function or each possible type should provide an "isTypeOf" function.`,r);if(Se(e))throw new G("Support for returning GraphQLObjectType from resolveType was removed in graphql-js@16.0.0 please return type name instead.");if("string"!=typeof e)throw new G(`Abstract type "${n.name}" must resolve to an Object type at runtime for field "${s.parentType.name}.${s.fieldName}" with value ${f(o)}, received "${f(e)}".`);const a=t.schema.getType(e);if(null==a)throw new G(`Abstract type "${n.name}" was resolved to a type "${e}" that does not exist inside the schema.`,{nodes:r});if(!Se(a))throw new G(`Abstract type "${n.name}" was resolved to a non-object type "${e}".`,{nodes:r});if(!t.schema.isSubType(n,a))throw new G(`Runtime Object type "${a.name}" is not a possible type for "${n.name}".`,{nodes:r});return a}function zo(e,t,n,r,s,o){const a=Go(e,t,n);if(t.isTypeOf){const i=t.isTypeOf(o,e.contextValue,r);if(jo(i))return i.then((r=>{if(!r)throw Zo(t,o,n);return Ho(e,t,o,s,a)}));if(!i)throw Zo(t,o,n)}return Ho(e,t,o,s,a)}function Zo(e,t,n){return new G(`Expected value of type "${e.name}" but got: ${f(t)}.`,{nodes:n})}const Qo=function(e,t,n,r){if(S(e)&&"string"==typeof e.__typename)return e.__typename;const s=n.schema.getPossibleTypes(r),o=[];for(let r=0;r<s.length;r++){const a=s[r];if(a.isTypeOf){const s=a.isTypeOf(e,t,n);if(jo(s))o[r]=s;else if(s)return a.name}}return o.length?Promise.all(o).then((e=>{for(let t=0;t<e.length;t++)if(e[t])return s[t].name})):void 0},ea=function(e,t,n,r){if(S(e)||"function"==typeof e){const s=e[r.fieldName];return"function"==typeof s?e[r.fieldName](t,n,r):s}};function ta(e){arguments.length<2||p(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");const{schema:t,source:n,rootValue:r,contextValue:s,variableValues:o,operationName:a,fieldResolver:i,typeResolver:u}=e,c=mn(t);if(c.length>0)return{errors:c};let d;try{d=un(n)}catch(e){return{errors:[e]}}const l=xr(t,d);return l.length>0?{errors:l}:Lo({schema:t,document:d,rootValue:r,contextValue:s,variableValues:o,operationName:a,fieldResolver:i,typeResolver:u})}var na=n(3288),ra=n.n(na);var sa=n(735),oa=n(9742),aa=(e,t,n)=>{if("number"!=typeof e)throw new Error("Argument "+n+" of "+t+" should be a number, not '"+e+"' ("+typeof e+")")};const ia=class{constructor(e,t){e=e||64,t=t||0,this.growMax=16384,this.length=t,this.byteArray=new Uint8Array(e)}byte(e){if(aa(e,"byte","n"),e>this.length-1)throw Error("Attempt to read byte "+e+" of ByteArray of length "+this.length);return this.byteArray[e]}bytes(e,t){if(aa(e,"bytes","n"),aa(t,"bytes","l"),e+t>this.length)throw Error("Attempt to read "+t+" bytes from start "+e+" of ByteArray of length "+this.length);return this.byteArray.subarray(e,e+t)}setByte(e,t){if(aa(e,"setByte","n"),aa(t,"setByte","v"),e>this.length-1)throw Error("Attempt to set byte "+e+" of ByteArray of length "+this.length);if("number"!=typeof t||t<0||t>255)throw Error("Expected value 0-255 when setting ByteArray, found "+t);this.byteArray[e]=t}setBytes(e,t){if(aa(e,"setBytes","n"),e+t.length>this.length)throw Error("Attempt to set "+t.length+" bytes from start "+e+" of ByteArray of length "+this.length);this.byteArray.set(t,e)}pushByte(e){if("number"!=typeof e||e<0||e>255)throw Error("Expected value 0-255 when pushing to ByteArray, found "+e);this.length===this.byteArray.length&&this.grow(),this.byteArray[this.length]=e,this.length++}grow(e){var t=new Uint8Array(Math.max(e||0,this.byteArray.length+Math.min(this.growMax,Math.max(16,this.byteArray.length))));t.set(this.byteArray),this.byteArray=t}trim(){var e=new Uint8Array(this.length);e.set(this.byteArray.subarray(0,this.length)),this.byteArray=e}pushBytes(e){for(var t of e)this.pushByte(t)}pushNByte(e){if(aa(e,"pushNByte","v"),"number"!=typeof e||e<0)throw Error("Expected positive number in pushNByte, found "+e);if(e<128)this.pushByte(e+128);else{var t=e%128;this.pushByte(t),this.pushNByte(e>>7)}}pushNBytes(e){for(var t of e)try{this.pushNByte(t)}catch(t){throw Error("Error from pushNByte, called as pushNBytes("+JSON.stringify(e)+")")}}nByte(e){if(aa(e,"nByte","n"),e>this.length-1)throw Error("Attempt to read nByte "+e+" of ByteArray of length "+this.length);var t=this.byteArray[e];return t>127?t-128:t+128*this.nByte(e+1)}nBytes(e,t){aa(e,"nBytes","n"),aa(t,"nBytes","nValues");for(var n=[];t>0;){var r=!1,s=0,o=1;do{if(e>this.length-1)throw Error("Attempt to read nByte "+e+" of ByteArray of length "+this.length+" in nBytes("+e+", "+t+")");var a=this.byteArray[e];a>127?(s+=(a-128)*o,n.push(s),s=0,r=!0):(s+=a*o,o*=128),e++}while(!r);t--}return n}nByteLength(e){if(aa(e,"nByteLength","v"),e>=128**4)throw new Error("> 4 bytes found in nByteLength");for(var t=1;e>127;)e>>=7,t+=1;return t}pushCountedString(e){var t=(0,sa.stringToUtf8ByteArray)(e);this.pushByte(t.length),this.pushBytes(t)}countedString(e){aa(e,"countedString","n");var t=this.byte(e);return(0,sa.utf8ByteArrayToString)(this.bytes(e+1,t))}clear(){this.byteArray.fill(0),this.length=0}base64(){return oa.fromByteArray(this.byteArray)}fromBase64(e){this.byteArray=oa.toByteArray(e),this.length=this.byteArray.length}deleteItem(e){aa(e,"deleteItem","n");var t=63&this.byte(e);if(this.length-=t,this.length>e){var n=this.byteArray.slice(e+t);this.byteArray.set(n,e)}}insert(e,t){aa(e,"insert","n");var n=t.length,r=this.length+n;if(r>=this.byteArray.length+n&&this.grow(r),e<r){var s=this.byteArray.slice(e,this.length);this.byteArray.set(s,e+n)}this.byteArray.set(t.byteArray.slice(0,t.length),e),this.length=r}};function ua(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ca(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ua(Object(n),!0).forEach((function(t){da(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ua(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function da(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var la=[{code:"GEN",categories:["ot","pentateuch"]},{code:"EXO",categories:["ot","pentateuch"]},{code:"LEV",categories:["ot","pentateuch"]},{code:"NUM",categories:["ot","pentateuch"]},{code:"DEU",categories:["ot","pentateuch"]},{code:"JOS",categories:["ot","history"]},{code:"JDG",categories:["ot","history"]},{code:"RUT",categories:["ot","history"]},{code:"1SA",categories:["ot","history"]},{code:"2SA",categories:["ot","history"]},{code:"1KI",categories:["ot","history"]},{code:"2KI",categories:["ot","history"]},{code:"1CH",categories:["ot","history"]},{code:"2CH",categories:["ot","history"]},{code:"EZR",categories:["ot","history"]},{code:"NEH",categories:["ot","history"]},{code:"EST",categories:["ot","history"]},{code:"JOB",categories:["ot","wisdom"]},{code:"PSA",categories:["ot","wisdom"]},{code:"PRO",categories:["ot","wisdom"]},{code:"ECC",categories:["ot","wisdom"]},{code:"SNG",categories:["ot","wisdom"]},{code:"ISA",categories:["ot","prophecy"]},{code:"JER",categories:["ot","prophecy"]},{code:"LAM",categories:["ot","prophecy"]},{code:"EZK",categories:["ot","prophecy"]},{code:"DAN",categories:["ot","prophecy"]},{code:"HOS",categories:["ot","prophecy"]},{code:"JOL",categories:["ot","prophecy"]},{code:"AMO",categories:["ot","prophecy"]},{code:"OBA",categories:["ot","prophecy"]},{code:"JON",categories:["ot","prophecy"]},{code:"MIC",categories:["ot","prophecy"]},{code:"NAM",categories:["ot","prophecy"]},{code:"HAB",categories:["ot","prophecy"]},{code:"ZEP",categories:["ot","prophecy"]},{code:"HAG",categories:["ot","prophecy"]},{code:"ZEC",categories:["ot","prophecy"]},{code:"MAL",categories:["ot","prophecy"]},{code:"MAT",categories:["nt","gospel","synoptic"]},{code:"MRK",categories:["nt","gospel","synoptic"]},{code:"LUK",categories:["nt","gospel","synoptic"]},{code:"JHN",categories:["nt","gospel"]},{code:"ACT",categories:["nt","gospel"]},{code:"ROM",categories:["nt","epistle"]},{code:"1CO",categories:["nt","epistle"]},{code:"2CO",categories:["nt","epistle"]},{code:"GAL",categories:["nt","epistle"]},{code:"EPH",categories:["nt","epistle"]},{code:"PHP",categories:["nt","epistle"]},{code:"COL",categories:["nt","epistle"]},{code:"1TH",categories:["nt","epistle"]},{code:"2TH",categories:["nt","epistle"]},{code:"1TI",categories:["nt","epistle"]},{code:"2TI",categories:["nt","epistle"]},{code:"TIT",categories:["nt","epistle"]},{code:"PHM",categories:["nt","epistle"]},{code:"HEB",categories:["nt","epistle"]},{code:"JAS",categories:["nt","epistle"]},{code:"1PE",categories:["nt","epistle"]},{code:"2PE",categories:["nt","epistle"]},{code:"1JN",categories:["nt","epistle"]},{code:"2JN",categories:["nt","epistle"]},{code:"3JN",categories:["nt","epistle"]},{code:"JUD",categories:["nt","epistle"]},{code:"REV",categories:["nt","epistle"]},{code:"TOB",categories:["dc"]},{code:"JDT",categories:["dc"]},{code:"ESG",categories:["dc","history"]},{code:"WIS",categories:["dc","wisdom"]},{code:"SIR",categories:["dc","wisdom"]},{code:"BAR",categories:["dc","prophecy"]},{code:"LJE",categories:["dc"]},{code:"S3Y",categories:["dc"]},{code:"SUS",categories:["dc"]},{code:"BEL",categories:["dc"]},{code:"1MA",categories:["dc"]},{code:"2MA",categories:["dc"]},{code:"3MA",categories:["dc"]},{code:"4MA",categories:["dc"]},{code:"1ES",categories:["dc"]},{code:"2ES",categories:["dc"]},{code:"MAN",categories:["dc"]},{code:"PS2",categories:["dc"]},{code:"ODA",categories:["dc"]},{code:"PSS",categories:["dc"]},{code:"JSA",categories:["dc"]},{code:"JDB",categories:["dc"]},{code:"TBS",categories:["dc"]},{code:"SST",categories:["dc"]},{code:"DNT",categories:["dc"]},{code:"BLT",categories:["dc"]},{code:"EZA",categories:["dc"]},{code:"5EZ",categories:["dc"]},{code:"6EZ",categories:["dc"]},{code:"DAG",categories:["dc"]},{code:"PS3",categories:["dc"]},{code:"2BA",categories:["dc"]},{code:"LBA",categories:["dc"]},{code:"JUB",categories:["dc"]},{code:"ENO",categories:["dc"]},{code:"1MQ",categories:["dc"]},{code:"2MQ",categories:["dc"]},{code:"3MQ",categories:["dc"]},{code:"REP",categories:["dc"]},{code:"4BA",categories:["dc"]},{code:"LAO",categories:["dc"]}],pa={};for(var fa of la.entries())pa[fa[1].code]=ca({},fa[1],{position:fa[0]});const ha={ptBooks:pa,ptBookArray:la};var ma=(e,t)=>{for(var n=0,r=0;n<e.length;){var s=e.byte(n);if(e.countedString(n)===t)return r;n+=s+1,r+=1}return-1},Sa=(e,t)=>{for(var n=0,r=0,s=[];n<e.length;){var o=e.byte(n),a=e.countedString(n);l.default.exec(a,(0,l.default)(t,"i"))&&s.push([r,a]),n+=o+1,r+=1}return s};const ya=e;var ga=n(3815),va=n.n(ga),ba=n(706),Ea=n.n(ba),Aa=()=>Ea()(new(va())(4)).substring(0,12);const Ta={graftLocation:{heading:"block",title:"block",endTitle:"block",remark:"block",footnote:"inline",xref:"inline",noteCaller:"inline",esbCat:"inline",table:"block",tree:"block",kv:"block"}};var wa={wordLike:0,punctuation:1,lineSpace:2,eol:3,softLineBreak:4,noBreakSpace:5,bareSlash:6,unknown:7},ka=Object.entries(wa).sort(((e,t)=>e[1]-t[1])).map((e=>e[0])),Pa={wordLike:"wordLike",punctuation:"notWordLike",lineSpace:"notWordLike",eol:"notWordLike",softLineBreak:"notWordLike",noBreakSpace:"notWordLike",bareSlash:"notWordLike",unknown:"notWordLike"};const Ia=t;var Na={blockTag:0,inline:1,chapter:2,pubChapter:3,altChapter:4,verses:5,verse:6,pubVerse:7,altVerse:8,esbCat:9,span:10,table:11,cell:12,milestone:13,spanWithAtts:14,attribute:15,hangingGraft:16,orphanTokens:17,tTableRow:18,tTableCol:19,tTreeNode:20,tTreeParent:21,tTreeChild:22,tTreeContent:23,kvPrimary:24,kvSecondary:25,kvField:26},Oa=Object.entries(Na).sort(((e,t)=>e[1]-t[1])).map((e=>e[0])),_a=(e,t)=>{switch(e){case"blockTag":return"blockTag/"+t[0];case"inline":return"inline/"+t[0];case"chapter":return"chapter/"+t[0];case"verses":return"verses/"+t[0];case"verse":return"verse/"+t[0];case"span":return"span/"+t[0];case"table":return"table";case"cell":return(e=>{var t={th:{type:"colHeading",align:"left"},thr:{type:"colHeading",align:"right"},tc:{type:"body",align:"left"},tcr:{type:"body",align:"right"}},[n,r]=(e=>{var t=l.default.exec(e,(0,l.default)("([^1-9]+)(.*)"));return[t[1],t[2].length>0?t[2]:"1"]})(e),s="1";if(r.includes("-")){var[o,a]=r.split("-");s=""+(parseInt(a)-parseInt(o)+1)}return"cell/"+t[n].type+"/"+t[n].align+"/"+s})(t[0]);case"milestone":return"milestone/"+t[0];case"spanWithAtts":return"spanWithAtts/"+t[0];case"attribute":return"attribute/"+t[0]+"/"+t[1]+"/"+t[2]+"/"+t[3];case"orphanTokens":return"orphanTokens";case"hangingGraft":return"hangingGraft";case"pubChapter":return"pubChapter/"+t[0];case"pubVerse":return"pubVerse/"+t[0];case"altChapter":return"altChapter/"+t[0];case"altVerse":return"altVerse/"+t[0];case"esbCat":return"esbCat/"+t[0];case"tTableRow":return"tTableRow/"+t[0];case"tTableCol":return"tTableCol/"+t[0];case"tTreeNode":return"tTreeNode/"+t[0];case"tTreeParent":return"tTreeParent/"+t[0];case"tTreeChild":return"tTreeChild/"+t[0]+"/"+t[1];case"tTreeContent":return"tTreeContent/"+t[0];case"kvPrimary":return"kvPrimary/"+t[0];case"kvSecondary":return"kvSecondary/"+t[0]+"/"+t[1];case"kvField":return"kvField/"+t[0];default:throw new Error("Unknown scope type '"+e+"' in labelForScope")}},xa=e=>{switch(e){case"orphanTokens":case"hangingGraft":case"table":return 1;case"blockTag":case"inline":case"chapter":case"verses":case"verse":case"span":case"milestone":case"spanWithAtts":case"pubChapter":case"altChapter":case"pubVerse":case"altVerse":case"esbCat":case"tTableRow":case"tTableCol":case"tTreeNode":case"tTreeParent":case"tTreeContent":case"kvPrimary":case"kvField":return 2;case"tTreeChild":case"kvSecondary":return 3;case"cell":return 4;case"attribute":return 6;default:throw new Error("Unknown scope type '"+e+"' in nComponentsForScope")}};const Ca=s;var Da={token:0,graft:1,startScope:2,endScope:3},$a=Object.entries(Da).sort(((e,t)=>e[1]-t[1])).map((e=>e[0])),Ra=e=>({type:e[0],subType:e[1],payload:e[2]}),qa=e=>[e.type,e.subType,e.payload],ja=e=>e.map((e=>Ra(e))),Ma=e=>e.map((e=>qa(e)));const Ba=o;var Ga=(e,t)=>{var n=e.byte(t);return[63&n,n>>6,e.byte(t+1)]},La=(e,t,n,r,s)=>{var o=Ia.tokenCategory[Ia.tokenEnumLabels[r]],a=t[o][n.nByte(s+2)];return e[o].countedString(a)},Fa=(e,t,n,r,s)=>{for(var o=Ca.scopeEnumLabels[r],a=Ca.nComponentsForScope(o),i=2,u="";a>1;){var c=n.nByte(s+i),d=t.scopeBits[c];u+="/"+e.scopeBits.countedString(d),i+=n.nByteLength(c),a--}return""+o+u},Va=(e,t,n)=>{var r=t.graftTypes[n];return e.graftTypes.countedString(r)},Ua=(e,t,n,r)=>{var s=t.ids[n.nByte(r+2)];return e.ids.countedString(s)},Ja=e=>{var t={};for(var[n,r]of Object.entries(e))t[n]=Ha(n,r);return t},Ha=(e,t)=>{for(var n=new Uint32Array(t.length),r=0,s=0;r<t.length;)n[s]=r,r+=t.byte(r)+1,s+=1;return n},Ka=(e,t)=>{t||(t=!1);for(var n=0,r=0,s=[];n<e.length;){var o=e.byte(n),a=e.countedString(n);s.push(t?[r,a]:a),n+=o+1,r++}return s},Wa=(e,t)=>{throw new Error("Undefined or null argument '"+t+"' in '"+e+"'")},Xa=(e,t,n)=>{null==t&&Wa("pushSuccinctTokenBytes","tokenEnumIndex"),null==n&&Wa("pushSuccinctTokenBytes","charsEnumIndex");var r=e.length;e.pushByte(0),e.pushByte(t),e.pushNByte(n),e.setByte(r,e.length-r|Ba.itemEnum.token<<6)},Ya=(e,t,n)=>{null==t&&Wa("pushSuccinctGraftBytes","graftTypeEnumIndex"),null==n&&Wa("pushSuccinctGraftBytes","seqEnumIndex");var r=e.length;e.pushByte(0),e.pushByte(t),e.pushNByte(n),e.setByte(r,e.length-r|Ba.itemEnum.graft<<6)},za=(e,t,n,r)=>{null==t&&Wa("pushSuccinctScopeBytes","itemTypeByte"),null==n&&Wa("pushSuccinctScopeBytes","scopeTypeByte"),null==r&&Wa("pushSuccinctScopeBytes","scopeBitBytes");var s=e.length;for(var o of(e.pushByte(0),e.pushByte(n),r))e.pushNByte(o);e.setByte(s,e.length-s|t<<6)};const Za=a;var Qa={inspectEnum:e=>{var t=new ia;t.fromBase64(e);var n=[];for(var[r,s]of(n.push("* Char length "+t.length+" *"),Za.unpackEnum(t,!0)))n.push(r+'\t"'+s+'"');return n.join("\n")},inspectSuccinct:(e,t)=>{var n=new ia;n.fromBase64(e);var r={};for(var[s,o]of Object.entries(t))r[s]=new ia,r[s].fromBase64(o);var a=Za.enumIndexes(r),i=[];i.push("* Char length "+n.length+" *");for(var u=0;u<n.length;){var[c,d,l]=Za.headerBytes(n,u),p=l,f="";switch(Ba.itemEnumLabels[d]){case"token":p=Ia.tokenEnumLabels[l],f='"'+Za.succinctTokenChars(r,a,n,l,u)+'"';break;case"startScope":case"endScope":p=Ca.scopeEnumLabels[l],f=Za.succinctScopeLabel(r,a,n,l,u);break;case"graft":p=Za.succinctGraftName(r,a,l),f=Za.succinctGraftSeqId(r,a,n,u)}i.push(Ba.itemEnumLabels[d]+"\t"+p+"\t("+c+")\t"+f),u+=c}return i.join("\n")}};const ei=Qa,ti={usfm:{baseSequenceTypes:{main:"1",introduction:"*",introTitle:"?",introEndTitle:"?",title:"?",endTitle:"?",heading:"*",header:"*",remark:"*",sidebar:"*",table:"*",tree:"*",kv:"*"},inlineSequenceTypes:{footnote:"*",noteCaller:"*",xref:"*",pubNumber:"*",altNumber:"*",esbCat:"*",fig:"*",temp:"?"}}},ni={serializedSchema:JSON.parse('{"title":"Root","type":"object","description":"Root Element","definitions":{"base64String":{"type":"string","pattern":"^[A-Za-z0-9/+=]*$"},"tagString":{"type":"string","pattern":"^[a-z][a-z0-9]*(:.+)?$"}},"properties":{"id":{"type":"string"},"metadata":{"type":"object","properties":{"selectors":{"type":"object","additionalProperties":{"type":"string"}}},"required":["selectors"],"additionalProperties":false},"tags":{"type":"array","items":{"type":"string","$ref":"#/definitions/tagString"}},"enums":{"type":"object","properties":{"ids":{"$ref":"#/definitions/base64String"},"wordLike":{"$ref":"#/definitions/base64String"},"notWordLike":{"$ref":"#/definitions/base64String"},"scopeBits":{"$ref":"#/definitions/base64String"},"graftTypes":{"$ref":"#/definitions/base64String"}},"required":["ids","wordLike","notWordLike","scopeBits","graftTypes"],"additionalProperties":false},"docs":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"sequences":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string"},"blocks":{"type":"array","items":{"type":"object","properties":{"bs":{"type":"string"},"bg":{"type":"string"},"c":{"type":"string"},"is":{"type":"string"},"os":{"type":"string"},"nt":{"type":"string"}},"required":["bs","bg","c","is","os","nt"],"additionalProperties":false}},"tags":{"type":"array","items":{"type":"string","$ref":"#/definitions/tagString"}},"chapters":{"type":"object","additionalProperties":{"type":"string"}},"chapterVerses":{"type":"object","additionalProperties":{"type":"string"}},"tokensPresent":{"type":"string"}},"required":["blocks","tags"],"additionalProperties":false},"additionalItems":false},"headers":{"type":"object","additionalProperties":{"type":"string"}},"mainId":{"type":"string"},"tags":{"type":"array","items":{"type":"string","$ref":"#/definitions/tagString"}}},"required":["sequences","headers","mainId","tags"],"additionalProperties":false}},"additionalProperties":false},"required":["id","enums","docs","tags"],"additionalProperties":false}')};var ri=e=>{for(var t of e)si(t)},si=e=>{if(!l.default.exec(e,/^[a-z][A-za-z0-9]*(:.+)?$/))throw new Error("Tag '"+e+"' is not valid (should be [a-z][A-za-z0-9]*(:.+)?)")},oi=(e,t)=>{si(t),e.add(t)},ai=(e,t)=>{si(t),e.delete(t)};const ii=i;var ui=["GEN","EXO","LEV","NUM","DEU","JOS","JDG","RUT","1SA","2SA","1KI","2KI","1CH","2CH","EZR","NEH","EST","JOB","PSA","PRO","ECC","SNG","ISA","JER","LAM","EZK","DAN","HOS","JOL","AMO","OBA","JON","MIC","NAM","HAB","ZEP","HAG","ZEC","MAL","MAT","MRK","LUK","JHN","ACT","ROM","1CO","2CO","GAL","EPH","PHP","COL","1TH","2TH","1TI","2TI","TIT","PHM","HEB","JAS","1PE","2PE","1JN","2JN","3JN","JUD","REV","TOB","JDT","ESG","WIS","SIR","BAR","LJE","S3Y","SUS","BEL","1MA","2MA","3MA","4MA","1ES","2ES","MAN","PS2","ODA","PSS","JSA","JDB","TBS","SST","DNT","BLT","EZA","5EZ","6EZ","DAG","PS3","2BA","LBA","JUB","ENO","1MQ","2MQ","3MQ","REP","4BA","LAO"],ci=()=>{var e={};for(var[t,n]of Object.entries(ui))e[n]=parseInt(t);return e},di=e=>{var t={};for(var n of e.split(/[\n\r]+/).map((e=>e.trim())).map((e=>l.default.exec(e,(0,l.default)("^([A-Z1-6]{3} [0-9]+:[0-9]+(-[0-9]+)?) = ([A-Z1-6]{3} [0-9]+:[0-9]+[a-z]?(-[0-9]+)?)$")))))n&&(n[1]in t||(t[n[1]]=[]),t[n[1]].push(n[3]));return{mappedVerses:t}},li=e=>{var t={};for(var[n,r]of Object.entries(e.mappedVerses))for(var s of r)s in t?t[s].push(n):t[s]=[n];return{reverseMappedVerses:t}},pi=e=>{var t={};for(var[n,r]of Object.entries(e)){"string"==typeof r&&(r=[r]);var[s,o]=n.split(" "),a=r[0].split(" ")[0],i=a===s?["cv"]:["bcv"],[u,c]=o.split(":"),d=c;if(c.includes("-")){var l=c.split("-");c=l[0],d=l[1]}for(var p of(i.push([parseInt(c),parseInt(d)]),i.push([]),r.map((e=>e.split(" ")[1])))){var[f,h]=p.split(":"),m=h;if(h.includes("-")){var S=h.split("-");h=S[0],m=S[1]}"cv"===i[0]?i[2].push([parseInt(f),parseInt(h),parseInt(m)]):i[2].push([parseInt(f),parseInt(h),parseInt(m),a])}s in t||(t[s]={}),u in t[s]||(t[s][u]=[]),t[s][u].push(i)}return t},fi=e=>{var t={},n=ci();for(var[r,s]of Object.entries(pi(e)))for(var[o,a]of(t[r]={},Object.entries(s)))t[r][o]=hi(a,n);return t},hi=(e,t)=>{var n=(e,t)=>t+64*e,r=new ia(64);for(var[s,[o,a],i]of e){var u=r.length,c="bcv"===s?3:2;if(r.pushNBytes([0,o,a]),3===c){var d=t[i[0][3]];r.pushNByte(d)}for(var[l,p]of(r.pushNByte(i.length),i))r.pushNBytes([l,p]);var f=r.length-u;if(f>63)throw new Error("Mapping in succinctifyVerseMapping "+JSON.stringify(i)+" is too long ("+f+" bytes)");r.setByte(u,n(c,f))}return r.trim(),r},mi=(e,t)=>{var n=e.byte(t);return[n>>6,n%64]},Si=(e,t,n)=>{for(var r=[],s=0;s<e.length;){var o=s,a={},[i,u]=mi(e,s);if(o++,a.fromVerseStart=e.nByte(o),o+=e.nByteLength(a.fromVerseStart),a.fromVerseEnd=e.nByte(o),o+=e.nByteLength(a.fromVerseEnd),a.bookCode=t,3===i){var c=e.nByte(o);a.bookCode=ui[c],o+=e.nByteLength(c)}var d=e.nByte(o);o+=e.nByteLength(d);for(var l=[];l.length<d;){var p={};p.ch=e.nByte(o),o+=e.nByteLength(p.ch),p.verseStart=e.nByte(o),o+=e.nByteLength(p.verseStart),l.push(p)}a.mapping=l,r.push(a),s+=u}return r},yi=(e,t,n,r)=>{for(var s=null,o=0;o<e.length;){var a=o,[i,u]=mi(e,o);a++;var c=e.nByte(a);a+=e.nByteLength(c);var d=e.nByte(a);if(a+=e.nByteLength(d),!(r<c||r>d)){var l=t;if(3===i){var p=e.nByte(a);l=ui[p],a+=e.nByteLength(p)}s=[l,[]];var f=e.nByte(a);for(a+=e.nByteLength(f);s[1].length<f;){var h=e.nByte(a);a+=e.nByteLength(h);var m=e.nByte(a);a+=e.nByteLength(m),s[1].push([h,r-c+m])}break}o+=u}return s||[t,[[n,r]]]};const gi=u,vi=c;var bi=(e,t)=>{if("object"!=typeof t)throw new Error("DocSet constructor expects selectors to be object, found "+typeof e.selectors);var n={};for(var r of e.processor.selectors)n[r.name]=r;for(var[s,o]of Object.entries(t)){if(!(s in n))throw new Error("Unexpected selector '"+s+"' (expected one of ["+Object.keys(n).join(", ")+"])");if("string"==typeof o&&"string"!==n[s].type||"number"==typeof o&&"integer"!==n[s].type)throw new Error("Selector '"+s+"' is of type "+typeof o+" (expected "+n[s].type+")");if("number"==typeof o){if(!Number.isInteger(o))throw new Error("Value '"+o+"' of integer selector '"+s+"' is not an integer");if("min"in n[s]&&o<n[s].min)throw new Error("Value '"+o+"' is less than "+n[s].min);if("max"in n[s]&&o>n[s].max)throw new Error("Value '"+o+"' is greater than "+n[s].max)}else if("regex"in n[s]&&!l.default.exec(o,(0,l.default)(n[s].regex),0))throw new Error("Value '"+o+"' does not match regex '"+n[s].regex+"'");if("enum"in n[s]&&!n[s].enum.includes(o))throw new Error("Value '"+o+"' of selector '"+s+"' is not in enum")}for(var a of Object.keys(n))if(!(a in t))throw new Error("Expected selector '"+a+"' not found");return t},Ei=n(5108),Ai=(e,t)=>{for(var n=new Map,r=0,s=0;r<t.length;)n.set(t.countedString(r),{enum:s++,frequency:0}),r+=t.byte(r)+1;return n},Ti=vi.ByteArray,{pushSuccinctGraftBytes:wi,pushSuccinctScopeBytes:ki,pushSuccinctTokenBytes:Pi}=vi.succinct,{itemEnum:Ii}=vi.itemDefs,{scopeEnum:Ni}=vi.scopeDefs,{tokenCategory:Oi,tokenEnum:_i}=vi.tokenDefs,xi=(e,t,n,r,s,o)=>{var a,i=e.processor.documents[t];if(!i)throw new Error("Document '"+t+"' not found");if(n){if(!(a=i.sequences[n]))throw new Error("Sequence '"+n+"' not found")}else a=i.sequences[i.mainId];if(a.blocks.length<=r)throw new Error("Could not find block "+r+" (length="+a.blocks.length+")");var u=a.blocks[r],c=new Ti(o.length);e.maybeBuildPreEnums();var d=0;r<0&&(d=a.blocks[r-1].nt.nByte(0));var l,p,f,h,m,S=null;for(var y of o)switch(y.type){case"token":l=e.enumForCategoryValue(Oi[y.subType],y.payload,!0),Pi(c,_i[y.subType],l),d++;break;case"graft":p=e.enumForCategoryValue("graftTypes",y.subType,!0),f=e.enumForCategoryValue("ids",y.payload,!0),wi(c,p,f);break;case"scope":if(h=y.payload.split("/"),!(m=Ni[h[0]])&&0!==m)throw new Error('"'+h[0]+'" is not a scope type');S=h.slice(1).map((t=>e.enumForCategoryValue("scopeBits",t,!0))),ki(c,Ii[y.subType+"Scope"],m,S)}return c.trim(),u[s]=c,"c"===s&&(u.nt.clear(),u.nt.pushNByte(d)),!0},Ci=(e,t,n,r,s)=>xi(e,t,n,r,"bg",s),Di=vi.ByteArray,{addTag:$i,removeTag:Ri,validateTags:qi}=vi.tags,{succinctGraftName:ji,succinctGraftSeqId:Mi,succinctScopeLabel:Bi,succinctTokenChars:Gi,headerBytes:Li,enumIndex:Fi,enumIndexes:Vi}=vi.succinct,{itemEnum:Ui}=vi.itemDefs,{tokenEnumLabels:Ji}=vi.tokenDefs;class Hi{constructor(e,t,n,r){this.processor=e,this.preEnums={},this.enumIndexes={},this.docIds=[],r?this.fromSuccinct(e,r):this.fromScratch(e,t,n),qi(this.tags)}fromScratch(e,t,n){var r=t||e.selectors;this.selectors=bi(this,r),this.id=this.selectorString(),this.tags=new Set(n||[]),this.enums={ids:new Di(512),wordLike:new Di(8192),notWordLike:new Di(256),scopeBits:new Di(256),graftTypes:new Di(10)}}fromSuccinct(e,t){var n=e=>{var t=new Di(256);return t.fromBase64(e),t.trim(),t};this.id=t.id,this.selectors=bi(this,t.metadata.selectors),this.tags=new Set(t.tags),qi(this.tags),this.preEnums={},this.enums={ids:n(t.enums.ids),wordLike:n(t.enums.wordLike),notWordLike:n(t.enums.notWordLike),scopeBits:n(t.enums.scopeBits),graftTypes:n(t.enums.graftTypes)},this.enumIndexes={},this.docIds=[]}addTag(e){$i(this.tags,e)}removeTag(e){Ri(this.tags,e)}selectorString(){return this.processor.selectorString(this.selectors)}documents(){return this.docIds.map((e=>this.processor.documents[e]))}documentWithBook(e){var t=Object.values(this.documents()).filter((t=>"bookCode"in t.headers&&t.headers.bookCode===e));return 1===t.length?t[0]:null}maybeBuildPreEnums(){0===Object.keys(this.preEnums).length&&this.buildPreEnums()}buildPreEnums(){for(var[e,t]of Object.entries(this.enums))this.preEnums[e]=Ai(0,t)}recordPreEnum(e,t){((e,t,n)=>{if(!(t in e.preEnums))throw new Error("Unknown category "+t+" in recordPreEnum. Maybe call buildPreEnums()?");n.length>255&&Ei.log("Value length of",n.length,"in recordPreEnum"),e.preEnums[t].has(n)?e.preEnums[t].get(n).frequency++:e.preEnums[t].set(n,{enum:e.preEnums[t].size,frequency:1})})(this,e,t)}sortPreEnums(){for(var e of Object.keys(this.preEnums)){this.preEnums[e]=new Map([...this.preEnums[e].entries()].sort(((e,t)=>t[1].frequency-e[1].frequency)));var t=0;for(var[n,r]of this.preEnums[e])r.enum=t++}}enumForCategoryValue(e,t,n){return((e,t,n,r)=>{if(r||(r=!1),!(t in e.preEnums))throw new Error("Unknown category "+t+" in preEnums. Maybe call buildPreEnums()?");if(e.preEnums[t].has(n))return e.preEnums[t].get(n).enum;if(r)return e.preEnums[t].set(n,{enum:e.preEnums[t].size,frequency:1}),e.enums[t].pushCountedString(n),e.buildEnumIndex(t),e.preEnums[t].get(n).enum;throw new Error("Unknown value '"+n+"' for category "+t+" in enumForCategoryValue. Maybe call buildPreEnums()?")})(this,e,t,n)}buildEnums(){for(var[e,t]of Object.entries(this.preEnums))this.enums[e].clear(),this.buildEnum(e,t)}buildEnum(e,t){((e,t,n)=>{var r=new Map([...n.entries()]);for(var s of r.keys())s.length>255&&Ei.log("enum text for",t,"has length",s.length,"in buildEnum - truncating"),e.enums[t].pushCountedString(s.substring(0,255));e.enums[t].trim()})(this,e,t)}maybeBuildEnumIndexes(){0===Object.keys(this.enumIndexes).length&&this.buildEnumIndexes()}buildEnumIndexes(){this.enumIndexes=Vi(this.enums)}buildEnumIndex(e){this.enumIndexes[e]=Fi(e,this.enums[e])}unsuccinctifyBlock(e,t){return((e,t,n)=>{e.maybeBuildEnumIndexes();var r=t.bs,[s,o,a]=vi.succinct.headerBytes(r,0),i=e.unsuccinctifyScope(r,o,a,0),u=e.unsuccinctifyGrafts(t.bg),c=e.unsuccinctifyScopes(t.os),d=e.unsuccinctifyScopes(t.is),l=t.nt.nByte(0);return{bs:i,bg:u,c:e.unsuccinctifyItems(t.c,n||{},l),os:c,is:d,nt:l}})(this,e,t)}unsuccinctifyItems(e,t,n,r){return((e,t,n,r,s)=>{if(void 0===r)throw new Error("nextToken (previously includeContext) must now be provided to unsuccinctifyItems");if(null!==r&&"number"!=typeof r)throw new Error("nextToken (previously includeContext) must be null or an integer, not "+typeof r+" '"+JSON.stringify(r)+"' in unsuccinctifyItems");for(var o=[],a=0,i=r||0,u=new Set(s||[]);a<t.length;){var[c,d]=e.unsuccinctifyItem(t,a,{});"token"===c[0]?(0===Object.keys(n).length||n.tokens)&&(null!==r&&(c.push("token"===c[0]&&"wordLike"===c[1]?i++:null),c.push([...u])),o.push(c)):"scope"===c[0]&&"start"===c[1]?(u.add(c[2]),(0===Object.keys(n).length||n.scopes)&&o.push(c)):"scope"===c[0]&&"end"===c[1]?(u.delete(c[2]),(0===Object.keys(n).length||n.scopes)&&o.push(c)):"graft"===c[0]&&(0===Object.keys(n).length||n.grafts)&&o.push(c),a+=d}return o})(this,e,t,n,r)}unsuccinctifyItem(e,t,n){return((e,t,n,r)=>{var s=null,[o,a,i]=vi.succinct.headerBytes(t,n);switch(a){case vi.itemDefs.itemEnum.token:(0===Object.keys(r).length||r.tokens)&&(s=e.unsuccinctifyToken(t,i,n));break;case vi.itemDefs.itemEnum.startScope:case vi.itemDefs.itemEnum.endScope:(0===Object.keys(r).length||r.scopes)&&(s=e.unsuccinctifyScope(t,a,i,n));break;case vi.itemDefs.itemEnum.graft:(0===Object.keys(r).length||r.grafts)&&(s=e.unsuccinctifyGraft(t,i,n))}return[s,o]})(this,e,t,n)}unsuccinctifyPrunedItems(e,t){return((e,t,n)=>{var r=new Set(e.unsuccinctifyScopes(t.os).map((e=>e[2]))),s=n.requiredScopes||[],o=n.anyScope?()=>{for(var e of s)if(r.has(e))return!0;return 0===s.length}:()=>{for(var e of s)if(!r.has(e))return!1;return!0},a=e=>!n.withChars||0===n.withChars.length||"token"===e[0]&&n.withChars.includes(e[2]),i=[];for(var u of e.unsuccinctifyItems(t.c,n,t.nt.nByte(0),r))"scope"===u[0]&&"start"===u[1]&&r.add(u[2]),o()&&a(u)&&i.push(u),"scope"===u[0]&&"end"===u[1]&&r.delete(u[2]);return i})(this,e,t)}unsuccinctifyScopes(e){for(var t=[],n=0;n<e.length;){var[r,s,o]=Li(e,n);t.push(this.unsuccinctifyScope(e,s,o,n)),n+=r}return t}unsuccinctifyGrafts(e){for(var t=[],n=0;n<e.length;){var[r,s,o]=Li(e,n);t.push(this.unsuccinctifyGraft(e,o,n)),n+=r}return t}unsuccinctifyToken(e,t,n){try{return["token",Ji[t],this.succinctTokenChars(e,t,n)]}catch(e){throw new Error("Error from unsuccinctifyToken: "+e)}}unsuccinctifyScope(e,t,n,r){try{return["scope",t===Ui.startScope?"start":"end",this.succinctScopeLabel(e,n,r)]}catch(e){throw new Error("Error from unsuccinctifyScope: "+e)}}unsuccinctifyGraft(e,t,n){try{return["graft",this.succinctGraftName(t),this.succinctGraftSeqId(e,n)]}catch(e){throw new Error("Error from unsuccinctifyGraft: "+e)}}unsuccinctifyBlockScopeLabelsSet(e){var[t,n,r]=Li(e.bs,0),s=this.unsuccinctifyScope(e.bs,n,r,0);return new Set(this.unsuccinctifyScopes(e.os).concat(this.unsuccinctifyScopes(e.is)).concat([s]).map((e=>e[2])))}unsuccinctifyItemsWithScriptureCV(e,t,n){return((e,t,n,r)=>{r=r||{};var s=new Set(e.unsuccinctifyScopes(t.os).map((e=>e[2]))),o=(()=>{if(l.default.exec(n,(0,l.default)("^[1-9][0-9]*$")))return()=>s.has("chapter/"+n);if(l.default.exec(n,(0,l.default)("^[1-9][0-9]*-[1-9][0-9]*$")))return()=>{var[e,t]=n.split("-").map((e=>parseInt(e)));if(e>t)throw new Error("Chapter range must be from min to max, not '"+n+"'");for(var r of[...Array(t-e+1).keys()].map((t=>"chapter/"+(t+e))))if(s.has(r))return!0;return!1};if(l.default.exec(n,(0,l.default)("^[1-9][0-9]*:[0-9]+$")))return()=>{var[e,t]=n.split(":").map((e=>parseInt(e)));if(0===t)return s.has("chapter/"+e)&&0===[...s].filter((e=>e.startsWith("verse"))).length;for(var r of["chapter/"+e,"verse/"+t])if(!s.has(r))return!1;return!0};if(l.default.exec(n,(0,l.default)("^[1-9][0-9]*:[0-9]+-[1-9][0-9]*$")))return()=>{var[e,t]=n.split(":"),[r,o]=t.split("-").map((e=>parseInt(e)));if(r>o)throw new Error("Verse range must be from min to max, not '"+t+"'");var a="chapter/"+e,i=[...Array(o-r+1).keys()].map((e=>"verse/"+(e+r)));if(!s.has(a))return!1;for(var u of i)if(s.has(u))return!0;return 0===r&&0===[...s].filter((e=>e.startsWith("verse"))).length};if(l.default.exec(n,(0,l.default)("^[1-9][0-9]*:[0-9]+-[1-9][0-9]*:[0-9]+$")))return()=>{var[e,t]=n.split("-"),[r,o]=e.split(":").map((e=>parseInt(e))),[a,i]=t.split(":").map((e=>parseInt(e)));if(r>a)throw new Error("Chapter range must be from min to max, not '"+r+"-"+i+"'");var u=[...s],c=u.filter((e=>e.startsWith("chapter/")));if(c.length>1)throw new Error("Expected zero or one chapter for item, found "+c.length);var d=parseInt(c[0].split("/")[1]);return!(d<r||d>a)&&(d===r?u.filter((e=>e.startsWith("verse/")&&parseInt(e.split("/")[1])>=o)).length>0||0===o&&0===u.filter((e=>e.startsWith("verse"))).length:d!==a||u.filter((e=>e.startsWith("verse/")&&parseInt(e.split("/")[1])<=i)).length>0||0===i&&0===u.filter((e=>e.startsWith("verse"))).length)};throw new Error("Bad cv reference '"+n+"'")})(),a=e=>{if(r&&0!==Object.keys(r).length){var t=e[0];return"token"===t&&"tokens"in r||"graft"===t&&"grafts"in r||"scope"===t&&"scopes"in r}return!0},i=[];for(var u of e.unsuccinctifyItems(t.c,{},t.nt.nByte(0)))"scope"===u[0]&&"start"===u[1]&&s.add(u[2]),o()&&a(u)&&i.push(u),"scope"===u[0]&&"end"===u[1]&&s.delete(u[2]);return i})(this,e,t,n)}succinctTokenChars(e,t,n){return Gi(this.enums,this.enumIndexes,e,t,n)}succinctScopeLabel(e,t,n){return Bi(this.enums,this.enumIndexes,e,t,n)}succinctGraftName(e){return ji(this.enums,this.enumIndexes,e)}succinctGraftSeqId(e,t){return Mi(this.enums,this.enumIndexes,e,t)}countItems(e){return((e,t)=>{for(var n=0,r=0;r<t.length;)n++,r+=63&t.byte(r);return n})(0,e)}itemsByIndex(e,t,n){return((e,t,n,r)=>{var s=[];if(!n)return s;for(var o=n.startBlock,a=n.nextToken;o<=n.endBlock;){var i=e.unsuccinctifyItems(t.blocks[o].c,{},a),u=e.unsuccinctifyScopes(t.blocks[o].bs)[0],c=e.unsuccinctifyGrafts(t.blocks[o].bg);if(o===n.startBlock&&o===n.endBlock?i=i.slice(n.startItem,n.endItem+1):o===n.startBlock?i=i.slice(n.startItem):o===n.endBlock&&(i=i.slice(0,n.endItem+1)),r){var d=[];for(var l of i)d.push(l.concat(["token"===l[0]&&"wordLike"===l[1]?a++:null]));i=d}s.push([...c,["scope","start",u[2]],...i,["scope","end",u[2]]]),o++}return s})(this,e,t,n)}blocksWithScriptureCV(e,t){return((e,t,n)=>{if(l.default.exec(n,(0,l.default)("^[1-9][0-9]*$"))){var r=["chapter/"+n];return t.filter((t=>e.allScopesInBlock(t,r)))}if(l.default.exec(n,(0,l.default)("^[1-9][0-9]*-[1-9][0-9]*$"))){var[s,o]=n.split("-").map((e=>parseInt(e)));if(s>o)throw new Error("Chapter range must be from min to max, not '"+n+"'");var a=[...Array(o-s+1).keys()].map((e=>"chapter/"+(e+s)));return t.filter((t=>e.anyScopeInBlock(t,a)))}if(l.default.exec(n,(0,l.default)("^[1-9][0-9]*:[0-9]+$"))){var[i,u]=n.split(":").map((e=>parseInt(e)));if(0===u){var c=["chapter/"+i];return t.filter((t=>e.allScopesInBlock(t,c))).filter((t=>0===[...e.allBlockScopes(t)].filter((e=>e.startsWith("verse"))).length))}var d=["chapter/"+i,"verse/"+u];return t.filter((t=>e.allScopesInBlock(t,d)))}if(l.default.exec(n,(0,l.default)("^[1-9][0-9]*:[0-9]+-[1-9][0-9]*$"))){var[p,f]=n.split(":"),[h,m]=f.split("-").map((e=>parseInt(e)));if(h>m)throw new Error("Verse range must be from min to max, not '"+f+"'");var S=["chapter/"+p],y=[...Array(m-h+1).keys()].map((e=>"verse/"+(e+h)));return t.filter((t=>e.allScopesInBlock(t,S))).filter((t=>e.anyScopeInBlock(t,y)||0===h&&0===[...e.allBlockScopes(t)].filter((e=>e.startsWith("verse"))).length))}if(l.default.exec(n,(0,l.default)("^[1-9][0-9]*:[0-9]+-[1-9][0-9]*:[0-9]+$"))){var[g,v]=n.split("-"),[b,E]=g.split(":").map((e=>parseInt(e))),[A,T]=v.split(":").map((e=>parseInt(e)));if(b>A)throw new Error("Chapter range must be from min to max, not '"+b+"-"+T+"'");var w=[...Array(A-b+1).keys()].map((e=>"chapter/"+(e+b)));return t.filter((t=>e.anyScopeInBlock(t,w))).filter((t=>((t,n,r)=>[...e.unsuccinctifyScopes(t.os).map((e=>e[2])),...e.unsuccinctifyScopes(t.is).map((e=>e[2]))].filter((e=>e.startsWith("chapter/"))).map((e=>parseInt(e.split("/")[1]))).filter((e=>e>n&&e<r)).length>0)(t,b,A)||((t,n,r)=>[...e.unsuccinctifyScopes(t.os).map((e=>e[2])),...e.unsuccinctifyScopes(t.is).map((e=>e[2]))].includes("chapter/"+n)&&e.blockHasMatchingItem(t,((e,t)=>!!t.has("chapter/"+n)&&(Array.from(t).filter((e=>e.startsWith("verse/"))).filter((e=>parseInt(e.split("/")[1])>=r)).length>0||0===r&&"token"===e[0]&&e[2]&&0===Array.from(t).filter((e=>e.startsWith("verse"))).length)),{}))(t,b,E)||((t,n,r)=>[...e.unsuccinctifyScopes(t.os).map((e=>e[2])),...e.unsuccinctifyScopes(t.is).map((e=>e[2]))].includes("chapter/"+n)&&e.blockHasMatchingItem(t,((e,t)=>!!t.has("chapter/"+n)&&(Array.from(t).filter((e=>e.startsWith("verse/"))).filter((e=>parseInt(e.split("/")[1])<=r)).length>0||0===r&&"token"===e[0]&&e[2]&&0===Array.from(t).filter((e=>e.startsWith("verse"))).length)),{}))(t,A,T)))}throw new Error("Bad cv reference '"+n+"'")})(this,e,t)}allBlockScopes(e){return((e,t)=>{var[n,r,s]=vi.succinct.headerBytes(t.bs,0),o=e.unsuccinctifyScope(t.bs,r,s,0);return new Set([...e.unsuccinctifyScopes(t.os).map((e=>e[2])),...e.unsuccinctifyScopes(t.is).map((e=>e[2])),o[2]])})(this,e)}allScopesInBlock(e,t){return((e,t,n)=>{var r=this.allBlockScopes(t);for(var s of n)if(!r.has(s))return!1;return!0})(0,e,t)}anyScopeInBlock(e,t){return((e,t,n)=>{var r=this.allBlockScopes(t);for(var s of n)if(r.has(s))return!0;return!1})(0,e,t)}blockHasBlockScope(e,t){return((e,t,n)=>{var[r,s,o]=vi.succinct.headerBytes(t.bs,0);return e.unsuccinctifyScope(t.bs,s,o,0)[2]===n})(this,e,t)}blockHasChars(e,t){return((e,t,n)=>{var r=!1,s=0,o=t.c;if(n.includes(-1))return!1;for(;!r&&s<o.length;){var[a,i]=vi.succinct.headerBytes(o,s);i===vi.itemDefs.itemEnum.token&&n.includes(o.nByte(s+2))&&(r=!0),s+=a}return r})(0,e,t)}blockHasMatchingItem(e,t,n){return((e,t,n,r)=>{var s=new Set(e.unsuccinctifyScopes(t.os).map((e=>e[2])));for(var o of e.unsuccinctifyItems(t.c,r,0)){if("scope"===o[0]&&"start"===o[1]&&s.add(o[2]),n(o,s))return!0;"scope"===o[0]&&"end"===o[1]&&s.delete(o[2])}return!1})(this,e,t,n)}sequenceItemsByScopes(e,t){return((e,t,n)=>{var r=[],s=()=>{for(var e of n)if(!o(e))return!1;return!0},o=e=>{for(var t of r)if(t.startsWith(e))return t;return null};e.maybeBuildEnumIndexes();var a=[],i=new Set([]),u=!0;for(var[c,d]of t.entries()){var[l,p,f]=vi.succinct.headerBytes(d.bs,0),h=e.unsuccinctifyScope(d.bs,p,f,0)[2],m=["scope","start",h],S=["scope","end",h],y=e.unsuccinctifyGrafts(d.bg);for(var g of(r=new Set(e.unsuccinctifyScopes(d.os).map((e=>e[2])).concat([h])),y.concat([m,...e.unsuccinctifyItems(d.c,{},d.nt.nByte(0),r),S]).concat(c!==t.length-1?[["token","lineSpace"," "]]:[]))){if("scope"===g[0]&&"start"===g[1]&&i.add(g[2]),"token"===g[0]&&i.size>0){for(var v of Array.from(i))r.add(v);i.clear()}s()?(u&&a.push([[...r],[]]),a[a.length-1][1].push(g),u=!1):u=!0,"scope"===g[0]&&"end"===g[1]&&(r.delete(g[2]),i.delete(g[2]))}}return a})(this,e,t)}sequenceItemsByMilestones(e,t){return((e,t,n)=>{var r=new Set([]),s=e=>"scope"===e[0]&&"start"===e[1]&&n.includes(e[2]);e.maybeBuildEnumIndexes();var o=[[[],[]]];for(var a of t){var[i,u,c]=vi.succinct.headerBytes(a.bs,0),d=e.unsuccinctifyScope(a.bs,u,c,0)[2],l=e.unsuccinctifyGrafts(a.bg);r.add(d),e.unsuccinctifyScopes(a.os).forEach((e=>r.add(e[2])));var p=l.concat([d].concat(e.unsuccinctifyItems(a.c,{},a.nt.nByte(0))));for(var f of p){if("scope"===f[0]&&"start"===f[1]&&r.add(f[2]),s(f)){for(var h of(o[o.length-1][0]=[...r].sort(),o.push([[],[]]),[...r].filter((e=>["blockTag","verse","verses","chapter"].includes(e.split("/")[0])||n.includes(e)))))r.delete(h);r.add(d)}o[o.length-1][1].push(f)}o[o.length-1][1].push(["scope","end",d]),o[o.length-1][1].push(["token","punctuation","\n"])}return o[o.length-1][0]=[...r].sort(),o})(this,e,t)}rehash(){return(e=>{for(var t of(e.preEnums={},Object.keys(e.enums)))e.preEnums[t]=new Map;for(var n of(e.maybeBuildEnumIndexes(),e.documents()))for(var r of Object.values(n.sequences))n.rerecordPreEnums(e,r);e.sortPreEnums();var s=e.makeRehashEnumMap();for(var o of e.documents())for(var a of Object.values(o.sequences))o.rewriteSequenceBlocks(a.id,s);return e.buildEnums(),e.buildEnumIndexes(),!0})(this)}makeRehashEnumMap(){return(e=>{var t={};for(var[n,r]of Object.entries(e.enums)){t[n]=[];for(var s=0;s<r.length;){var o=r.byte(s),a=r.countedString(s);e.preEnums[n].has(a)?t[n].push(e.preEnums[n].get(a).enum):t[n].push(null),s+=o+1}}return t})(this)}updateItems(e,t,n,r){return((e,t,n,r,s)=>xi(this,t,n,r,"c",s))(0,e,t,n,r)}updateBlockGrafts(e,t,n,r){return Ci(this,e,t,n,r)}updateBlockScope(e,t,n,r){return((e,t,n,r,s)=>xi(this,t,n,r,"bs",[s]))(0,e,t,n,r)}updateOpenScopes(e,t,n,r){return((e,t,n,r,s)=>xi(this,t,n,r,"os",s))(0,e,t,n,r)}updateIncludedScopes(e,t,n,r){return((e,t,n,r,s)=>xi(this,t,n,r,"is",s))(0,e,t,n,r)}updateBlockIndexesAfterEdit(e,t){((e,t,n)=>{var r=(e,t,n)=>{var r=n.split("/"),s=Ni[r[0]];if(!s&&0!==s)throw new Error('"'+r[0]+'" is not a scope type');var o=r.slice(1).map((t=>e.enumForCategoryValue("scopeBits",t,!0)));ki(t,Ii.startScope,s,o)},s=t.blocks[n],o=new Set,a=new Set;for(var i of e.unsuccinctifyScopes(s.os))a.add(i[2]);for(var u of e.unsuccinctifyItems(s.c,{scopes:!0},null))"start"===u[1]?(o.add(u[2]),a.add(u[2])):a.delete(u[2]);var c=Array.from(o),d=new Ti(c.length);for(var l of c)r(e,d,l);if(d.trim(),s.is=d,n<t.blocks.length-1){var p=t.blocks[n+1],f=p.os,h=new Set(e.unsuccinctifyScopes(f).map((e=>e[2])));if(!((e,t)=>{for(var n of Array.from(e))if(!t.has(n))return!1;for(var r of Array.from(t))if(!e.has(r))return!1;return!0})(a,h)){var m=new Ti(h.length);for(var S of Array.from(a))r(e,m,S);m.trim(),p.os=m,e.updateBlockIndexesAfterEdit(t,n+1)}}})(this,e,t)}updateBlockIndexesAfterFilter(e){((e,t)=>{var n=(e,t,n)=>{var r=n.split("/"),s=Ni[r[0]];if(!s&&0!==s)throw new Error('"'+r[0]+'" is not a scope type');var o=r.slice(1).map((t=>e.enumForCategoryValue("scopeBits",t,!0)));ki(t,Ii.startScope,s,o)},r=new Set;for(var s of t.blocks){var o=Array.from(r),a=new Ti(o.length);for(var i of o)n(e,a,i);a.trim(),s.os=a;var u=new Set;for(var c of e.unsuccinctifyItems(s.c,{scopes:!0},null))"start"===c[1]?(u.add(c[2]),r.add(c[2])):r.delete(c[2]);var d=Array.from(u),l=new Ti(d.length);for(var p of d)n(e,l,p);l.trim(),s.is=l}})(this,e)}serializeSuccinct(){return(e=>{var t={id:e.id,metadata:{selectors:e.selectors},enums:{},docs:{},tags:Array.from(e.tags)};for(var[n,r]of Object.entries(e.enums))r.trim(),t.enums[n]=r.base64();for(var s of(t.docs={},e.docIds))t.docs[s]=e.processor.documents[s].serializeSuccinct();return t})(this)}checksum(){var e=[...this.docIds].sort().join(" ");return qo()(e)}}var Ki=n(3755),Wi=n(6705),Xi=[["chapter","chapter",(0,l.default)("([\\r\\n]*\\\\c[ \\t]+(\\d+)[ \\t\\r\\n]*)")],["pubchapter","pubchapter",(0,l.default)("([\\r\\n]*\\\\cp[ \\t]+([^\\r\\n]+)[ \\t\\r\\n]*)")],["verses","verses",(0,l.default)("(\\\\v[ \\t]+([\\d\\-]+)[ \\t\\r\\n]*)")],["attribute","attribute",(0,l.default)('([ \\t]*\\|?[ \\t]*([A-Za-z0-9\\-]+)="([^"]*)"[ \\t]?)')],["attribute","defaultAttribute",(0,l.default)("([ \\t]*\\|[ \\t]*([^\\|\\\\]*))")],["milestone","emptyMilestone",(0,l.default)("(\\\\([a-z1-9]+)\\\\[*])")],["milestone","startMilestoneTag",(0,l.default)("(\\\\([a-z1-9]+)-([se]))")],["milestone","endMilestoneMarker",(0,l.default)("(\\\\([*]))")],["tag","endTag",(0,l.default)("(\\\\([+]?[a-z\\-]+)([1-9]?(-([1-9]))?)[*])")],["tag","startTag",(0,l.default)("(\\\\([+]?[a-z\\-]+)([1-9]?(-([1-9]))?)[ \\t]?)")],["bad","bareSlash",(0,l.default)("(\\\\)")],["printable","eol",(0,l.default)("([ \\t]*[\\r\\n]+[ \\t]*)")],["break","noBreakSpace",(0,l.default)("~")],["break","softLineBreak",(0,l.default)("//")],["printable","wordLike",(0,l.default)("([\\p{Letter}\\p{Number}\\p{Mark}\\u2060]{1,127})")],["printable","lineSpace",(0,l.default)("([\\p{Separator}\t]{1,127})")],["printable","punctuation",(0,l.default)("([\\p{Punctuation}\\p{Math_Symbol}\\p{Currency_Symbol}\\p{Modifier_Symbol}\\p{Other_Symbol}])")],["bad","unknown",(0,l.default)("(.)")]],Yi=l.default.union(Xi.map((e=>e[2]))),zi=(e,t)=>({subclass:e,printValue:t[0]}),Zi={printable:zi,chapter:(e,t)=>({subclass:e,numberString:t[2],number:parseInt(t[2]),printValue:"\\c "+t[2]+"\n"}),pubchapter:(e,t)=>({subclass:e,numberString:t[2],printValue:"\\cp "+t[2]+"\n"}),verses:(e,t)=>{var n={subclass:e,numberString:t[2],printValue:"\\v "+t[2]+"\n"};if(n.numberString.includes("-")){var[r,s]=n.numberString.split("-").map((e=>parseInt(e)));n.numbers=Array.from(Array(s-r+1).keys()).map((e=>e+r))}else n.numbers=[parseInt(n.numberString)];return n},tag:(e,t)=>{var n={subclass:e,tagName:t[2],isNested:!1};return n.tagName.startsWith("+")&&(n.isNested=!0,n.tagName=n.tagName.substring(1)),n.tagLevel=""!==t[3]?parseInt(t[3]):1,n.fullTagName=""+n.tagName+("1"===t[3]?"":t[3]),n.printValue="startTag"===e?"\\"+n.fullTagName+" ":"\\"+n.fullTagName+"*",n},break:zi,milestone:(e,t)=>{var n={subclass:e,sOrE:null};return"endMilestoneMarker"===e?n.printValue="\\*":(n.tagName=t[2],"emptyMilestone"===e?n.printValue="\\"+n.tagName+"\\*":(n.printValue="\\"+n.tagName,n.sOrE=t[3])),n},attribute:(e,t)=>{var n;return(n="defaultAttribute"===e?{subclass:e,key:"default",valueString:t[2].trim().replace(/\//g,"÷")}:{subclass:e,key:t[2],valueString:t[3].trim().replace(/\//g,"÷")}).values=n.valueString.split(",").map((e=>e.trim())),n.printValue="| "+n.key+'="'+n.valueString+'"',n},bad:zi},Qi=(e,t)=>{for(var n=0;n<t.length;n++){var[r,s,o]=t[n],a=l.default.exec(e,o,0,"sticky");if(a)return Zi[r](s,a)}throw new Error("Could not match preToken fragment '"+e+"'")},eu=n(6099),tu=n.n(eu),nu=n(5108);class ru{constructor(){this.sax=tu().parser(!0),this.sax.ontext=e=>this.handleSaxText(e),this.sax.onopentag=e=>this.handleSaxOpenTag(e),this.sax.onclosetag=e=>this.handleSaxCloseTag(e),this.lexed=[],this.elementStack=[],this.currentText="",this.openTagHandlers={usx:this.ignoreHandler,book:this.handleBookOpen,chapter:this.handleChapter,verse:this.handleVerses,para:this.handleParaOpen,table:this.ignoreHandler,row:this.handleRowOpen,cell:this.handleCellOpen,char:this.handleCharOpen,ms:this.handleMSOpen,note:this.handleNoteOpen,sidebar:this.handleSidebarOpen,periph:this.notHandledHandler,figure:this.handleFigureOpen,optbreak:this.handleOptBreakOpen,ref:this.handleRefOpen},this.closeTagHandlers={usx:this.ignoreHandler,book:this.handleBookClose,chapter:this.ignoreHandler,verse:this.ignoreHandler,para:this.handleParaClose,table:this.ignoreHandler,row:this.handleRowClose,cell:this.handleCellClose,char:this.handleCharClose,ms:this.handleMSClose,note:this.handleNoteClose,sidebar:this.handleSidebarClose,periph:this.notHandledHandler,figure:this.handleFigureClose,optbreak:this.handleOptBreakClose,ref:this.handleRefClose}}lexAndParse(e,t){this.parser=t,this.lexed=[],this.elementStack=[],this.sax.write(e).close()}handleSaxText(e){this.currentText=this.replaceEntities(e),l.default.match(this.currentText,Yi,"all").map((e=>Qi(e,Xi))).forEach((e=>this.parser.parseItem(e)))}replaceEntities(e){return e.replace("<","<").replace(">",">").replace("'","'").replace(""",'"').replace("&","&")}handleSaxOpenTag(e){var t=e.name,n=e.attributes;if(!(t in this.openTagHandlers))throw new Error("Unexpected open element tag '"+t+"' in UsxParser");this.openTagHandlers[t](this,"open",t,n)}handleSaxCloseTag(e){this.closeTagHandlers[e](this,"close",e)}notHandledHandler(e,t,n){nu.error("WARNING: "+t+" element tag '"+n+"' is not handled by UsxParser")}stackPush(e,t){this.elementStack.push([e,t])}stackPop(){return this.elementStack.pop()}splitTagNumber(e){var t=l.default.exec(e,(0,l.default)("([^1-9]+)(.*)"));return[t[1],t[2].length>0?t[2]:"1"]}ignoreHandler(e,t,n){}handleParaOpen(e,t,n,r){e.currentText="";var[s,o]=e.splitTagNumber(r.style);["cp"].includes(s)||e.parser.parseItem(Zi.tag("startTag",[null,null,s,o])),e.stackPush(n,r)}handleParaClose(e){var t=e.stackPop()[1],[n,r]=e.splitTagNumber(t.style);["cp"].includes(n)?e.parser.parseItem(Zi.pubchapter("pubchapter",[null,null,e.currentText])):e.parser.parseItem(Zi.tag("endTag",[null,null,n,r])),e.currentText=""}handleCharOpen(e,t,n,r){var[s,o]=e.splitTagNumber(r.style);e.parser.parseItem(Zi.tag("startTag",[null,null,"+"+s,o]));var a=["sid","eid","style","srcloc","link-href","link-title","link-id","closed"];for(var[i,u]of Object.entries(r))a.includes(i)||e.parser.parseItem(Zi.attribute("attribute",[null,null,i,u]));e.stackPush(n,r)}handleCharClose(e){var t=e.stackPop()[1],[n,r]=e.splitTagNumber(t.style);e.parser.parseItem(Zi.tag("endTag",[null,null,"+"+n,r]))}handleRefOpen(e){e.parser.parseItem(Zi.tag("startTag",[null,null,"xt",""]))}handleRefClose(e){e.parser.parseItem(Zi.tag("endTag",[null,null,"xt",""]))}handleRowOpen(e,t,n,r){var[s,o]=e.splitTagNumber(r.style);e.parser.parseItem(Zi.tag("startTag",[null,null,s,o])),e.stackPush(n,r)}handleRowClose(e){var t=e.stackPop()[1],[n,r]=e.splitTagNumber(t.style);e.parser.parseItem(Zi.tag("endTag",[null,null,n,r]))}handleCellOpen(e,t,n,r){var[s,o]=e.splitTagNumber(r.style);e.parser.parseItem(Zi.tag("startTag",[null,null,s,o])),e.stackPush(n,r)}handleCellClose(e){var t=e.stackPop()[1],[n,r]=e.splitTagNumber(t.style);e.parser.parseItem(Zi.tag("endTag",[null,null,n,r]))}handleBookOpen(e,t,n,r){e.parser.parseItem(Zi.tag("startTag",[null,null,"id",""])),e.parser.parseItem(Zi.printable("wordLike",[r.code])),e.parser.parseItem(Zi.printable("lineSpace",[" "])),e.stackPush(n,r)}handleBookClose(e){e.stackPop(),e.parser.parseItem(Zi.tag("endTag",[null,null,"id",""]))}handleChapter(e,t,n,r){r.number&&(e.parser.parseItem(Zi.chapter("chapter",[null,null,r.number])),r.pubnumber&&e.parser.parseItem(Zi.pubchapter("pubchapter",[null,null,r.pubnumber])),r.altnumber&&(e.parser.parseItem(Zi.tag("startTag",[null,null,"+ca",""])),e.parser.parseItem(Zi.printable("wordLike",[r.altnumber])),e.parser.parseItem(Zi.tag("endTag",[null,null,"+ca",""]))))}handleVerses(e,t,n,r){r.number&&(e.parser.parseItem(Zi.verses("verses",[null,null,r.number])),r.pubnumber&&(e.parser.parseItem(Zi.tag("startTag",[null,null,"+vp",""])),e.parser.parseItem(Zi.printable("wordLike",[r.pubnumber])),e.parser.parseItem(Zi.tag("endTag",[null,null,"+vp",""]))),r.altnumber&&(e.parser.parseItem(Zi.tag("startTag",[null,null,"+va",""])),e.parser.parseItem(Zi.printable("wordLike",[r.altnumber])),e.parser.parseItem(Zi.tag("endTag",[null,null,"+va",""]))))}handleNoteOpen(e,t,n,r){e.parser.parseItem(Zi.tag("startTag",[null,null,r.style,""])),e.parser.parseItem(Zi.printable("punctuation",[r.caller])),e.stackPush(n,r)}handleNoteClose(e){var t=e.stackPop()[1];e.parser.parseItem(Zi.tag("endTag",[null,null,t.style,""]))}handleSidebarOpen(e,t,n,r){e.parser.parseItem(Zi.tag("startTag",[null,null,"esb",""])),"category"in r&&(e.parser.parseItem(Zi.tag("startTag",[null,null,"cat",""])),e.parser.parseItem(Zi.printable("wordLike",[r.category])),e.parser.parseItem(Zi.tag("endTag",[null,null,"cat",""]))),e.stackPush(n,r)}handleSidebarClose(e){e.stackPop(),e.parser.parseItem(Zi.tag("startTag",[null,null,"esbe",""]))}handleMSOpen(e,t,n,r){var s=l.default.exec(r.style,(0,l.default)("(([a-z1-9]+)-([se]))"));if(s){var o=Zi.milestone("startMilestoneTag",[null,null,s[2],s[3]]);e.parser.parseItem(o);var a=["sid","eid","style","srcloc","link-href","link-title","link-id"];for(var[i,u]of Object.entries(r))a.includes(i)||e.parser.parseItem(Zi.attribute("attribute",[null,null,i,u]));e.parser.parseItem(Zi.milestone("endMilestoneMarker"))}else{var c=Zi.milestone("emptyMilestone",[null,null,r.style,""]);e.parser.parseItem(c)}e.stackPush(n,r)}handleMSClose(e){e.stackPop()}handleFigureOpen(e,t,n,r){for(var[s,o]of(e.parser.parseItem(Zi.tag("startTag",[null,null,"+fig",""])),Object.entries(r)))if("style"!==s){var a="file"===s?"src":s;e.parser.parseItem(Zi.attribute("attribute",[null,null,a,o]))}e.stackPush(n,r)}handleFigureClose(e){e.stackPop()[1],e.parser.parseItem(Zi.tag("endTag",[null,null,"+fig",""]))}handleOptBreakOpen(e,t,n,r){e.parser.parseItem(Zi.printable("softLineBreak",["//"])),e.stackPush(n,r)}handleOptBreakClose(e){e.stackPop()}}var su=vi.ByteArray,{pushSuccinctGraftBytes:ou,pushSuccinctScopeBytes:au,pushSuccinctTokenBytes:iu}=vi.succinct,{addTag:uu}=vi.tags,{labelForScope:cu}=vi.scopeDefs,{itemEnum:du}=vi.itemDefs,{scopeEnum:lu}=vi.scopeDefs,{tokenCategory:pu,tokenEnum:fu}=vi.tokenDefs,hu=class{constructor(e){this.id=vi.generateId(),this.type=e,this.tags=new Set([]),this.blocks=[],this.activeScopes=[]}addTag(e){uu(this.tags,e)}plainText(){return this.blocks.map((e=>e.plainText())).join("").trim()}addItem(e){this.lastBlock().addItem(e)}addBlockGraft(e){this.newBlock("hangingGraft"),this.lastBlock().bg.push(e)}lastBlock(){return 0===this.blocks.length&&this.newBlock("orphanTokens"),this.blocks[this.blocks.length-1]}newBlock(e){this.blocks.length>0&&["orphanTokens","hangingGraft"].includes(this.blocks[this.blocks.length-1].bs.payload)?this.lastBlock().bs={type:"scope",subType:"start",payload:e}:this.blocks.push(new class{constructor(e){this.id=vi.generateId(),this.items=[],this.bg=[],this.bs={type:"scope",subType:"start",payload:e},this.os=[]}addItem(e){this.items.push(e)}plainText(){return this.items.filter((e=>"token"===e.type)).map((e=>e.payload)).join("")}trim(){this.items=this.trimEnd(this.trimStart(this.items))}reorderSpanWithAtts(){var e=[];for(var[t,n]of this.items.entries())"start"===n.subType&&n.payload.startsWith("spanWithAtts")&&e.push(t+1);for(var r of e){for(var s=r,o=[],a=[];!(s>=this.items.length);){var i=this.items[s];if("token"===i.type)o.push(i);else{if("start"!==i.subType||!i.payload.startsWith("attribute/spanWithAtts"))break;a.push(i)}s++}if(0!==o.length&&0!==a.length){var u=r;for(var c of a)this.items[u]=c,u++;for(var d of o)this.items[u]=d,u++}}}inlineToEnd(){var e=null;for(var[t,n]of this.items.entries())if("end"===n.subType&&["inline/f","inline/fe","inline/x"].includes(n.payload)){e=n,this.items.splice(t,1);break}e&&this.addItem(e)}makeNoteGrafts(e){var t=[];for(var[n,r]of this.items.entries())"start"===r.subType&&(r.payload.startsWith("inline/f")||r.payload.startsWith("inline/x"))&&t.push(n);for(var s of t){var o=this.items[s].payload,a=this.items[s+1];if("token"===a.type&&1===a.payload.length){var i=new hu("noteCaller");i.newBlock(o),i.addItem(a),e.sequences.noteCaller.push(i),this.items[s+1]={type:"graft",subType:"noteCaller",payload:i.id}}}}trimStart(e){if(0===e.length)return e;var t=e[0];return["lineSpace","eol"].includes(t.subType)?this.trimStart(e.slice(1)):"token"===t.type?e:[t,...this.trimStart(e.slice(1))]}trimEnd(e){if(0===e.length)return e;var t=e[e.length-1];return["lineSpace","eol"].includes(t.subType)?this.trimEnd(e.slice(0,e.length-1)):"token"===t.type?e:[...this.trimEnd(e.slice(0,e.length-1)),t]}filterGrafts(e){var t=[],n=[];for(var[r,s]of this.grafts())this.graftPassesOptions(s,e)?t.push(s.payload):n.push(r);for(var[o,a]of Array.from(n.entries()))this.items.splice(a-o,1);for(var[i,u]of(n=[],this.bg.entries()))this.graftPassesOptions(u,e)?t.push(u.payload):n.push(i);for(var[c,d]of Array.from(n.entries()))this.bg.splice(d-c,1);return t}filterScopes(e){var t=[];for(var[n,r]of this.scopes())this.scopePassesOptions(r,e)||t.push(n);for(var[s,o]of Array.from(t.entries()))this.items.splice(o-s,1)}graftPassesOptions(e,t){return(!("includeGrafts"in t)||t.includeGrafts.includes(e.subType))&&(!("excludeGrafts"in t)||!t.excludeGrafts.includes(e.subType))}scopePassesOptions(e,t){return(!("includeScopes"in t)||this.scopeMatchesOptionArray(e.payload,t.includeScopes))&&(!("excludeScopes"in t)||!this.scopeMatchesOptionArray(e.payload,t.excludeScopes))}scopeMatchesOptionArray(e,t){for(var n of t)if(e.startsWith(n))return!0;return!1}removeGraftsToEmptySequences(e){var t=[];for(var[n,r]of this.grafts())e.includes(r.payload)&&t.push(n);for(var[s,o]of Array.from(t.entries()))this.items.splice(o-s,1);for(var[a,i]of(t=[],this.bg.entries()))e.includes(i.payload)&&t.push(a);for(var[u,c]of Array.from(t.entries()))this.bg.splice(c-u,1);return[]}grafts(){return Array.from(this.items.entries()).filter((e=>"graft"===e[1].type))}scopes(){return Array.from(this.items.entries()).filter((e=>"scope"===e[1].type))}tokens(){return Array.from(this.items.entries()).filter((e=>!["scope","graft"].includes(e[1].type)))}text(){return this.tokens().map((e=>e[1].payload)).join("")}}(e))}trim(){this.blocks.forEach((e=>e.trim()))}reorderSpanWithAtts(){this.blocks.forEach((e=>e.reorderSpanWithAtts()))}makeNoteGrafts(e){this.blocks.forEach((t=>t.makeNoteGrafts(e)))}close(e){for(var t of this.activeScopes.filter((()=>!0)).reverse())this.closeActiveScope(e,t);this.activeScopes=[]}closeActiveScope(e,t){this.addItem({type:"scope",subType:"end",payload:t.label}),t.onEnd&&t.onEnd(e,t.label)}filterGrafts(e){return this.blocks.map((t=>t.filterGrafts(e))).reduce(((e,t)=>e.concat(t)),[])}filterScopes(e){this.blocks.forEach((t=>t.filterScopes(e)))}text(){return this.blocks.map((e=>e.text())).join("")}addTableScopes(){var e=!1;for(var[t,n]of this.blocks.entries())e||"blockTag/tr"!==n.bs.payload?e&&"blockTag/tr"!==n.bs.payload&&(e=!1,this.blocks[t-1].items.push({type:"scope",subType:"end",payload:cu("table",[])})):(e=!0,this.blocks[t].items.unshift({type:"scope",subType:"start",payload:cu("table",[])}));e&&this.lastBlock().items.push({type:"scope",subType:"end",payload:cu("table",[])})}graftifyIntroductionHeadings(e){var t=[...this.blocks.entries()];t.reverse();var n=["iot","is"].concat(e.customTags.introHeading);for(var[r,s]of t){var o=s.bs.payload.split("/")[1].replace(/[0-9]/g,"");if(n.includes(o)){var a=new hu("heading");e.sequences.heading.push(a),a.blocks.push(s);var i={type:"graft",subType:"heading",payload:a.id};this.blocks.length<r+2&&this.newBlock("blockTag/hangingGraft"),this.blocks[r+1].bg.unshift(i),this.blocks.splice(r,1)}else if(o.startsWith("imt")){var u=o.startsWith("imte")?"introEndTitle":"introTitle",c=void 0;if(e.sequences[u])c=e.sequences[u];else{var d=o.startsWith("imte")?"endTitle":"title";c=new hu(d),e.sequences[u]=c;var l={type:"graft",subType:d,payload:c.id};this.blocks.length<r+2&&this.newBlock("blockTag/hangingGraft"),this.blocks[r+1].bg.unshift(l)}this.blocks.splice(r,1),c.blocks.unshift(s)}}}moveOrphanScopes(){this.blocks.length>1&&(this.moveOrphanStartScopes(),this.moveOrphanEndScopes())}moveOrphanStartScopes(){for(var[e,t]of this.blocks.entries())if(!(e>=this.blocks.length-1))for(var n of[...t.items].reverse()){if("start"!==n.subType||n.payload.startsWith("altChapter"))break;this.blocks[e+1].items.unshift(this.blocks[e].items.pop())}}moveOrphanStartScopes2(){for(var[e,t]of this.blocks.entries())if(!(e>=this.blocks.length-1))for(var n of[...t.items].reverse()){if("start"!==n.subType)break;this.blocks[e+1].items.unshift(this.blocks[e].items.pop())}}moveOrphanEndScopes(){for(var[e,t]of this.blocks.entries())if(0!==e)for(var n of[...t.items]){if("end"!==n.subType)break;this.blocks[e-1].items.push(this.blocks[e].items.shift())}}removeEmptyBlocks(e){var t=["blockTag/b","blockTag/ib"].concat(e),n=[],r=!1;for(var s of this.blocks.entries())0!==s[1].tokens().length||t.includes(s[1].bs.payload)||n.push(s);for(var[o,a]of n.reverse())if(o<this.blocks.length-1){for(var i of[...a.bg].reverse())this.blocks[o+1].bg.unshift(i);for(var u of a.items.reverse())this.blocks[o+1].items.unshift(u);this.blocks.splice(o,1),r=!0}else 0===a.bg.length&&0===a.items.length&&(this.blocks.splice(o,1),r=!0);r&&this.removeEmptyBlocks(e)}removeGraftsToEmptySequences(e){this.blocks.forEach((t=>t.removeGraftsToEmptySequences(e)))}succinctifyBlocks(e){var t=[],n=[],r=e=>{"start"===e.subType?0===n.filter((t=>t.payload===e.payload)).length&&n.push(e):n=n.filter((t=>t.payload!==e.payload))},s=0;for(var o of this.blocks){var a=new su(o.length),i=new su(1),u=new su(1),c=new su(1),d=new su(1);for(var l of(d.pushNByte(s),o.bg))this.pushSuccinctGraft(i,e,l);for(var p of n)this.pushSuccinctScope(u,e,p);var f=[];for(var h of o.items)switch(h.type){case"token":this.pushSuccinctToken(a,e,h),"wordLike"===h.subType&&s++;break;case"graft":this.pushSuccinctGraft(a,e,h);break;case"scope":this.pushSuccinctScope(a,e,h),r(h),"start"===h.subType&&f.push(h);break;default:throw new Error("Item type "+h.type+" is not handled in succinctifyBlocks")}var m=new su(10);for(var S of(this.pushSuccinctScope(m,e,o.bs),f))this.pushSuccinctScope(c,e,S);a.trim(),i.trim(),m.trim(),u.trim(),c.trim(),t.push({c:a,bs:m,bg:i,os:u,is:c,nt:d})}return t}pushSuccinctToken(e,t,n){var r=t.enumForCategoryValue(pu[n.subType],n.payload);iu(e,fu[n.subType],r)}pushSuccinctGraft(e,t,n){var r=t.enumForCategoryValue("graftTypes",n.subType),s=t.enumForCategoryValue("ids",n.payload);ou(e,r,s)}pushSuccinctScope(e,t,n){var r=n.payload.split("/"),s=lu[r[0]],o=r.slice(1).map((e=>t.enumForCategoryValue("scopeBits",e)));au(e,du[n.subType+"Scope"],s,o)}},mu={},Su=[];for(var yu of Xi)["wordLike","eol","lineSpace","punctuation","unknown"].includes(yu[1])&&(mu[yu[1]]=(0,l.default)("^"+yu[2].xregexp.source+"$"),Su.push(yu[2]));var gu=e=>{var t=l.default.union(Su),n=[];for(var r of l.default.match(e,t,"all")){var s;s=l.default.test(r,mu.wordLike)?"wordLike":l.default.test(r,mu.punctuation)?"punctuation":l.default.test(r,mu.lineSpace)?"lineSpace":l.default.test(r,mu.eol)?"eol":"unknown",n.push([r,s])}return n},{labelForScope:vu}=vi.scopeDefs;function bu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Eu(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var{labelForScope:Au}=vi.scopeDefs,Tu=0,wu=(e,t)=>{"number"!=typeof t&&(Tu=0);var n=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?bu(Object(n),!0).forEach((function(t){Eu(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):bu(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},e,{id:Tu,parentId:"number"==typeof t?t:"none"});return Tu++,e.children&&(n.children=e.children.map((e=>wu(e,n.id)))),n},ku=e=>{var t=[{}];if(t[0].id=e.id,t[0].parentId=e.parentId,e.content&&(t[0].content=e.content),e.children)for(var n of(t[0].children=[],e.children))t[0].children.push(n.id),ku(n).forEach((e=>t.push(e)));return t},{labelForScope:Pu}=vi.scopeDefs,Iu=n(5108),Nu=n(4155);function Ou(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _u(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ou(Object(n),!0).forEach((function(t){xu(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ou(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function xu(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var{labelForScope:Cu}=vi.scopeDefs,Du=vi.parserConstants;const $u={perf2usfmPipeline:JSON.parse('[{"id":0,"type":"Inputs","inputs":{"perf":"json"}},{"id":1,"title":"Generate report","name":"calculateUsfmChapterPositions","type":"Transform","inputs":[{"name":"perf","type":"json","source":"Input perf"}],"outputs":[{"name":"report","type":"json"}],"description":"Generate report from perf to calculate the position of the chapters"},{"id":2,"title":"PERF to USFM","name":"perf2usfm","type":"Transform","inputs":[{"name":"perf","type":"json","source":"Input perf"},{"name":"report","type":"json","source":"Transform 1 report"}],"outputs":[{"name":"usfm","type":"text"}],"description":"PERF=>USFM: Conversion via Proskomma"},{"id":999,"type":"Outputs","outputs":[{"name":"usfm","type":"text","source":"Transform 2 usfm"}]}]'),perf2PkJsonPipeline:JSON.parse('[{"id":0,"type":"Inputs","inputs":{"perf":"json"}},{"id":1,"title":"PERF to PkJSON","name":"perf2PkJson","type":"Transform","inputs":[{"name":"perf","type":"json","source":"Input perf"}],"outputs":[{"name":"pkJson","type":"json"}],"documentation":"","description":"PERF=>JSON: Converts PERF to current Proskomma input format"},{"id":999,"type":"Outputs","outputs":[{"name":"pkJson","type":"json","source":"Transform 1 pkJson"}]}]')};var Ru=e=>({type:e.sequences[0].block.type,subType:e.sequences[0].block.subType,pos:e.sequences[0].block.blockN,perfChapter:null}),qu={startDocument:[{description:"Set up storage",test:()=>!0,action:e=>{var{workspace:t,output:n}=e;t.blockRecords=[],n.report={}}}],startParagraph:[{description:"Set up block record",test:()=>!0,action:e=>{var{context:t,workspace:n}=e;n.blockRecords.push(Ru(t))}}],blockGraft:[{description:"Set up block record",test:()=>!0,action:e=>{var{context:t,workspace:n}=e;n.blockRecords.push(Ru(t))}}],mark:[{description:"Add chapter number to block record",test:e=>{var{context:t}=e;return"chapter"===t.sequences[0].element.subType},action:e=>{var{context:t,workspace:n}=e;n.blockRecords[n.blockRecords.length-1].perfChapter=t.sequences[0].element.atts.number}}],endDocument:[{description:"Populate report",test:()=>!0,action:e=>{var{workspace:t,output:n}=e;for(var[r,s]of Object.entries(t.blockRecords))if(s.perfChapter){for(var o=r,a=!1;o>0&&!a;)"paragraph"===t.blockRecords[o-1].type||"title"===t.blockRecords[o-1].subType?a=!0:o--;n.report[o.toString()]=s.perfChapter}}}]};const ju={name:"calculateUsfmChapterPositions",type:"Transform",description:"PERF=>JSON: Generates positions for inserting chapter numbers into USFM",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"report",type:"json"}],code:function(e){var{perf:t}=e,n={};return new Ki.PerfRenderFromJson({srcJson:t,actions:qu}).renderDocument({docId:"",config:{maxLength:60},output:n}),{report:n.report}}};var Mu=e=>["toc","toca","mt","imt","s","ms","mte","sd"].includes(e)?e+"1":e,Bu={startDocument:[{description:"Set up environment",test:()=>!0,action:e=>{var{context:t,workspace:n}=e;for(var[r,s]of(n.usfmBits=[""],n.nestedWrapper=0,Object.entries(t.document.metadata.document).filter((e=>!["tags","properties","bookCode","cl"].includes(e[0])))))n.usfmBits.push("\\"+Mu(r)+" "+s+"\n")}}],blockGraft:[{description:"Follow block grafts",test:e=>{var{context:t}=e;return["title","heading","introduction"].includes(t.sequences[0].block.subType)},action:e=>{var t=e.context.sequences[0],n=e.config.report[t.block.blockN.toString()],r=t.block.target;n&&"main"===t.type&&e.workspace.usfmBits.push("\n\\c "+n+"\n"),r&&e.context.renderer.renderSequenceId(e,r)}}],inlineGraft:[{description:"Follow inline grafts",test:()=>!0,action:e=>{var t=e.context.sequences[0].element.target;t&&e.context.renderer.renderSequenceId(e,t)}}],startParagraph:[{description:"Output footnote paragraph tag (footnote)",test:e=>{var{context:t}=e;return"usfm:f"===t.sequences[0].block.subType&&"footnote"===t.sequences[0].type||"usfm:x"===t.sequences[0].block.subType&&"xref"===t.sequences[0].type},action:e=>{var{context:t,workspace:n}=e;n.nestedWrapper=0;var r=t.sequences[0];n.usfmBits.push("\\"+Mu(r.block.subType.split(":")[1])+" ")}},{description:"Output footnote note_caller tag (footnote)",test:e=>{var{context:t}=e;return"usfm:f"===t.sequences[0].block.subType||"usfm:x"===t.sequences[0].block.subType},action:e=>{var{workspace:t}=e;t.nestedWrapper=0}},{description:"Output paragraph tag (main)",test:()=>!0,action:e=>{var{context:t,workspace:n,config:r}=e;n.nestedWrapper=0;var s=t.sequences[0],o=r.report[s.block.blockN.toString()];o&&"main"===s.type&&n.usfmBits.push("\n\\c "+o+"\n"),n.usfmBits.push("\n\\"+Mu(s.block.subType.split(":")[1])+"\n")}}],endParagraph:[{description:"Output footnote paragraph tag (footnote)",test:e=>{var{context:t}=e;return"usfm:f"===t.sequences[0].block.subType&&"footnote"===t.sequences[0].type||"usfm:x"===t.sequences[0].block.subType&&"xref"===t.sequences[0].type},action:e=>{var{context:t,workspace:n}=e,r=t.sequences[0];n.usfmBits.push("\\"+Mu(r.block.subType.split(":")[1])+"*")}},{description:"Output footnote note_caller tag (footnote)",test:e=>{var{context:t}=e;return"usfm:f"===t.sequences[0].block.subType||"usfm:x"===t.sequences[0].block.subType},action:()=>{}},{description:"Output nl",test:()=>!0,action:e=>{var{workspace:t}=e;t.usfmBits.push("\n")}}],startMilestone:[{description:"Output start milestone",test:()=>!0,action:e=>{var{context:t,workspace:n}=e,r=t.sequences[0].element,s=((e,t)=>{var n="\\"+t+"-s |";for(var[r,s]of Object.entries(e))n="x-morph"===r?n+Mu(r)+'="'+s.join(",")+'" ':n+Mu(r)+'="'+s+'" ';return n+"\\*"})(r.atts,Mu(r.subType.split(":")[1]));n.usfmBits.push(s)}}],endMilestone:[{description:"Output end milestone",test:()=>!0,action:e=>{var{context:t,workspace:n}=e;n.usfmBits.push("\\"+Mu(t.sequences[0].element.subType.split(":")[1])+"-e\\*")}}],text:[{description:"Output text",test:()=>!0,action:e=>{var{context:t,workspace:n}=e,r=t.sequences[0].element.text;n.usfmBits.push(r)}}],mark:[{description:"Output chapter or verses",test:()=>!0,action:e=>{var{context:t,workspace:n}=e,r=t.sequences[0].element;"verses"===r.subType&&n.usfmBits.push("\n\\v "+r.atts.number+"\n")}}],endSequence:[{description:"Output \\cl",test:e=>{var{context:t}=e;return t.document.metadata.document.cl&&"title"===t.sequences[0].type},action:e=>{var{context:t,workspace:n}=e;n.usfmBits.push("\n\\cl "+t.document.metadata.document.cl+"\n")}}],startWrapper:[{description:"Output start tag",test:()=>!0,action:e=>{var{workspace:t,context:n}=e,r=n.sequences[0];t.nestedWrapper>0?t.usfmBits.push("\\+"+Mu(r.element.subType.split(":")[1])+" "):t.usfmBits.push("\\"+Mu(r.element.subType.split(":")[1])+" "),t.nestedWrapper+=1}}],endWrapper:[{description:"Output end tag",test:e=>{var{context:t}=e;return!["fr","fq","fqa","fk","fl","fw","fp","ft","xo","xk","xq","xt","xta"].includes(t.sequences[0].element.subType.split(":")[1])},action:e=>{var{workspace:t,context:n}=e;t.nestedWrapper-=1;var r=n.sequences[0],s=r.element.subType.split(":")[1],o=t.nestedWrapper>0;if("w"===s){var a=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r="|";for(var[s,o]of Object.entries(e))r=r+Mu(s)+'="'+o+'" ';return r+="\\",n&&(r+="+"),r+t+"*"}(r.element.atts,Mu(s),o);t.usfmBits.push(a)}else o?t.usfmBits.push("\\+"+Mu(r.element.subType.split(":")[1])+"*"):t.usfmBits.push("\\"+Mu(r.element.subType.split(":")[1])+"*")}},{description:"Do NOT output end tag",test:()=>!0,action:e=>{var{workspace:t}=e;t.nestedWrapper-=1}}],endDocument:[{description:"Build output",test:()=>!0,action:e=>{var{workspace:t,output:n}=e;n.usfm=t.usfmBits.join("").replace(/(\s*)\n(\s*)/gm,"\n")}}]};const Gu={name:"perf2usfm",type:"Transform",description:"PERF=>USFM",inputs:[{name:"perf",type:"json",source:""},{name:"report",type:"json",source:""}],outputs:[{name:"usfm",type:"text"}],code:function(e){var{perf:t,report:n}=e,r={};return new Ki.PerfRenderFromJson({srcJson:t,actions:Bu}).renderDocument({docId:"",config:{report:n},output:r}),{usfm:r.usfm}}};var Lu=Xi.filter((e=>"wordLike"===e[1]))[0][2],Fu=Xi.filter((e=>"lineSpace"===e[1]))[0][2],Vu=Xi.filter((e=>"punctuation"===e[1]))[0][2],Uu=e=>{[...e.os.filter((e=>["verse","verses"].includes(e.split("/")[0])))].reverse().forEach((t=>{e.block.items.push({type:"scope",subType:"end",payload:t}),e.os=[...e.os.filter((e=>e!==t))]}))},Ju={startDocument:[{description:"Set up word object",test:()=>!0,action:e=>{var{workspace:t,output:n}=e;n.pkJson={},t.sequenceId=null,t.block=null,t.os=[],t.waitingBlockGrafts=[]}}],startSequence:[{description:"Add sequence array to output",test:()=>!0,action:e=>{e.output.pkJson[e.context.sequences[0].id]=[],e.workspace.sequenceId=e.context.sequences[0].id}}],endSequence:[{description:"Reset sequenceId pointer",test:()=>!0,action:e=>{var t,n;[...(n=e.workspace).os].reverse().forEach((e=>{n.block.items.push({type:"scope",subType:"end",payload:e})})),n.os=[],e.workspace.sequenceId=null==(t=e.context.sequences[1])?void 0:t.id}}],unresolvedBlockGraft:[{description:"Stash for next para",test:()=>!0,action:e=>{var{context:t,workspace:n}=e;t.sequences[0].block.target&&n.waitingBlockGrafts.push({type:"graft",subType:t.sequences[0].block.subType,payload:t.sequences[0].block.target})}}],unresolvedInlineGraft:[{description:"Follow inline grafts",test:()=>!0,action:e=>{var{context:t,workspace:n}=e;t.sequences[0].element.target&&n.block.items.push({type:"graft",subType:t.sequences[0].element.subType,payload:t.sequences[0].element.target})}}],startParagraph:[{description:"Add object for paragraph block",test:()=>!0,action:e=>{var{context:t,workspace:n,output:r}=e;n.block={os:[...n.os],is:[],bs:{type:"scope",subType:"start",payload:"blockTag/"+t.sequences[0].block.subType.split(":")[1]},bg:[...n.waitingBlockGrafts],items:[]},r.pkJson[n.sequenceId].push(n.block)}}],endParagraph:[{description:"Close open scopes",test:()=>!0,action:e=>{var{workspace:t}=e;(e=>{[...e.os.filter((e=>["span"].includes(e.split("/")[1])))].reverse().forEach((t=>{e.block.items.push({type:"scope",subType:"end",payload:t}),e.os=[...e.os.filter((e=>e!==t))]}))})(t),t.waitingBlockGrafts=[]}}],mark:[{description:"ts mark as milestone",test:e=>{var{context:t}=e;return["usfm:ts"].includes(t.sequences[0].element.subType)},action:e=>{var{workspace:t}=e,n="milestone/ts";t.block.is.includes(n)||t.block.is.push(n),t.os.push(n),t.block.items.push({type:"scope",subType:"start",payload:n}),t.block.items.push({type:"scope",subType:"end",payload:n})}},{description:"Chapter",test:e=>{var{context:t}=e;return["chapter"].includes(t.sequences[0].element.subType)},action:e=>{var{context:t,workspace:n}=e;Uu(n),(e=>{[...e.os.filter((e=>["chapter"].includes(e.split("/")[0])))].reverse().forEach((t=>{e.block.items.push({type:"scope",subType:"end",payload:t}),e.os=[...e.os.filter((e=>e!==t))]}))})(n);var r="chapter/"+t.sequences[0].element.atts.number;n.block.is.includes(r)||n.block.is.push(r),n.os.push(r),n.block.items.push({type:"scope",subType:"start",payload:r})}},{description:"Verses",test:e=>{var{context:t}=e;return["verses"].includes(t.sequences[0].element.subType)},action:e=>{var{context:t,workspace:n}=e;Uu(n);var r=t.sequences[0].element,s=r.atts.number,o=[parseInt(s)];if(s.includes("-")){var[a,i]=s.split("-").map((e=>parseInt(e)));for(o=[a];a<=i;)a++,o.push(a)}for(var u of o){var c="verse/"+u;n.os.push(c),n.block.is.includes(c)||n.block.is.push(c),n.block.items.push({type:"scope",subType:"start",payload:c})}var d="verses/"+r.atts.number;n.block.is.includes(d)||n.block.is.push(d),n.os.push(d),n.block.items.push({type:"scope",subType:"start",payload:d})}}],startMilestone:[{description:"Add scope and update state",test:()=>!0,action:e=>{var{context:t,workspace:n}=e,r=t.sequences[0].element,s="milestone/"+r.subType.split(":")[1];for(var[o,a]of(n.block.is.includes(s)||n.block.is.push(s),n.os.push(s),n.block.items.push({type:"scope",subType:"start",payload:s}),Object.entries(r.atts||{}))){var i=a.toString().split(",");for(var[u,c]of i.entries()){var d="attribute/milestone/"+r.subType.split(":")[1]+"/"+o+"/"+u+"/"+c;n.block.is.includes(d)||n.block.is.push(d),n.os.push(d),n.block.items.push({type:"scope",subType:"start",payload:d})}}}}],endMilestone:[{description:"Remove scope and update state",test:()=>!0,action:e=>{var{context:t,workspace:n}=e,r=t.sequences[0].element,s="attribute/milestone/"+r.subType.split(":")[1],o=function(e){n.os=n.os.filter((t=>t!==e)),n.block.items.push({type:"scope",subType:"end",payload:e})};for(var a of[...n.os.filter((e=>e.startsWith(s)))].reverse())o(a);var i="milestone/"+r.subType.split(":")[1];n.os=n.os.filter((e=>e!==i)),n.block.items.push({type:"scope",subType:"end",payload:i})}}],startWrapper:[{description:"Add scope and update state",test:()=>!0,action:e=>{var{context:t,workspace:n}=e,r=t.sequences[0].element,s=("usfm:w"===r.subType?"spanWithAtts":"span")+"/"+r.subType.split(":")[1];for(var[o,a]of(n.block.is.includes(s)||n.block.is.push(s),n.os.push(s),n.block.items.push({type:"scope",subType:"start",payload:s}),Object.entries(r.atts||{}))){var i=a.toString().split(",");for(var[u,c]of i.entries()){var d="attribute/spanWithAtts/w/"+o+"/"+u+"/"+c;n.block.is.includes(d)||n.block.is.push(d),n.os.push(d),n.block.items.push({type:"scope",subType:"start",payload:d})}}}}],endWrapper:[{description:"Remove scope and update state",test:()=>!0,action:e=>{var{context:t,workspace:n}=e,r=t.sequences[0].element;for(var[s,o]of[...Object.entries(r.atts||{})].reverse()){var a=o.toString().split(","),i=function(e,t){var r="attribute/spanWithAtts/w/"+s+"/"+e+"/"+t;n.os=n.os.filter((e=>e!==r)),n.block.items.push({type:"scope",subType:"end",payload:r})};for(var[u,c]of[...a.entries()].reverse())i(u,c)}var d=("usfm:w"===r.subType?"spanWithAtts":"span")+"/"+r.subType.split(":")[1];n.os=n.os.filter((e=>e!==d)),n.block.items.push({type:"scope",subType:"end",payload:d})}}],text:[{description:"Log occurrences",test:()=>!0,action:e=>{var{context:t,workspace:n}=e,r=t.sequences[0].element.text,s=l.default.union(Xi.map((e=>e[2]))),o=l.default.match(r,s,"all");for(var a of o){var i=void 0;l.default.test(a,Lu)?i="wordLike":l.default.test(a,Fu)?i="lineSpace":l.default.test(a,Vu)&&(i="punctuation"),n.block.items.push({type:"token",subType:i,payload:a})}}}],endDocument:[{description:"Rework hanging end cv scopes",test:()=>!0,action:e=>{for(var{output:t}=e,n=Object.values(t.pkJson)[0],r=1;r<n.length;r++){for(var s=n[r].items,o=n[r-1].items,a=0;a<s.length;){var i=s[a];if("scope"!==i.type||"end"!==i.subType)break;a++}for(var u=function(){var e=s.shift();o.push(e),n[r].os=n[r].os.filter((t=>t!==e.payload)),a--};a>0;)u()}}}]};const Hu={calculateUsfmChapterPositions:ju,perf2usfm:Gu,perf2PkJson:{name:"perf2PkJson",type:"Transform",description:"PERF=>JSON: Converts PERF to current Proskomma input format",documentation:"",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"pkJson",type:"json"}],code:function(e){var{perf:t}=e,n={};return new Ki.PerfRenderFromJson({srcJson:t,ignoreMissingSequences:!0,actions:Ju}).renderDocument({docId:"",config:{},output:n}),{pkJson:n.pkJson}}}};var Ku=n(5108),Wu=vi.ByteArray,{itemEnum:Xu}=vi.itemDefs,{tokenEnum:Yu}=vi.tokenDefs,zu=e=>{var t=e.sequences[e.mainId],n=e.processor.docSets[e.docSetId];n.buildPreEnums(),n.buildEnumIndexes();var r={},s={},o="0",a="0",i="1",u=0;if(t.chapterVerses={},0===n.enums.wordLike.length)throw new Error("No wordLike content in docSet - probably a USFM issue, maybe missing \\mt?");for(var[c,d]of(t.tokensPresent=new(ra())(new Array(n.enums.wordLike.length).fill(0).map((e=>e.toString())).join("")),t.blocks.entries()))for(var l=0,p=d.c,f=-1;l<p.length;){f++;var[h,m,S]=vi.succinct.headerBytes(p,l);if(m===Xu.startScope){var y=n.succinctScopeLabel(p,S,l);y.startsWith("chapter/")?(r[o=y.split("/")[1]]={},s[o]={startBlock:c,startItem:f,nextToken:u}):y.startsWith("verse/")?("1"!==(a=y.split("/")[1])||"0"in r[o]||s[o].nextToken<u&&(r[o][0]=[{startBlock:s[o].startBlock,startItem:s[o].startItem,endBlock:c,endItem:Math.max(f-1,0),nextToken:s[o].nextToken,verses:"0"}]),a in r[o]||(r[o][a]=[]),r[o][a].push({startBlock:c,startItem:f,nextToken:u})):y.startsWith("verses/")&&(i=y.split("/")[1])}else if(m===Xu.endScope){var g=n.succinctScopeLabel(p,S,l);if(g.startsWith("chapter/")){var v=s[o=g.split("/")[1]];v&&(v.endBlock=c,v.endItem=f)}else if(g.startsWith("verse/")&&(a=g.split("/")[1],r[o][a])){var b=r[o][a][r[o][a].length-1];b.endBlock=c,b.endItem=f,b.verses=i}}else m===Xu.token&&S===Yu.wordLike&&(t.tokensPresent.set(p.nByte(l+2),1),u++);l+=h}for(var[E,A]of Object.entries(r)){var T=new Wu;t.chapterVerses[E]=T;var w=Object.keys(A).map((e=>parseInt(e))).sort(((e,t)=>e-t));if(0!==w.length){var k=w[w.length-1],P=Array.from(Array(k+1).keys()),I=0;for(var N of P){var O=""+N;if(O in A){var _=A[O],x=_.length;for(var[C,D]of _.entries())if(D.verses){var $=n.enumForCategoryValue("scopeBits",D.verses),R=D.startBlock===D.endBlock?2:3;T.pushByte(0),2===R?T.pushNBytes([D.startBlock,D.startItem,D.endItem,D.nextToken,$]):T.pushNBytes([D.startBlock,D.endBlock,D.startItem,D.endItem,D.nextToken,$]),T.setByte(I,ec(R,C===x-1,T.length-I)),I=T.length}else Ku.log("** VerseElement without verses for "+N+" in buildChapterVerseIndex")}else T.pushByte(ec(0,!0,1)),I++}T.trim()}}for(var[q,j]of(t.chapters={},Object.entries(s)))if("startBlock"in j&&"endBlock"in j){var M=new Wu;t.chapters[q]=M;var B=j.startBlock===j.endBlock?2:3;M.pushByte(0),2===B?M.pushNBytes([j.startBlock,j.startItem,j.endItem,j.nextToken]):M.pushNBytes([j.startBlock,j.endBlock,j.startItem,j.endItem,j.nextToken]),M.setByte(0,ec(B,!0,M.length)),M.trim()}},Zu=(e,t)=>{var n=e.processor.docSets[e.docSetId];n.buildEnumIndexes();var r=[],s=e.sequences[e.mainId].chapterVerses[t];if(s)for(var o=0,a=[];o<s.length;){var[i,u,c]=tc(s,o);if(2===i){var d=s.nBytes(o+1,5);a.push({startBlock:d[0],endBlock:d[0],startItem:d[1],endItem:d[2],nextToken:d[3],verses:n.enums.scopeBits.countedString(n.enumIndexes.scopeBits[d[4]])})}else if(3===i){var l=s.nBytes(o+1,6);a.push({startBlock:l[0],endBlock:l[1],startItem:l[2],endItem:l[3],nextToken:l[4],verses:n.enums.scopeBits.countedString(n.enumIndexes.scopeBits[l[5]])})}u&&(r.push(a),a=[]),o+=c}return r},Qu=(e,t)=>{var n=e.sequences[e.mainId].chapters[t];if(n){var r=tc(n,0)[0];if(2===r){var s=n.nBytes(1,4);return{startBlock:s[0],endBlock:s[0],startItem:s[1],endItem:s[2],nextToken:s[3]}}if(3===r){var o=n.nBytes(1,5);return{startBlock:o[0],endBlock:o[1],startItem:o[2],endItem:o[3],nextToken:o[4]}}}},ec=(e,t,n)=>n+(t?32:0)+64*e,tc=(e,t)=>{var n=e.byte(t);return[n>>6,(n>>5)%2==1,n%32]},nc=n(9748),rc=n.n(nc),sc=(e,t,n)=>{var r=e.processor.docSets[e.docSetId];for(var s of Object.values(e.sequences))for(var o of s.blocks)for(var a="block"===t?o.bg:o.c,i=0;i<a.length;){var[u,c]=vi.succinct.headerBytes(a,i);c!==vi.itemDefs.itemEnum.graft?i+=u:vi.succinct.succinctGraftSeqId(r.enums,r.enumIndexes,a,i)===n?a.deleteItem(i):i+=u}},oc=(e,t,n,r,s,o)=>{for(var a=0,i=-1;a<n.c.length;){i++;var[u,c,d]=vi.succinct.headerBytes(n.c,a);s(e,t,n,i,c,d,a)&&o(e,t,n,r,i,u,c,d,a),a+=u}},ac=vi.ByteArray,{pushSuccinctGraftBytes:ic,pushSuccinctScopeBytes:uc,pushSuccinctTokenBytes:cc}=vi.succinct,{itemEnum:dc}=vi.itemDefs,{scopeEnum:lc,scopeEnumLabels:pc,nComponentsForScope:fc}=vi.scopeDefs,{tokenCategory:hc,tokenEnum:mc}=vi.tokenDefs,{headerBytes:Sc}=vi.succinct,yc=vi.ByteArray,{itemEnum:gc}=vi.itemDefs,vc=e=>{var t={type:e.type,blocks:e.blocks.map((e=>bc(e))),tags:Array.from(e.tags)};if("main"===e.type){for(var[n,r]of(t.chapters={},Object.entries(e.chapters||{})))r.trim(),t.chapters[n]=r.base64();for(var[s,o]of(t.chapterVerses={},Object.entries(e.chapterVerses||{})))o.trim(),t.chapterVerses[s]=o.base64();"tokensPresent"in e&&(t.tokensPresent="0x"+e.tokensPresent.toString(16))}return t},bc=e=>{for(var t of["bs","bg","c","is","os","nt"])e[t].trim();return{bs:e.bs.base64(),bg:e.bg.base64(),c:e.c.base64(),is:e.is.base64(),os:e.os.base64(),nt:e.nt.base64()}},Ec=(e,t)=>{for(var n of e.unsuccinctifyItems(t,{},0))if("token"===n[0])"wordLike"===n[1]?e.recordPreEnum("wordLike",n[2]):e.recordPreEnum("notWordLike",n[2]);else if("graft"===n[0])e.recordPreEnum("graftTypes",n[1]);else if("scope"===n[0]&&"start"===n[1]){var r=n[2].split("/");if(r.length!==vi.scopeDefs.nComponentsForScope(r[0]))throw new Error("Scope "+n[2]+" has unexpected number of components");for(var s of r.slice(1))e.recordPreEnum("scopeBits",s)}},Ac=n(5108);function Tc(e,t,n,r,s,o,a){try{var i=e[o](a),u=i.value}catch(e){return void n(e)}i.done?t(u):Promise.resolve(u).then(r,s)}var{addTag:wc,removeTag:kc,validateTags:Pc}=vi.tags,Ic=vi.parserConstants;class Nc{constructor(e,t,n,r,s,o,a,i){if(this.processor=e,this.docSetId=t,this.baseSequenceTypes=Ic.usfm.baseSequenceTypes,n)switch(this.id=vi.generateId(),this.filterOptions=s,this.customTags=o,this.emptyBlocks=a,this.tags=new Set(i||[]),Pc(this.tags),this.headers={},this.mainId=null,this.sequences={},n.toLowerCase()){case"usfm":case"sfm":this.processUsfm(r);break;case"usx":this.processUsx(r);break;case"tsv":this.processTSV(r);break;case"nodes":this.processNodes(r);break;default:throw new Error("Unknown document contentType '"+n+"'")}}addTag(e){wc(this.tags,e)}removeTag(e){kc(this.tags,e)}makeParser(){return new class{constructor(e,t,n){var r;this.filterOptions=e,this.customTags=t,this.emptyBlocks=n,this.specs=[{contexts:[["startTag","tagName",["id","usfm","ide","sts","h","toc","toca","cl"]]],parser:{baseSequenceType:"header",forceNewSequence:!0,newBlock:!0,useTempSequence:!0,newScopes:[{label:e=>e.fullTagName,endedBy:["baseSequenceChange"],onEnd:(e,t)=>{if(e.headers[t]=e.current.sequence.plainText(),"id"===t&&(3===e.headers[t].length||e.headers[t].length>3&&" "===e.headers[t].substring(3,4))){var n=e.headers[t].substring(0,3);e.headers.bookCode=n}}}]}},{contexts:[["startTag","tagName",["ms","mr","s","sr","r","qa","sp","sd"].concat((r=this).customTags.heading)]],parser:{baseSequenceType:"heading",forceNewSequence:!0,newBlock:!0,newScopes:[]}},{contexts:[["startTag","tagName",["mt"]]],parser:{baseSequenceType:"title",newBlock:!0,newScopes:[]}},{contexts:[["startTag","tagName",["mte"]]],parser:{baseSequenceType:"endTitle",newBlock:!0,newScopes:[]}},{contexts:[["startTag","tagName",["imt","is","ip","ipi","im","imi","ipq","imq","ipr","iq","ib","ili","iot","io","iex","imte"].concat(r.customTags.intro)]],parser:{baseSequenceType:"introduction",newBlock:!0,newScopes:[]}},{contexts:[["startTag","tagName",["esb"]]],parser:{baseSequenceType:"sidebar",newBlock:!0,newScopes:[],after:e=>{e.mainLike=e.current.sequence}}},{contexts:[["startTag","tagName",["esbe"]]],parser:{baseSequenceType:"main",newBlock:!0,newScopes:[],after:e=>{e.mainLike=e.sequences.main}}},{contexts:[["startTag","tagName",["cat"]]],parser:{inlineSequenceType:"esbCat",forceNewSequence:!0,newScopes:[{label:e=>Pu("inline",[e.fullTagName]),endedBy:["endTag/cat","endBlock","implicitEnd"],onEnd:e=>e.returnToBaseSequence()}],during:(e,t)=>{var n=vi.generateId(),r={label:()=>Pu("esbCat",[n]),endedBy:["startTag/esbe"]};e.openNewScope(t,r,!0,e.mainLike)}}},{contexts:[["startTag","tagName",["rem"]]],parser:{baseSequenceType:"remark",forceNewSequence:!0,newScopes:[]}},{contexts:[["startTag","tagName",["cd","p","m","po","pr","cls","pmo","pm","pmc","pmr","pi","mi","nb","pc","ph","b","q","qr","qc","qa","qm","qd","lh","li","lf","lim","d"].concat(r.customTags.paragraph)]],parser:{baseSequenceType:"mainLike",newBlock:!0,newScopes:[]}},{contexts:[["startTag","tagName",["tr"]]],parser:{newBlock:!0,newScopes:[]}},{contexts:[["startTag","tagName",["f","fe"]]],parser:{inlineSequenceType:"footnote",forceNewSequence:!0,newScopes:[{label:e=>Pu("inline",[e.fullTagName]),endedBy:["endTag/f","endTag/fe","endBlock"],onEnd:e=>e.returnToBaseSequence()}]}},{contexts:[["startTag","tagName",["x"]]],parser:{inlineSequenceType:"xref",forceNewSequence:!0,newScopes:[{label:e=>Pu("inline",[e.fullTagName]),endedBy:["endTag/x","endBlock"],onEnd:e=>e.returnToBaseSequence()}]}},{contexts:[["startTag","tagName",["fig"]]],parser:{inlineSequenceType:"fig",forceNewSequence:!0,newScopes:[{label:e=>Pu("spanWithAtts",[e.tagName]),endedBy:["endBlock","endTag/$tagName$"],onEnd:e=>e.clearAttributeContext()}],during:(e,t)=>{e.setAttributeContext(Pu("spanWithAtts",[t.tagName]))}}},{contexts:[["chapter"]],parser:{mainSequence:!0,newScopes:[{label:e=>Pu("chapter",[e.number]),endedBy:["chapter"]}]}},{contexts:[["pubchapter"]],parser:{mainSequence:!0,newScopes:[{label:e=>Pu("pubChapter",[e.numberString]),endedBy:["pubchapter","chapter"]}]}},{contexts:[["startTag","tagName",["ca"]]],parser:{inlineSequenceType:"altNumber",forceNewSequence:!0,newScopes:[{label:e=>Pu("inline",[e.fullTagName]),endedBy:["endTag/ca","endBlock","implicitEnd"],onEnd:e=>e.returnToBaseSequence()}],during:(e,t)=>{var n=vi.generateId(),r={label:()=>Pu("altChapter",[n]),endedBy:["startTag/ca","chapter"]};e.openNewScope(t,r,!0,e.sequences.main)}}},{contexts:[["verses"]],parser:{mainSequence:!0,newScopes:[{label:e=>Pu("verses",[e.numberString]),endedBy:["verses","chapter","pubchapter"]}],during:(e,t)=>{t.numbers.forEach((n=>{var r={label:()=>Pu("verse",[n]),endedBy:["verses","chapter","pubchapter"]};e.openNewScope(t,r,!0,e.sequences.main)}))}}},{contexts:[["startTag","tagName",["vp"]]],parser:{inlineSequenceType:"pubNumber",forceNewSequence:!0,newScopes:[{label:e=>Pu("inline",[e.fullTagName]),endedBy:["endTag/vp","endBlock","implicitEnd"],onEnd:e=>e.returnToBaseSequence()}],during:(e,t)=>{var n=vi.generateId(),r={label:()=>Pu("pubVerse",[n]),endedBy:["startTag/vp","verses","chapter","pubchapter"]};e.openNewScope(t,r,!0,e.sequences.main)}}},{contexts:[["startTag","tagName",["va"]]],parser:{inlineSequenceType:"altNumber",forceNewSequence:!0,newScopes:[{label:e=>Pu("inline",[e.fullTagName]),endedBy:["endTag/va","endBlock","implicitEnd"],onEnd:e=>e.returnToBaseSequence()}],during:(e,t)=>{var n=vi.generateId(),r={label:()=>Pu("altVerse",[n]),endedBy:["startTag/va","verses","chapter","pubchapter"]};e.openNewScope(t,r,!0,e.sequences.main)}}},{contexts:[["startTag","tagName",["qs","qac","litl","lik","liv","fr","fq","fqa","fk","fl","fw","fp","fv","ft","fdc","fm","xo","xk","xq","xt","xta","xop","xot","xnt","xdc","rq","add","bk","dc","k","nd","ord","pn","png","qt","sig","sls","tl","wj","em","bd","it","bdit","no","sc","sup","ior","iqt"].concat(r.customTags.char)]],parser:{newScopes:[{label:e=>Pu("span",[e.fullTagName]),endedBy:["endBlock","endTag/$fullTagName$","implicitEnd"]}]}},{contexts:[["startTag","tagName",["th","thr","tc","tcr"]]],parser:{newScopes:[{label:e=>Pu("cell",[e.fullTagName]),endedBy:["startTag/th","startTag/thr","startTag/tc","startTag/tcr","startTag/th2","startTag/thr2","startTag/tc2","startTag/tcr2","startTag/th3","startTag/thr3","startTag/tc3","startTag/tcr3","endBlock","endTag/$fullTagName$"]}]}},{contexts:[["emptyMilestone"]],parser:{during:(e,t)=>e.addEmptyMilestone(Pu("milestone",[t.tagName]))}},{contexts:[["startMilestoneTag","sOrE","s"]],parser:{newScopes:[{label:e=>Pu("milestone",[e.tagName]),endedBy:["endMilestone/$tagName$"]}],during:(e,t)=>{e.setAttributeContext(Pu("milestone",[t.tagName]))}}},{contexts:[["endMilestoneMarker"]],parser:{during:e=>e.clearAttributeContext()}},{contexts:[["attribute"],["defaultAttribute"]],parser:{during:(e,t)=>{if(e.current.attributeContext){var n=e.current.attributeContext.split("/");"default"===t.key&&2===n.length&&(t.key={w:"lemma",rb:"gloss",xt:"link-href"}[n[1]]||"unknownDefault_"+n[1],t.printValue=t.printValue.replace(/default/,t.key)),[...t.values.entries()].forEach((n=>{var r={label:t=>Pu("attribute",[e.current.attributeContext,t.key,n[0],n[1]]),endedBy:["$attributeContext$"]};e.openNewScope(t,r)}))}else e.addToken(Zi.printable("unknown",[t.printValue]))}}},{contexts:[["startTag","tagName",["w","rb"].concat(r.customTags.word)]],parser:{newScopes:[{label:e=>Pu("spanWithAtts",[e.tagName]),endedBy:["endBlock","endTag/$tagName$"],onEnd:e=>e.clearAttributeContext()}],during:(e,t)=>{e.setAttributeContext(Pu("spanWithAtts",[t.tagName]))}}},{contexts:[["wordLike"],["lineSpace"],["punctuation"],["eol"]],parser:{during:(e,t)=>e.addToken(t)}},{contexts:[["noBreakSpace"]],parser:{during:e=>{e.addToken(Zi.printable("lineSpace",[" "]))}}},{contexts:[["softLineBreak"]],parser:{during:e=>{e.addToken(Zi.printable("softLineBreak",["//"]))}}},{contexts:[["bareSlash"]],parser:{during:e=>{e.addToken(Zi.printable("bareSlash",["\\"]))}}},{contexts:[["unknown"]],parser:{during:(e,t)=>{e.addToken(Zi.printable("unknown",[t.printValue]))}}}],this.specLookup=(e=>{var t={};for(var n of e)for(var r of n.contexts){r[0]in t||(t[r[0]]={});var s=r[1];if(s)for(var o of(s in t[r[0]]||(t[r[0]][s]={}),r[2]))t[r[0]][s][o]=n.parser;else t[r[0]]._noAccessor=n.parser}return t})(this.specs),this.headers={},this.baseSequenceTypes=Du.usfm.baseSequenceTypes,this.inlineSequenceTypes=Du.usfm.inlineSequenceTypes,this.setSequences(),this.setCurrent()}setSequences(){for(var[e,t]of(this.sequences={},Object.entries(_u({},this.baseSequenceTypes,this.inlineSequenceTypes))))switch(t){case"1":this.sequences[e]=new hu(e);break;case"?":this.sequences[e]=null;break;case"*":this.sequences[e]=[];break;default:throw new Error("Unexpected sequence arity '"+t+"' for '"+e+"'")}this.mainLike=this.sequences.main}setCurrent(){this.current={sequence:this.sequences.main,parentSequence:null,baseSequenceType:"main",inlineSequenceType:null,attributeContext:null}}parseItem(e){var t=!1;["startTag"].includes(e.subclass)&&(this.closeActiveScopes("startTag/"+e.fullTagName),e.isNested||this.closeActiveScopes("implicitEnd")),["endTag"].includes(e.subclass)&&this.closeActiveScopes("endTag/"+e.fullTagName),["startMilestoneTag"].includes(e.subclass)&&"e"===e.sOrE&&this.closeActiveScopes("endMilestone/"+e.tagName),["chapter","pubchapter","verses"].includes(e.subclass)&&this.closeActiveScopes(e.subclass,this.sequences.main);var n=this.specForItem(e);n&&("before"in n.parser&&n.parser.before(this,e),t=!1,n.parser.baseSequenceType&&(t=("mainLike"===n.parser.baseSequenceType?this.mainLike.type:n.parser.baseSequenceType)!==this.current.baseSequenceType||n.parser.forceNewSequence),t?(this.closeActiveScopes("baseSequenceChange"),this.changeBaseSequence(n.parser),"newBlock"in n.parser&&n.parser.newBlock&&(this.closeActiveScopes("endBlock"),this.current.sequence.newBlock(Cu("blockTag",[e.fullTagName])))):n.parser.inlineSequenceType?(this.current.inlineSequenceType=n.parser.inlineSequenceType,this.current.parentSequence=this.current.sequence,"header"===this.current.parentSequence.type&&(this.current.parentSequence=this.sequences.main),this.current.sequence=new hu(this.current.inlineSequenceType),this.current.sequence.newBlock(Cu("inline",n.parser.inlineSequenceType)),this.sequences[this.current.inlineSequenceType].push(this.current.sequence),this.current.parentSequence.addItem({type:"graft",subType:this.current.inlineSequenceType,payload:this.current.sequence.id})):"newBlock"in n.parser&&n.parser.newBlock&&this.current.sequence.newBlock(Cu("blockTag",[e.fullTagName])),"during"in n.parser&&n.parser.during(this,e),this.openNewScopes(n.parser,e),"after"in n.parser&&n.parser.after(this,e))}tidy(){for(var e of this.sequences.introduction)e.graftifyIntroductionHeadings(this);var t=this.allSequences();for(var n of t)n.trim(),n.reorderSpanWithAtts(),n.makeNoteGrafts(this),n.moveOrphanScopes(),n.removeEmptyBlocks(this.emptyBlocks);var r=this.emptySequences(t);for(var s of t)r&&s.removeGraftsToEmptySequences(r),s.addTableScopes(),s.close(this),this.substitutePubNumberScopes(s),s.moveOrphanStartScopes2(),"sidebar"===s.type&&this.substituteEsbCatScopes(s),["footnote","xref"].includes(s.type)&&s.lastBlock().inlineToEnd()}emptySequences(e){return e.filter((e=>0===e.blocks.length)).map((e=>e.id))}substitutePubNumberScopes(e){var t={},n=this.sequenceById();for(var r of e.blocks){var s=0,o=[...r.items];for(var[a,i]of o.entries())if("graft"===i.type&&["pubNumber","altNumber"].includes(i.subType)){var u=n[i.payload].text().trim();t[o[a+1].payload.split("/")[1]]=u,r.items.splice(a-s,1),s++}}if(Object.keys(t).length>0)for(var c of e.blocks)for(var d of c.items.filter((e=>"scope"===e.type))){var l=d.payload.split("/");["altChapter","pubVerse","altVerse"].includes(l[0])&&(d.payload=l[0]+"/"+t[l[1]])}}substituteEsbCatScopes(e){var t={},n=this.sequenceById();for(var r of e.blocks){var s=0,o=[...r.items];for(var[a,i]of o.entries())if("graft"===i.type&&"esbCat"===i.subType){var u=n[i.payload].text().trim();t[o[1].payload.split("/")[1]]=u,r.items.splice(a-s,1),s++}}if(Object.keys(t).length>0)for(var c of e.blocks)for(var d of c.items.filter((e=>"scope"===e.type))){var l=d.payload.split("/");"esbCat"===l[0]&&(d.payload=l[0]+"/"+t[l[1]])}}allSequences(){var e=[];for(var[t,n]of Object.entries(_u({},this.baseSequenceTypes,this.inlineSequenceTypes)))switch(n){case"1":case"?":this.sequences[t]&&e.push(this.sequences[t]);break;case"*":this.sequences[t].forEach((t=>{e.push(t)}));break;default:throw new Error("Unexpected sequence arity '"+n+"' for '"+t+"'")}return e}sequenceById(){var e={};return this.allSequences().forEach((t=>{e[t.id]=t})),e}filter(){var e=[],t=this.sequenceById();this.filterGrafts(this.sequences.main.id,t,e,this.filterOptions),this.removeUnusedSequences(e),this.filterScopes(Object.values(t),this.filterOptions)}filterGrafts(e,t,n,r){n.push(e);var s=t[e].filterGrafts(r);for(var o of s)"main"===t[o].type&&(Iu.log("MAIN is child!"),Iu.log(JSON.stringify(t[e],null,2)),Nu.exit(1)),this.filterGrafts(o,t,n,r)}removeUnusedSequences(e){var t=this,n=function(n){if(!e.includes(n.id)){var r=_u({},t.baseSequenceTypes,t.inlineSequenceTypes)[n.type];switch(r){case"1":throw new Error("Attempting to remove sequence with arity of 1");case"?":t.sequences[n.type]=null;break;case"*":t.sequences[n.type]=t.sequences[n.type].filter((e=>e.id!==n.id));break;default:throw new Error("Unexpected sequence arity '"+r+"' for '"+n.type+"'")}}};for(var r of this.allSequences())n(r)}filterScopes(e,t){e.forEach((e=>e.filterScopes(t)))}specForItem(e){var t=e.subclass;if(!(t in this.specLookup))return null;for(var n of["tagName","sOrE"])if(n in e&&n in this.specLookup[t]&&e[n]in this.specLookup[t][n])return{parser:this.specLookup[t][n][e[n]]};return"_noAccessor"in this.specLookup[t]?{parser:this.specLookup[t]._noAccessor}:null}closeActiveScopes(e,t){void 0===t&&(t=this.current.sequence);var n=t.activeScopes.filter((t=>t.endedBy.includes(e))).reverse();t.activeScopes=t.activeScopes.filter((t=>!t.endedBy.includes(e))),n.forEach((e=>this.closeActiveScope(e,t)))}closeActiveScope(e,t){this.addScope("end",e.label,t),e.onEnd&&e.onEnd(this,e.label)}changeBaseSequence(e){var t=e.baseSequenceType;if("mainLike"!==t){this.current.baseSequenceType=t;var n=this.baseSequenceTypes[t];switch(n){case"1":this.current.sequence=this.sequences[t];break;case"?":this.sequences[t]||(this.sequences[t]=new hu(t)),this.current.sequence=this.sequences[t];break;case"*":this.current.sequence=new hu(t),e.useTempSequence||this.sequences[t].push(this.current.sequence);break;default:throw new Error("Unexpected base sequence arity '"+n+"' for '"+t+"'")}e.useTempSequence||"main"===this.current.sequence.type||this.mainLike.addBlockGraft({type:"graft",subType:this.current.baseSequenceType,payload:this.current.sequence.id})}else this.current.sequence=this.mainLike}returnToBaseSequence(){this.current.inlineSequenceType=null,this.current.sequence=this.current.parentSequence,this.current.parentSequence=null}openNewScopes(e,t){if(e.newScopes){var n=this.current.sequence;"mainSequence"in e&&e.mainSequence&&(n=this.sequences.main),e.newScopes.forEach((e=>this.openNewScope(t,e,!0,n)))}}openNewScope(e,t,n,r){void 0===n&&(n=!0),void 0===r&&(r=this.current.sequence),n&&r.addItem({type:"scope",subType:"start",payload:t.label(e)});var s={label:t.label(e),endedBy:this.substituteEndedBys(t.endedBy,e)};"onEnd"in t&&(s.onEnd=t.onEnd),r.activeScopes.push(s)}substituteEndedBys(e,t){return e.map((e=>{var n=e.replace("$fullTagName$",t.fullTagName).replace("$tagName$",t.tagName);return this.current.attributeContext&&(n=n.replace("$attributeContext$",this.current.attributeContext.replace("milestone","endMilestone").replace("spanWithAtts","endTag"))),n}))}addToken(e){this.current.sequence.addItem({type:"token",subType:e.subclass,payload:e.printValue})}addScope(e,t,n){void 0===n&&(n=this.current.sequence),n.addItem({type:"scope",subType:e,payload:t})}addEmptyMilestone(e){this.mainLike.addItem({type:"scope",subType:"start",payload:e}),this.mainLike.addItem({type:"scope",subType:"end",payload:e})}setAttributeContext(e){this.current.attributeContext=e}clearAttributeContext(){this.current.attributeContext=null}}(this.filterOptions,this.customTags,this.emptyBlocks)}processUsfm(e){var t=this.makeParser();Date.now(),((e,t)=>{for(var n=l.default.match(e,Yi,"all"),r=0;r<n.length;r++)t.parseItem(Qi(n[r],Xi))})(e,t),Date.now(),this.postParseScripture(t),Date.now(),Date.now()}processUsx(e){var t=this.makeParser();Date.now(),((e,t)=>{(new ru).lexAndParse(e,t)})(e,t),Date.now(),this.postParseScripture(t),Date.now(),Date.now()}processTSV(e){var t=this.makeParser(),n="T"+(this.processor.nextTable>9?this.processor.nextTable:"0"+this.processor.nextTable);this.processor.nextTable++,((e,t,n)=>{var{rows:r}=JSON.parse(e);t.headers.id=n,t.headers.bookCode=n;var s=new hu("table");for(var[o,a]of r.entries())for(var[i,u]of a.entries()){s.newBlock(vu("tTableRow",[""+o]));var c=s.lastBlock();for(var[d,l]of(c.addItem({type:"scope",subType:"start",payload:"tTableCol/"+i}),gu(u)))c.addItem({type:"token",subType:l,payload:d});c.addItem({type:"scope",subType:"end",payload:"tTableCol/"+i})}t.sequences.table.push(s),t.sequences.main.addBlockGraft({type:"graft",subType:"table",payload:s.id})})(e,t,n),this.headers=t.headers,this.succinctPass1(t),this.succinctPass2(t),zu(this);var r=Object.values(this.sequences).filter((e=>"table"===e.type))[0];for(var[s,o]of JSON.parse(e).headings.entries())r.tags.add("col"+s+":"+o)}processNodes(e){var t=this.makeParser(),n="N"+(this.processor.nextNodes>9?this.processor.nextNodes:"0"+this.processor.nextNodes);this.processor.nextNodes++,((e,t,n)=>{t.headers.id=n,t.headers.bookCode=n;var r=new hu("tree");for(var s of ku(wu(JSON.parse(e)))){r.newBlock(Au("tTreeNode",[""+s.id]));var o=Au("tTreeParent",[""+s.parentId]);if(r.lastBlock().items.push({type:"scope",subType:"start",payload:o}),s.content)for(var[a,i]of Object.entries(s.content)){var u=r.lastBlock().items.length,c=gu(i),d=Au("tTreeContent",[a,s.id,""+u,""+c.length]);for(var[l,p]of(r.lastBlock().items.push({type:"scope",subType:"start",payload:d}),c))r.lastBlock().items.push({type:"token",subType:p,payload:l});r.lastBlock().items.push({type:"scope",subType:"end",payload:d})}if(s.children)for(var[f,h]of s.children.entries()){var m=Au("tTreeChild",[f,h]);r.lastBlock().items.push({type:"scope",subType:"start",payload:m}),r.lastBlock().items.push({type:"scope",subType:"end",payload:m})}r.lastBlock().items.push({type:"scope",subType:"end",payload:o})}t.sequences.tree.push(r),t.sequences.main.addBlockGraft({type:"graft",subType:"tree",payload:r.id})})(e,t,n),this.headers=t.headers,this.succinctPass1(t),this.succinctPass2(t),zu(this)}postParseScripture(e){Date.now(),e.tidy(),Date.now(),Date.now();var t=e.filterOptions;this.headers=e.headers,this.succinctPass1(e),Date.now(),Date.now(),this.succinctPass2(e),Date.now(),Date.now(),this.succinctFilter(t),Date.now(),Date.now(),zu(this),Date.now()}succinctFilter(e){((e,t)=>{if(t&&0!==Object.keys(t).length){var n=e.processor.docSets[e.docSetId],r=(e,r,s,o,a,i,u)=>{if(a===gc.token)return!0;if(a===gc.startScope||a===gc.endScope){if(t.includeScopes||t.excludeScopes){var c=n.unsuccinctifyScope(s.c,a,i,u);return(!t.includeScopes||t.includeScopes.filter((e=>c[2].startsWith(e))).length>0)&&(!t.excludeScopes||0===t.excludeScopes.filter((e=>c[2].startsWith(e))).length)}return!0}if(!t.includeGrafts&&!t.excludeGrafts)return!0;var d=n.unsuccinctifyGraft(s.c,i,u);return(!t.includeGrafts||t.includeGrafts.filter((e=>d[1].startsWith(e))).length>0)&&(!t.excludeGrafts||0===t.excludeGrafts.filter((e=>d[1].startsWith(e))).length)},s=(e,r,s)=>{for(var o=new yc(s.bg.length),a=0,i=function(){var[e,r,i]=vi.succinct.headerBytes(s.bg,a),u=n.unsuccinctifyGraft(s.bg,i,a);if((!t.includeGrafts||t.includeGrafts.filter((e=>u[1].startsWith(e))).length>0)&&(!t.excludeGrafts||0===t.excludeGrafts.filter((e=>u[1].startsWith(e))).length))for(var c=0;c<e;c++)o.pushByte(s.bg.byte(a+c));a+=e};a<s.bg.length;)i();return o.trim(),s.bg=o,s};Object.keys(e.sequences).forEach((t=>{e.modifySequence(t,null,null,r,s,null)})),Object.values(e.sequences).forEach((e=>n.updateBlockIndexesAfterFilter(e))),e.gcSequences()}})(this,e)}succinctPass1(e){var t=this.processor.docSets[this.docSetId];for(var n of(Date.now(),e.allSequences()))t.recordPreEnum("ids",n.id),this.recordPreEnums(t,n);Date.now(),Date.now(),0===t.enums.wordLike.length&&(t.sortPreEnums(),Date.now(),Date.now()),t.buildEnums(),Date.now()}recordPreEnums(e,t){((e,t)=>{for(var[n,r]of(e.recordPreEnum("scopeBits","0"),t.blocks.entries()))for(var[s,o]of[...r.items,r.bs,...r.bg].entries())if("wordLike"===o.subType)e.recordPreEnum("wordLike",o.payload);else if(["lineSpace","eol","punctuation","softLineBreak","bareSlash","unknown"].includes(o.subType))e.recordPreEnum("notWordLike",o.payload);else if("graft"===o.type)e.recordPreEnum("graftTypes",o.subType);else if("start"===o.subType){var a=o.payload.split("/");if(a.length!==vi.scopeDefs.nComponentsForScope(a[0]))throw new Error("Scope "+o.payload+" has unexpected number of components");for(var i of a.slice(1))e.recordPreEnum("scopeBits",i)}})(e,t)}rerecordPreEnums(e,t){((e,t)=>{for(var n of(e.recordPreEnum("scopeBits","0"),e.recordPreEnum("ids",t.id),t.blocks))for(var r of["bs","bg","c","is","os"])Ec(e,n[r])})(e,t)}succinctPass2(e){var t=this.processor.docSets[this.docSetId];for(var n of(this.mainId=e.sequences.main.id,e.allSequences()))this.sequences[n.id]={id:n.id,type:n.type,tags:new Set(n.tags),isBaseType:n.type in e.baseSequenceTypes,blocks:n.succinctifyBlocks(t)};this.sequences[this.mainId].verseMapping={}}modifySequence(e,t,n,r,s,o){((e,t,n,r,s,o,a)=>{e.processor.docSets[e.docSetId].maybeBuildEnumIndexes(),n=n||(e=>e);var i=e.sequences[t],u=n({id:t,type:i.type,tags:i.tags,isBaseType:i.isBaseType,verseMapping:i.verseMapping});((e,t,n,r,s,o)=>{for(var[a,i]of(n=n||((e,t,n)=>!!n),r=r||((e,t,n,r,s,o,a)=>!!n||a),s=s||((e,t,n)=>n),o=o||((e,t,n,r,s,o,a,i,u)=>{for(var c=0;c<o;c++)r.c.pushByte(n.c.byte(u+c))}),t.blocks=[],e.blocks.entries()))if(n(e,a,i)){var u=s(e,a,rc()(i));u.c.clear(),oc(e,a,i,u,r,o),t.blocks.push(u)}})(i,u,r,s,o,a),e.sequences[t]=u,"main"===u.type&&e.buildChapterVerseIndex()})(this,e,t,n,r,s,o)}buildChapterVerseIndex(){zu(this)}chapterVerseIndexes(){var e={};for(var t of Object.keys(this.sequences[this.mainId].chapterVerses))e[t]=Zu(this,t);return e}chapterVerseIndex(e){return Zu(this,e)}chapterIndexes(){var e={};for(var t of Object.keys(this.sequences[this.mainId].chapters))e[t]=Qu(this,t);return e}chapterIndex(e){return Qu(this,e)}rewriteSequenceBlocks(e,t){var n=this.sequences[e];for(var r of n.blocks)this.rewriteSequenceBlock(r,t)}rewriteSequenceBlock(e,t){((e,t)=>{for(var n of["bs","bg","c","is","os"]){for(var r=e[n],s=new ac(r.length),o=0;o<r.length;){var[a,i,u]=Sc(r,o);if(i===dc.token)u===mc.wordLike?cc(s,u,t.wordLike[r.nByte(o+2)]):cc(s,u,t.notWordLike[r.nByte(o+2)]);else if(i===dc.graft)ic(s,t.graftTypes[u],t.ids[r.nByte(o+2)]);else{for(var c=fc(pc[u]),d=[],l=2;c>1;){var p=t.scopeBits[r.nByte(o+l)];d.push(p),l+=r.nByteLength(p),c--}uc(s,i,u,d)}o+=a}s.trim(),e[n]=s}})(e,t)}serializeSuccinct(){return(e=>{var t={sequences:{}};for(var[n,r]of(t.headers=e.headers,t.mainId=e.mainId,t.tags=Array.from(e.tags),Object.entries(e.sequences)))t.sequences[n]=vc(r);return t})(this)}gcSequences(){return(e=>{var t=new Set,n=e.processor.docSets[e.docSetId];n.maybeBuildEnumIndexes();var r=(e,t,s)=>{for(var o of(s.add(t.id),t.blocks)){for(var a of n.unsuccinctifyGrafts(o.bg))s.has(a[2])||r(e,e.sequences[a[2]],s);for(var i of n.unsuccinctifyItems(o.c,{grafts:!0},0))s.has(i[2])||r(e,e.sequences[i[2]],s)}};r(e,e.sequences[e.mainId],t);var s=!1;for(var o of Object.keys(e.sequences))t.has(o)||(delete e.sequences[o],s=!0);return s})(this)}newSequence(e,t){return((e,t,n)=>{var r=vi.generateId();return e.sequences[r]={id:r,type:t,tags:new Set(n||[]),isBaseType:t in e.baseSequenceTypes,blocks:[]},r})(this,e,t)}deleteSequence(e){return((e,t)=>{if(!(t in e.sequences))return!1;if("main"===e.sequences[t].type)throw new Error("Cannot delete main sequence");return e.sequences[t].type in e.baseSequenceTypes?sc(e,"block",t):sc(e,"inline",t),delete e.sequences[t],e.buildChapterVerseIndex(void 0),e.gcSequences(),!0})(this,e)}deleteBlock(e,t,n){return((e,t,n,r)=>{if(!1!==r&&(r=!0),!(t in e.sequences))return!1;var s=e.sequences[t];return!(n<0||n>=s.blocks.length||(s.blocks.splice(n,1),r&&e.buildChapterVerseIndex(void 0),0))})(this,e,t,n)}newBlock(e,t,n,r,s){return((e,t,n,r,s,o)=>{if(!1!==o&&(o=!0),!(t in e.sequences))return!1;var a=e.sequences[t];if(n<0||n>a.blocks.length)return!1;var i=e.processor.docSets[e.docSetId];i.maybeBuildPreEnums();var u={bs:new ac(0),bg:new ac(0),c:new ac(0),os:new ac(0),is:new ac(0),nt:new ac(0)},c=r.split("/"),d=lc[c[0]],l=fc(c[0]);if(c.length!==l)throw new Error("Scope "+r+" has "+c.length+" component(s) (expected "+l);var p=c.slice(1).map((e=>i.enumForCategoryValue("scopeBits",e,!0)));return uc(u.bs,dc.startScope,d,p),u.bs.trim(),s&&Ci(i,e.id,t,n,s),a.blocks.splice(n,0,u),o&&e.buildChapterVerseIndex(),!0})(this,e,t,n,r,s)}perf(e){var t={};return new Ki.PerfRenderFromProskomma({proskomma:this.processor,actions:Ki.transforms.perf2perf.identityActions}).renderDocument({docId:this.id,config:{},output:t}),e?JSON.stringify(t.perf,null,e):JSON.stringify(t.perf)}usfm(){var e,t=this;return(e=function*(){var e=JSON.parse(t.perf());try{var n=new Wi.PipelineHandler({pipelines:$u,transforms:Hu,proskomma:t.processor});return(yield n.runPipeline("perf2usfmPipeline",{perf:e})).usfm}catch(e){Ac.error("pipelineHandler Error :\n",e)}},function(){var t=this,n=arguments;return new Promise((function(r,s){var o=e.apply(t,n);function a(e){Tc(o,r,s,a,i,"next",e)}function i(e){Tc(o,r,s,a,i,"throw",e)}a(void 0)}))})()}sofria(e,t){var n=new Ki.SofriaRenderFromProskomma({proskomma:this.processor,actions:Ki.transforms.sofria2sofria.identityActions}),r={},s={};t&&(s.chapters=[""+t]);try{n.renderDocument({docId:this.id,config:s,output:r})}catch(e){throw Ac.log(e),e}return e?JSON.stringify(r.sofria,null,e):JSON.stringify(r.sofria)}}var Oc=e=>e.map((e=>(e=>{var t;switch(e[0]){case"token":return"|"+e[2];case"scope":return(t="start"===e[1]?"+":"-")+e[2]+t;case"graft":return">"+e[1]+"<"}})(e))).join(""),_c={items:e=>e[1],tokens:(e,t)=>e[1].filter((e=>"token"===e[0]&&(!t.withChars||t.withChars.includes(e[2]))&&(!t.withSubTypes||t.withSubTypes.includes(e[1])))),text:(e,t)=>{var n=e[1].filter((e=>"token"===e[0])).map((e=>e[2])).join("");return t.normalizeSpace?n.replace(/[ \t\n\r]+/g," "):n},scopeLabels:(e,t)=>e[0].filter((e=>!t.startsWith||((e,t)=>{if(0===e.length)return!0;for(var n of e)if(t.startsWith(n))return!0;return!1})(t.startsWith,e))),dump:e=>{return(n=["ItemGroup:"]).push(" Open Scopes "+(t=e)[0].join(", ")),n.push(" "+Oc(t[1])),n.join("\n");var t,n},includedScopes:e=>Array.from(new Set(e[1].filter((e=>"scope"===e[0]&&"start"===e[1])).map((e=>e[2]))))},xc={orig:(e,t,n)=>{var r=n.doc.headers.bookCode,s=n.cvIndex[0],o=e.number,a=n.doc.sequences[n.doc.mainId];if(a.verseMapping&&"forward"in a.verseMapping&&""+s in a.verseMapping.forward){var i=vi.versification.mapVerse(a.verseMapping.forward[""+s],r,s,o);return{book:i[0],cvs:i[1]}}return{book:r,cvs:[[s,o]]}}},Cc={chapter:e=>e[0],startBlock:e=>e[1].startBlock,endBlock:e=>e[1].endBlock,startItem:e=>e[1].startItem,endItem:e=>e[1].endItem,nextToken:e=>e[1].nextToken,items:(e,t,n)=>n.docSet.itemsByIndex(n.doc.sequences[n.doc.mainId],e[1],t.includeContext).reduce(((e,t)=>e.concat([["token","lineSpace"," "]].concat(t))),[]),dumpItems:(e,t,n)=>{var r=n.docSet.itemsByIndex(n.doc.sequences[n.doc.mainId],e[1],!1);return r.length>0?Oc(r.reduce(((e,t)=>e.concat([["token","lineSpace"," ",null]].concat(t))))):""},tokens:(e,t,n)=>n.docSet.itemsByIndex(n.doc.sequences[n.doc.mainId],e[1],t.includeContext).reduce(((e,t)=>e.concat([["token","lineSpace"," "]].concat(t))),[]).filter((e=>"token"===e[0]&&(!t.withChars||t.withChars.includes(e[2]))&&(!t.withSubTypes||t.withSubTypes.includes(e[1])))),text:(e,t,n)=>{var r=n.docSet.itemsByIndex(n.doc.sequences[n.doc.mainId],e[1]).reduce(((e,t)=>e.concat([["token","lineSpace"," "]].concat(t))),[]).filter((e=>"token"===e[0])).map((e=>"lineSpace"===e[1]?" ":e[2])).join("").trim();return t.normalizeSpace&&(r=r.replace(/[ \t\n\r]+/g," ")),r}},Dc={startBlock:e=>e.startBlock,endBlock:e=>e.endBlock,startItem:e=>e.startItem,endItem:e=>e.endItem,nextToken:e=>e.nextToken,verseRange:e=>e.verses,items:(e,t,n)=>n.docSet.itemsByIndex(n.doc.sequences[n.doc.mainId],e,t.includeContext).reduce(((e,t)=>e.concat([["token","lineSpace"," ",null]].concat(t)))),dumpItems:(e,t,n)=>Oc(n.docSet.itemsByIndex(n.doc.sequences[n.doc.mainId],e,t.includeContext).reduce(((e,t)=>e.concat([["token","lineSpace"," ",null]].concat(t))))),tokens:(e,t,n)=>n.docSet.itemsByIndex(n.doc.sequences[n.doc.mainId],e,t.includeContext).reduce(((e,t)=>e.concat([["token","lineSpace"," ",null]].concat(t)))).filter((e=>"token"===e[0]&&(!t.withChars||t.withChars.includes(e[2]))&&(!t.withSubTypes||t.withSubTypes.includes(e[1])))),text:(e,t,n)=>{var r=n.docSet.itemsByIndex(n.doc.sequences[n.doc.mainId],e).reduce(((e,t)=>e.concat([["token","lineSpace"," ",null]].concat(t)))).filter((e=>"token"===e[0])).map((e=>"lineSpace"===e[1]?" ":e[2])).join("").trim();return t.normalizeSpace&&(r=r.replace(/[ \t\n\r]+/g," ")),r}},$c=(e,t)=>{var n=parseInt(e[0]),r=parseInt(e[1]);if(e[3].length<=r||0===e[3][r].length)return null;for(var s=null,o=n,a=r,i=e[3],u=i[r][0].verses,c=!1;!s;)if((a+=1)>=i.length){if(c||!e[4])break;a=-1,o+=1,i=e[4],c=!0}else i[a].length>0&&(!t||c||i[a][0].verses!==u)&&(s=[o,a]);return s},Rc=(e,t)=>{var n=parseInt(e[0]),r=parseInt(e[1]);if(e[3].length<=r||0===e[3][r].length)return null;for(var s=null,o=n,a=r,i=e[3],u=i[r][0].verses,c=!1;!s;)if((a-=1)<0){if(c||!e[2])break;a=e[2].length,o-=1,i=e[2],c=!0}else i[a].length>0&&(!t||c||i[a][0].verses!==u)&&(s=[o,a]);return s},qc={nextVerse:e=>$c(e,!1),previousVerse:e=>Rc(e,!1),nextVerseRangeVerse:e=>$c(e,!0),previousVerseRangeVerse:e=>Rc(e,!0),nextChapter:e=>e[3].length>0&&e[4].length>0?(parseInt(e[0])+1).toString():null,previousChapter:e=>e[2].length>0&&e[3].length>0?(parseInt(e[0])-1).toString():null},jc={id:(e,t,n)=>{var[r,s,o]=vi.succinct.headerBytes(e.bs,0);return n.docSet.unsuccinctifyScope(e.bs,s,o,0)[2].split("/")[1]},parentId:(e,t,n)=>{var r=n.docSet.unsuccinctifyScopes(e.is).filter((e=>e[2].startsWith("tTreeParent")))[0][2].split("/")[1];return"none"===r?null:r},keys:(e,t,n)=>n.docSet.unsuccinctifyScopes(e.is).filter((e=>e[2].startsWith("tTreeContent"))).map((e=>e[2].split("/")[1])),itemGroups:(e,t,n)=>n.docSet.sequenceItemsByScopes([e],["tTreeContent/"],t.includeContext||!1),childIds:(e,t,n)=>n.docSet.unsuccinctifyScopes(e.is).filter((e=>e[2].startsWith("tTreeChild"))).map((e=>e[2].split("/")[2]))},Mc={nEntries:e=>e.blocks.length,entries:(e,t,n)=>{var r=e.blocks.map((e=>[n.docSet.unsuccinctifyScopes(e.bs).map((e=>e[2].split("/")[1]))[0],n.docSet.unsuccinctifyScopes(e.is).filter((e=>e[2].startsWith("kvSecondary/"))).map((e=>[e[2].split("/")[1],e[2].split("/")[2]])),n.docSet.sequenceItemsByScopes([e],["kvField/"],!1)]));if(t.keyMatches&&(r=r.filter((e=>l.default.test(e[0],(0,l.default)(t.keyMatches))))),t.keyEquals&&(r=r.filter((e=>t.keyEquals.includes(e[0])))),t.secondaryMatches){var s={};t.secondaryMatches.forEach((e=>s[e.key]=e.matches)),r=r.filter((e=>{var t={};for(var n of(e[1].forEach((e=>t[e[0]]=e[1])),Object.entries(s))){var r=t[n[0]];if(!r||!l.default.test(r,(0,l.default)(n[1])))return!1}return!0}))}if(t.secondaryEquals){var o={};t.secondaryEquals.forEach((e=>o[e.key]=e.values)),r=r.filter((e=>{var t={};for(var n of(e[1].forEach((e=>t[e[0]]=e[1])),Object.entries(o))){var r=t[n[0]];if(!r||!n[1].includes(r))return!1}return!0}))}if(t.contentMatches){var a={};t.contentMatches.forEach((e=>a[e.key]=e.matches)),r=r.filter((e=>{var t={};for(var n of(e[2].forEach((e=>t[e[0].filter((e=>e.startsWith("kvField")))[0].split("/")[1]]=e[1].filter((e=>"token"===e[0])).map((e=>e[2])).join(""))),Object.entries(a))){var r=t[n[0]];if(!r||!l.default.test(r,(0,l.default)(n[1])))return!1}return!0}))}if(t.contentEquals){var i={};t.contentEquals.forEach((e=>i[e.key]=e.values)),r=r.filter((e=>{var t={};for(var n of(e[2].forEach((e=>t[e[0].filter((e=>e.startsWith("kvField")))[0].split("/")[1]]=e[1].filter((e=>"token"===e[0])).map((e=>e[2])).join(""))),Object.entries(i))){var r=t[n[0]];if(!r||!r.includes(n[1]))return!1}return!0}))}return r},tags:e=>Array.from(e.tags),tagsKv:e=>Array.from(e.tags).map((e=>e.includes(":")?[e.substring(0,e.indexOf(":")),e.substring(e.indexOf(":")+1)]:[e,""])),hasTag:(e,t)=>e.tags.has(t.tagName)},Bc={nCells:e=>e.blocks.length,nRows:(e,t,n)=>{var r=new Set([]);for(var s of e.blocks){var[o,a,i]=vi.succinct.headerBytes(s.bs,0),u=n.docSet.unsuccinctifyScope(s.bs,a,i,0)[2];r.add(u.split("/")[1])}return r.size},nColumns:(e,t,n)=>{var r=new Set([]);for(var s of e.blocks)for(var o of n.docSet.unsuccinctifyScopes(s.is).map((e=>e[2])))o.startsWith("tTableCol")&&r.add(o.split("/")[1]);return r.size},cells:(e,t,n)=>{var r=[];for(var s of e.blocks)r.push([n.docSet.unsuccinctifyScopes(s.bs).map((e=>parseInt(e[2].split("/")[1]))),Array.from(new Set(n.docSet.unsuccinctifyScopes(s.is).filter((e=>e[2].startsWith("tTableCol"))).map((e=>parseInt(e[2].split("/")[1]))))),n.docSet.unsuccinctifyItems(s.c,{},0)]);return r},rows:(e,t,n)=>{var r=(e,t)=>0===t.length||!!((e,t)=>{if(void 0===e[t.colN])return!1;var n=e[t.colN][2].filter((e=>"token"===e[0])).map((e=>e[2])).join("");return l.default.test(n,(0,l.default)(t.matching))})(e,t[0])&&r(e,t.slice(1)),s=(e,t)=>0===t.length||!!((e,t)=>{if(void 0===e[t.colN])return!1;var n=e[t.colN][2].filter((e=>"token"===e[0])).map((e=>e[2])).join("");return t.values.includes(n)})(e,t[0])&&s(e,t.slice(1)),o=[],a=-1;for(var i of e.blocks){var u=n.docSet.unsuccinctifyScopes(i.bs).map((e=>parseInt(e[2].split("/")[1])));t.positions&&!t.positions.includes(u[0])||(u[0]!==a&&(o.push([]),a=u[0]),o[o.length-1].push([u,Array.from(new Set(n.docSet.unsuccinctifyScopes(i.is).filter((e=>e[2].startsWith("tTableCol"))).map((e=>parseInt(e[2].split("/")[1]))))),n.docSet.unsuccinctifyItems(i.c,{},0)]))}return t.matches&&(o=o.filter((e=>r(e,t.matches)))),t.equals&&(o=o.filter((e=>s(e,t.equals)))),t.columns&&(o=o.map((e=>[...e.entries()].filter((e=>t.columns.includes(e[0]))).map((e=>e[1]))))),o},tags:e=>Array.from(e.tags),tagsKv:e=>Array.from(e.tags).map((e=>e.includes(":")?[e.substring(0,e.indexOf(":")),e.substring(e.indexOf(":")+1)]:[e,""])),hasTag:(e,t)=>e.tags.has(t.tagName),headings:e=>Array.from(e.tags).filter((e=>e.startsWith("col"))).sort(((e,t)=>parseInt(e.split(":")[0].substring(3))-parseInt(t.split(":")[0].substring(3)))).map((e=>e.split(":")[1]))},Gc={equals:(e,t,n,r)=>n===r,notEqual:(e,t,n,r)=>n!==r,and:function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),s=2;s<n;s++)r[s-2]=arguments[s];return 0===r.filter((e=>!e)).length},or:function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),s=2;s<n;s++)r[s-2]=arguments[s];return r.filter((e=>e)).length>0},not:(e,t,n)=>!n,idRef:(e,t)=>e.unsuccinctifyScopes(t.bs)[0][2].split("/")[1],parentIdRef:(e,t)=>e.unsuccinctifyScopes(t.is).filter((e=>e[2].startsWith("tTreeParent")))[0][2].split("/")[1],nChildren:(e,t)=>e.unsuccinctifyScopes(t.is).filter((e=>e[2].startsWith("tTreeChild"))).length,contentRef:(e,t,n)=>{var r=e.sequenceItemsByScopes([t],["tTreeContent/"],!1).filter((e=>e[0].filter((e=>e.startsWith("tTreeContent")))[0].split("/")[1]===n));return r[0]?r[0][1].filter((e=>"token"===e[0])).map((e=>e[2])).join(""):""},hasContent:(e,t,n)=>e.sequenceItemsByScopes([t],["tTreeContent/"],!1).filter((e=>e[0].filter((e=>e.startsWith("tTreeContent")))[0].split("/")[1]===n)).length>0,concat:function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),s=2;s<n;s++)r[s-2]=arguments[s];return r.join("")},startsWith:(e,t,n,r)=>n.startsWith(r),endsWith:(e,t,n,r)=>n.endsWith(r),contains:(e,t,n,r)=>n.includes(r),matches:(e,t,n,r)=>l.default.test(n,(0,l.default)(r)),int:(e,t,n)=>parseInt(n),string:(e,t,n)=>""+n,left:(e,t,n,r)=>n.substring(0,r),right:(e,t,n,r)=>n.substring(n.length-r),length:(e,t,n)=>n.length,indexOf:(e,t,n,r)=>n.indexOf(r),add:function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),s=2;s<n;s++)r[s-2]=arguments[s];return r.reduce(((e,t)=>e+t))},mul:function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),s=2;s<n;s++)r[s-2]=arguments[s];return r.reduce(((e,t)=>e*t))},sub:(e,t,n,r)=>n-r,div:(e,t,n,r)=>Math.floor(n/r),mod:(e,t,n,r)=>n%r,gt:(e,t,n,r)=>n>r,lt:(e,t,n,r)=>n<r,ge:(e,t,n,r)=>n>=r,le:(e,t,n,r)=>n<=r},Lc={quotedString:e=>e.substring(1,e.length-1),int:e=>parseInt(e),true:()=>!0,false:()=>!1},Fc={expression:{oneOf:["stringExpression","intExpression","booleanExpression"]},booleanExpression:{oneOf:["booleanPrimitive","equals","notEqual","and","or","not","contains","startsWith","endsWith","matches","gt","lt","ge","le","hasContent"]},stringExpression:{oneOf:["concat","left","right","string","idRef","parentIdRef","contentRef","stringPrimitive"]},intExpression:{oneOf:["length","indexOf","int","nChildren","intPrimitive","add","sub","mul","div","mod"]},equals:{regex:(0,l.default)("^==\\((.+)\\)$"),doc:{operator:"==",args:["expression","expression"],result:"boolean",description:"Are the arguments strictly equal?"},argStructure:[["expression",[2,2]]]},notEqual:{regex:(0,l.default)("^!=\\((.+)\\)$"),doc:{operator:"!=",args:["expression","expression"],result:"boolean",description:"Are the arguments not strictly equal?"},argStructure:[["expression",[2,2]]]},and:{regex:(0,l.default)("^and\\((.+)\\)$"),doc:{operator:"and",args:["boolean","boolean","..."],result:"boolean",description:"Are all the arguments true?"},breakOn:!1,argStructure:[["booleanExpression",[2,null]]]},or:{regex:(0,l.default)("^or\\((.+)\\)$"),doc:{operator:"or",args:["boolean","boolean"],result:"boolean",description:"Are any arguments true?"},breakOn:!0,argStructure:[["booleanExpression",[2,null]]]},concat:{regex:(0,l.default)("^concat\\((.+)\\)$"),doc:{operator:"concat",args:["string","string","..."],result:"string",description:"Concatenates string arguments"},argStructure:[["stringExpression",[2,null]]]},contentRef:{regex:(0,l.default)("^content\\((.+)\\)$"),doc:{operator:"content",args:["string"],result:"string",description:"String value of the specified content for the node"},argStructure:[["stringExpression",[1,1]]]},hasContent:{regex:(0,l.default)("^hasContent\\((.+)\\)$"),doc:{operator:"hasContent",args:["string"],result:"boolean",description:"Does the node have this content?"},argStructure:[["stringExpression",[1,1]]]},contains:{regex:(0,l.default)("^contains\\((.+)\\)$"),doc:{operator:"contains",args:["string","string"],result:"boolean",description:"Does the first string contain the second string?"},argStructure:[["stringExpression",[2,2]]]},startsWith:{regex:(0,l.default)("^startsWith\\((.+)\\)$"),doc:{operator:"startsWith",args:["string","string"],result:"boolean",description:"Does the first string start with the second string?"},argStructure:[["stringExpression",[2,2]]]},endsWith:{regex:(0,l.default)("^endsWith\\((.+)\\)$"),doc:{operator:"endsWith",args:["string","string"],result:"boolean",description:"Does the first string end with the second string?"},argStructure:[["stringExpression",[2,2]]]},matches:{regex:(0,l.default)("^matches\\((.+)\\)$"),doc:{operator:"matches",args:["string","regex"],result:"boolean",description:"Does the first string match the regex in the second string?"},argStructure:[["stringExpression",[2,2]]]},left:{regex:(0,l.default)("^left\\((.+)\\)$"),doc:{operator:"left",args:["string","integer"],result:"string",description:"The first n characters of the string"},argStructure:[["stringExpression",[1,1]],["intExpression",[1,1]]]},right:{regex:(0,l.default)("^right\\((.+)\\)$"),doc:{operator:"right",args:["string","integer"],result:"string",description:"The last n characters of the string"},argStructure:[["stringExpression",[1,1]],["intExpression",[1,1]]]},length:{regex:(0,l.default)("^length\\((.+)\\)$"),doc:{operator:"length",args:["string"],result:"integer",description:"The number of characters in the string"},argStructure:[["stringExpression",[1,1]]]},indexOf:{regex:(0,l.default)("^indexOf\\((.+)\\)$"),doc:{operator:"indexOf",args:["string","string"],result:"number",description:"The integer position at which the second string starts in the first string"},argStructure:[["stringExpression",[2,2]]]},not:{regex:(0,l.default)("^not\\((.+)\\)$"),doc:{operator:"not",args:["boolean"],result:"boolean",description:"The inverse boolean value of the argument"},argStructure:[["booleanExpression",[1,1]]]},int:{regex:(0,l.default)("^int\\((.+)\\)$"),doc:{operator:"int",args:["string"],result:"integer",description:"The integer value of the string"},argStructure:[["stringExpression",[1,1]]]},string:{regex:(0,l.default)("^string\\((.+)\\)$"),doc:{operator:"string",args:["integer"],result:"string",description:"The string value of the integer"},argStructure:[["intExpression",[1,1]]]},idRef:{regex:(0,l.default)("^id$"),doc:{operator:"id",args:[],result:"string",description:"The node ID"},argStructure:[]},parentIdRef:{regex:(0,l.default)("^parentId$"),doc:{operator:"parentId",args:[],result:"string",description:"The node's parent ID"},argStructure:[]},nChildren:{regex:(0,l.default)("^nChildren$"),doc:{operator:"nChildren",args:[],result:"int",description:"The number of children of the node"},argStructure:[]},add:{regex:(0,l.default)("^add\\((.+)\\)$"),doc:{operator:"add",args:["integer","..."],result:"integer",description:"The numeric sum of the arguments"},argStructure:[["intExpression",[2,null]]]},mul:{regex:(0,l.default)("^mul\\((.+)\\)$"),doc:{operator:"mul",args:["integer","..."],result:"integer",description:"The numeric product of the arguments"},argStructure:[["intExpression",[2,null]]]},sub:{regex:(0,l.default)("^sub\\((.+)\\)$"),doc:{operator:"sub",args:["integer","integer"],result:"integer",description:"The first integer minus the second"},argStructure:[["intExpression",[2,2]]]},div:{regex:(0,l.default)("^div\\((.+)\\)$"),doc:{operator:"div",args:["integer","integer"],result:"integer",description:"The first integer divided by the second"},argStructure:[["intExpression",[2,2]]]},mod:{regex:(0,l.default)("^mod\\((.+)\\)$"),doc:{operator:"mod",args:["integer","integer"],result:"integer",description:"The modulus of the first integer when divided by the second"},argStructure:[["intExpression",[2,2]]]},gt:{regex:(0,l.default)("^>\\((.+)\\)$"),doc:{operator:">",args:["integer","integer"],result:"boolean",description:"Is the first integer numerically greater than the second?"},argStructure:[["intExpression",[2,2]]]},lt:{regex:(0,l.default)("^<\\((.+)\\)$"),doc:{operator:"<",args:["integer","integer"],result:"boolean",description:"Is the first integer numerically less than the second?"},argStructure:[["intExpression",[2,2]]]},ge:{regex:(0,l.default)("^>=\\((.+)\\)$"),doc:{operator:">=",args:["integer","integer"],result:"boolean",description:"Is the first integer numerically greater than or equal to the second?"},argStructure:[["intExpression",[2,2]]]},le:{regex:(0,l.default)("^<=\\((.+)\\)$"),doc:{operator:"<=",args:["integer","integer"],result:"boolean",description:"Is the first integer numerically less than or equal to the second?"},argStructure:[["intExpression",[2,2]]]},stringPrimitive:{regex:(0,l.default)("^('([^']|\\\\')*')$"),parseFunctions:[null,"quotedString"]},intPrimitive:{regex:(0,l.default)("^(-?[0-9]+)$"),parseFunctions:[null,"int"]},booleanPrimitive:{regex:(0,l.default)("^(true)|(false)$"),parseFunctions:[null,"true","false"]}},Vc=(e,t,n,r)=>{var s=Fc[r];if(!s)throw new Error("Unknown expression "+r+" for predicate "+n);if(s.oneOf){var o=null;for(var a of s.oneOf){var i=Vc(e,t,n,a);if(!i.errors)return i;(!o||i.errors.length<o.length)&&(o=i.errors)}return{errors:o}}var u=l.default.exec(n,s.regex);if(u){var c=((e,t,n,r,s)=>{var o=Fc[r];if(!o)throw new Error("Unknown expression "+r+" for predicate "+n);if(!o.parseFunctions){var a=(e=>{for(var t=[[]],n=0,r=0,s=!1;e&&n<e.length;){switch(e[n]){case"\\":t[t.length-1].push(e[n]),"'"===e[n+1]&&(t[t.length-1].push(e[n+1]),n++);break;case"'":t[t.length-1].push(e[n]),s=!s;break;case"(":s?t[t.length-1].push(e[n]):(t[t.length-1].push(e[n]),r++);break;case")":s?t[t.length-1].push(e[n]):(t[t.length-1].push(e[n]),r--);break;case",":if(s||0!==r)t[t.length-1].push(e[n]);else for(t.push([]);" "===e[n+1];)n++;break;default:t[t.length-1].push(e[n])}n++}return t.map((e=>e.join("")))})(s[1]),i=o.argStructure,u=[];if(i.length>0){var c=[(S=i).map((e=>e[1][0])).reduce(((e,t)=>e+t)),S.filter((e=>null===e[1][1])).length>0];if(a.length<c[0])return{errors:"Expected at least "+c[0]+" args for '"+r+"', found "+a.length};if(!c[1]&&a.length>c[0])return{errors:"Expected at most "+c[0]+" args for '"+r+"', found "+a.length};for(var d=0,l=0,p=0;d<a.length;){var f=a[d],h=Vc(e,t,f,i[l][0]);if("breakOn"in o&&!f.errors&&h.data===o.breakOn)return h;u.push(h),d++,p++,i[l][1][1]&&p>=i[l][1][1]&&(l++,p=0)}}if(0===u.filter((e=>e.errors)).length){var m=u.map((e=>e.data));return{data:Gc[r](e,t,...m)}}return{errors:"Could not parse arguments to "+r+": "+a.filter((e=>e.errors)).map((e=>e.errors)).join("; ")}}var S,y=!1;for(var[g,v]of o.parseFunctions.entries())if(v&&s[g])return y=!0,{data:Lc[v](s[g])};if(!y)return{errors:"Could not parse predicate "+n}})(e,t,n,r,u);return c}return{errors:"Could not match "+n}},Uc=(e,t,n)=>({data:t.data.filter((t=>{var r=Vc(e,t,n,"booleanExpression");if(r.errors)throw new Error("Predicate - "+r.errors);return r.data}))}),Jc="(\\[(([^\\]']|'([^']|\\\\')*')+)\\])*",Hc=(e,t,n,r,s,o)=>{var a={};(0===s.size||s.has("id"))&&(a.id=e.unsuccinctifyScopes(t.bs)[0][2].split("/")[1]),(0===s.size||s.has("parentId"))&&(a.parentId=e.unsuccinctifyScopes(t.is).filter((e=>e[2].startsWith("tTreeParent"))).map((e=>e[2].split("/")[1]))[0]);var i={};for(var[u,c]of e.sequenceItemsByScopes([t],["tTreeContent/"],!1)){var d=u.filter((e=>e.startsWith("tTreeContent")))[0].split("/")[1];(0===s.size||s.has("content")||s.has("@"+d))&&(i[d]=c.filter((e=>"token"===e[0])).map((e=>e[2])).join(""))}Object.keys(i).length>0&&(a.content=i);var l=[];if(s.has("children"))for(var p of e.unsuccinctifyScopes(t.is).filter((e=>e[2].startsWith("tTreeChild"))).map((e=>e[2].split("/")[2])))l.push(p);return l.length>0&&(a.children=o?l.map((e=>n[r.get(e)])).map((t=>Hc(e,t,n,r,s,!0))):l),a},Kc=[{regex:(0,l.default)("^#\\{([^}]+)\\}"+Jc+"$"),doc:{title:"Nodes by Id",syntax:"#(id, id, ...)",description:"Returns nodes whose id is listed"},predicateCapture:3,inputType:null,outputType:"nodes",function:(e,t,n,r,s,o)=>{var a=o[1].split(",").map((e=>e.trim()));return{data:Array.from(a).map((e=>t[n.get(e)]))}}},{regex:(0,l.default)("^root"+Jc+"$"),doc:{title:"Root Node",syntax:"root",description:"Returns the root node"},predicateCapture:2,inputType:null,outputType:"nodes",function:(e,t)=>({data:[t[0]]})},{regex:(0,l.default)("^nodes"+Jc+"$"),doc:{title:"Nodes",syntax:"nodes",description:"Returns all the nodes"},predicateCapture:2,function:(e,t)=>({data:t}),inputType:null,outputType:"nodes"},{regex:(0,l.default)("^children(\\((\\d+)\\))?"+Jc+"$"),doc:{title:"Children",syntax:"children; children(pos)",description:"Returns the children of the current node(s), optionally filtered by position within the parent node"},predicateCapture:4,inputType:"nodes",outputType:"nodes",function:(e,t,n,r,s,o)=>{var a=o[2],i=new Set([]);for(var u of r.data){var c=e.unsuccinctifyScopes(u.is).map((e=>e[2].split("/"))).filter((e=>"tTreeChild"===e[0])).filter((e=>!a||e[1]===a)).map((e=>e[2]));for(var d of c)i.add(d)}return{data:Array.from(i).map((e=>t[n.get(e)]))}}},{regex:(0,l.default)("^descendants((\\((\\d+)(,\\s*(\\d+))?\\))?)"+Jc+"$"),doc:{title:"Descendants",syntax:"descendants; descendants(depth); descendants(depth, pos)",description:"Returns the descendants of the current node(s), optionally at the specified level, optionally filtered by position"},predicateCapture:7,inputType:"nodes",outputType:"nodes",function:(e,t,n,r,s,o)=>{var a=new Set([]),i=(r,s)=>{var o=e.unsuccinctifyScopes(r.is).filter((e=>e[2].startsWith("tTreeChild"))).map((e=>e[2].split("/")[2]));(s<=1||null===s)&&o.forEach((e=>a.add(e))),(null===s||s>1)&&o.map((e=>t[n.get(e)])).forEach((e=>i(e,s-1)))},u=null;o[3]&&(u=parseInt(o[3]));var c=-1;for(var d of(o[5]&&(c=parseInt(o[5])),r.data))i(d,u);return{data:[...Array.from(a).entries()].filter((e=>c<0||e[0]===c)).map((e=>e[1])).map((e=>t[n.get(e)]))}}},{regex:(0,l.default)("^leaves"+Jc+"$"),doc:{title:"Leaves",syntax:"leaves",description:"Returns the leaves (ie the nodes with no children) below the current node"},predicateCapture:2,inputType:"nodes",outputType:"nodes",function:(e,t,n,r)=>{var s=new Set([]),o=r=>{var a=e.unsuccinctifyScopes(r.is).filter((e=>e[2].startsWith("tTreeChild"))).map((e=>e[2].split("/")[2]));0===a.length?s.add(e.unsuccinctifyScopes(r.bs)[0][2].split("/")[1]):a.map((e=>t[n.get(e)])).forEach((e=>o(e)))};for(var a of r.data)o(a);return{data:Array.from(s).map((e=>t[n.get(e)]))}}},{regex:(0,l.default)("^parent"+Jc+"$"),doc:{title:"Parent",syntax:"parent",description:"Returns the parent of the current node"},predicateCapture:2,inputType:"nodes",outputType:"nodes",function:(e,t,n,r)=>{var s=new Set([]);for(var o of r.data){var a=e.unsuccinctifyScopes(o.is).filter((e=>e[2].startsWith("tTreeParent"))).map((e=>e[2].split("/")[1]))[0];s.add(a)}return{data:Array.from(s).map((e=>t[n.get(e)]))}}},{regex:(0,l.default)("^ancestor(\\((\\d+)\\))"+Jc+"$"),doc:{title:"Ancestor",syntax:"ancestor(depth)",description:"Returns the nth ancestor of the node"},predicateCapture:5,inputType:"nodes",outputType:"nodes",function:(e,t,n,r,s,o)=>{var a=parseInt(o[2]);if(a<1)return{errors:"Expected a positive integer argument for ancestor, found "+s};for(var i=r.data;a>0;){var u=new Set([]);for(var c of i){var d=e.unsuccinctifyScopes(c.is).filter((e=>e[2].startsWith("tTreeParent"))).map((e=>e[2].split("/")[1]))[0];u.add(d)}i=Array.from(u).map((e=>t[n.get(e)])),a--}return{data:i}}},{regex:(0,l.default)("^siblings"+Jc+"$"),doc:{title:"Siblings",syntax:"siblings",description:"Returns the children of the parent of the current node"},predicateCapture:2,inputType:"nodes",outputType:"nodes",function:(e,t,n,r)=>{var s=new Set([]);for(var o of r.data){var a=e.unsuccinctifyScopes(o.is).filter((e=>e[2].startsWith("tTreeParent"))).map((e=>e[2].split("/")[1]))[0];s.add(a)}var i=t.filter((t=>s.has(e.unsuccinctifyScopes(t.bs)[0][2].split("/")[1]))),u=new Set([]);for(var c of i){var d=e.unsuccinctifyScopes(c.is).filter((e=>e[2].startsWith("tTreeChild"))).map((e=>e[2].split("/")[2]));for(var l of d)u.add(l)}return{data:Array.from(u).map((e=>t[n.get(e)]))}}},{regex:(0,l.default)("^node(\\{([^}]+)\\})?"+Jc+"$"),doc:{title:"Node Details",syntax:"node; node{ id, parentId, content, children, @foo }",description:"Returns an object containing the specified content"},predicateCapture:4,inputType:"nodes",outputType:"node",function:(e,t,n,r,s,o)=>{var a=[],i=new Set([]);for(var u of(o[2]&&(i=new Set(o[2].split(",").map((e=>e.trim())))),r.data))a.push(Hc(e,u,t,n,i,!1));return{data:a}}},{regex:(0,l.default)("^branch(\\{([^}]+)\\})?"+Jc+"$"),doc:{title:"Branch",syntax:"branch; branch{ id, parentId, content, children, @foo }",description:"Returns nested objects containing the specified content"},predicateCapture:4,inputType:"nodes",outputType:"node",function:(e,t,n,r,s,o)=>{var a=[],i=new Set([]);for(var u of(o[2]&&(i=new Set(o[2].split(",").map((e=>e.trim())))),r.data))a.push(Hc(e,u,t,n,i,!0));return{data:a}}},{regex:(0,l.default)("^values(\\{([^}]+)\\})?"+Jc+"$"),doc:{title:"Values",syntax:"values{ @foo ... }",description:"Returns all values across nodes for the specified fields"},predicateCapture:4,inputType:"nodes",outputType:"values",function:(e,t,n,r,s,o)=>{var a=[],i=new Set([]);for(var u of(o[2]&&(i=new Set(o[2].split(",").map((e=>e.trim())).filter((e=>e.startsWith("@"))))),r.data))a.push(Hc(e,u,t,n,i,!0));var c={},d=function(e){c[e]=Array.from(new Set(a.filter((e=>e.content)).map((e=>e.content)).filter((t=>e in t)).map((t=>t[e])).sort()))};for(var l of Array.from(i).map((e=>e.substring(1))))d(l);return{data:c}}}];const Wc=class{constructor(){this.currentStepType=null}doStep(e,t,n,r,s){for(var o of Kc){var a=l.default.exec(s,o.regex);if(a&&o.inputType===this.currentStepType){var i=o.function(e,t,n,r,s,a);return a[o.predicateCapture]&&(i=Uc(e,i,a[o.predicateCapture])),this.currentStepType=o.outputType,i}}return{errors:"Unable to match step "+s}}parse1(e,t,n,r,s){if(s.length>0){var o=this.doStep(e,t,n,r,s[0]);return o.errors||0===o.data.length?o:this.parse1(e,t,n,o,s.slice(1))}return r}queryArray(e){var t=[];for(var n of e.split("/"))t.push(n);return t}indexNodes(e,t){var n=new Map;for(var[r,s]of t.entries()){var o=e.unsuccinctifyScopes(s.bs)[0][2].split("/")[1];n.set(o,r)}return n}doc(){return"** Steps **\n\n"+Kc.map((e=>e.doc)).map((e=>"* "+e.title+" *\n"+e.syntax+"\n"+e.description)).join("\n\n")+"** Predicate Operators **\n\n"+Object.values(Fc).filter((e=>e.doc)).map((e=>e.doc.operator+"("+e.doc.args.map((e=>"<"+e+">")).join(", ")+") => "+e.doc.result+"\n"+e.doc.description)).join("\n\n")}parse(e,t,n){var r=this.parse1(e,t,this.indexNodes(e,t),{data:t},this.queryArray(n));return r.data&&"nodes"===this.currentStepType&&(r.data=r.data.map((t=>({id:e.unsuccinctifyScopes(t.bs)[0][2].split("/")[1]})))),JSON.stringify(r,null,2)}};var Xc={nNodes:e=>e.blocks.length,nodes:e=>e.blocks,tribos:(e,t,n)=>(new Wc).parse(n.docSet,e.blocks,t.query),triboi:(e,t,n)=>t.queries.map((t=>(new Wc).parse(n.docSet,e.blocks,t))),tribosDoc:()=>(new Wc).doc(),tags:e=>Array.from(e.tags),tagsKv:e=>Array.from(e.tags).map((e=>e.includes(":")?[e.substring(0,e.indexOf(":")),e.substring(e.indexOf(":")+1)]:[e,""])),hasTag:(e,t)=>e.tags.has(t.tagName)},Yc={cBL:e=>e.c.length,bgBL:e=>e.bg.length,osBL:e=>e.os.length,isBL:e=>e.is.length,ntBL:e=>e.nt.length,cL:(e,t,n)=>n.docSet.countItems(e.c),bgL:(e,t,n)=>n.docSet.countItems(e.bg),osL:(e,t,n)=>n.docSet.countItems(e.os),isL:(e,t,n)=>n.docSet.countItems(e.is),is:(e,t,n)=>n.docSet.unsuccinctifyScopes(e.is),os:(e,t,n)=>n.docSet.unsuccinctifyScopes(e.os),bs:(e,t,n)=>{var[r,s,o]=vi.succinct.headerBytes(e.bs,0);return n.docSet.unsuccinctifyScope(e.bs,s,o,0)},bg:(e,t,n)=>n.docSet.unsuccinctifyGrafts(e.bg),nt:e=>e.nt.nByte(0),items:(e,t,n)=>{if(t.withScopes&&t.withScriptureCV)throw new Error("Cannot specify both withScopes and withScriptureCV");return t.withScriptureCV?n.docSet.unsuccinctifyItemsWithScriptureCV(e,t.withScriptureCV,{},t.includeContext||!1):n.docSet.unsuccinctifyPrunedItems(e,{tokens:!0,scopes:!0,grafts:!0,requiredScopes:t.withScopes||[],anyScope:t.anyScope||!1})},tokens:(e,t,n)=>{if(Object.keys(t).filter((e=>e.includes("Chars"))).length>1)throw new Error('Only one of "withChars", "withAnyCaseChars" and "withCharsMatchingRegex" may be specified');var r;return r=t.withScriptureCV?n.docSet.unsuccinctifyItemsWithScriptureCV(e,t.withScriptureCV,{tokens:!0},t.includeContext||!1):n.docSet.unsuccinctifyPrunedItems(e,{tokens:!0,scopes:!0,requiredScopes:t.withScopes||[],anyScope:t.anyScope||!1}),t.withSubTypes&&(r=r.filter((e=>t.withSubTypes.includes(e[1])))),t.withChars?r=r.filter((e=>t.withChars.includes(e[2]))):t.withMatchingChars&&(r=r.filter((e=>{for(var n of t.withMatchingChars)if(l.default.test(e,(0,l.default)(n)))return!0;return!1}))),r.filter((e=>"token"===e[0]))},text:(e,t,n)=>{var r=(t.withScriptureCV?n.docSet.unsuccinctifyItemsWithScriptureCV(e,t.withScriptureCV,{tokens:!0},!1):n.docSet.unsuccinctifyItems(e.c,{tokens:!0},null)).map((e=>e[2])).join("").trim();return t.normalizeSpace&&(r=r.replace(/[ \t\n\r]+/g," ")),r},itemGroups:(e,t,n)=>{if(t.byScopes&&t.byMilestones)throw new Error("Cannot specify both byScopes and byMilestones");if(!t.byScopes&&!t.byMilestones)throw new Error("Must specify either byScopes or byMilestones");return t.byScopes?n.docSet.sequenceItemsByScopes([e],t.byScopes):n.docSet.sequenceItemsByMilestones([e],t.byMilestones)},dump:(e,t,n)=>{return r=n.docSet.unsuccinctifyBlock(e,{},null),s=["Block:"],r.bg.length>0&&r.bg.forEach((e=>s.push(" "+e[1]+" graft to "+e[2]))),s.push(" Scope "+r.bs[2]),s.push(" "+Oc(r.c)),s.join("\n");var r,s},scopeLabels:(e,t,n)=>[...n.docSet.unsuccinctifyBlockScopeLabelsSet(e)].filter((e=>!t.startsWith||((e,t)=>{if(0===e.length)return!0;for(var n of e)if(t.startsWith(n))return!0;return!1})(t.startsWith,e)))},zc=(e,t,n)=>{var r=[t.map((t=>[vi.enums.enumStringIndex(e.enums.wordLike,t)]))];return n?r[0]:r.map((e=>e.reduce(((e,t)=>e.concat(t)))))},Zc=(e,t,n)=>{var r=[t.map((t=>vi.enums.enumRegexIndexTuples(e.enums.wordLike,t).map((e=>e[0]))))];return n?r[0]:r.map((e=>e.reduce(((e,t)=>e.concat(t)))))},Qc=(e,t,n)=>{if(n&&t.filter((e=>0===e.length)).length>0)return!1;if(0===(t=t.filter((e=>e.length>0))).length)return!1;for(var r of t){var s=!1;for(var o of r)if(o>=0&&e.tokensPresent.get(o)>0){s=!0;break}if(n&&!s)return!1;if(!n&&s)return!0}return n},ed=(e,t,n,r)=>{var s=zc(e,n,r);return Qc(t,s,r)},td=(e,t,n,r)=>{var s=Zc(e,n,r);return Qc(t,s,r)},nd={tokens:!1,scopes:!0,grafts:!1,requiredScopes:[]},rd={nBlocks:e=>e.blocks.length,blocks:(e,t,n)=>{if(n.docSet.maybeBuildEnumIndexes(),t.withScopes&&t.withScriptureCV)throw new Error("Cannot specify both withScopes and withScriptureCV");if(t.attSpecs&&!t.attValues)throw new Error("Cannot specify attSpecs without attValues");if(!t.attSpecs&&t.attValues)throw new Error("Cannot specify attValues without attSpecs");if(t.attSpecs&&t.attValues&&t.attSpecs.length!==t.attValues.length)throw new Error("attSpecs and attValues must be same length");if(t.withChars&&t.withMatchingChars)throw new Error("Cannot specify both withChars and withMatchingChars");var r=e.blocks;if(t.positions&&(r=Array.from(r.entries()).filter((e=>t.positions.includes(e[0]))).map((e=>e[1]))),t.withScopes&&(r=r.filter((e=>n.docSet.allScopesInBlock(e,t.withScopes)))),t.withScriptureCV&&(r=n.docSet.blocksWithScriptureCV(r,t.withScriptureCV)),t.attSpecs&&(r=r.filter((e=>((e,t,n,r,s)=>{var o=new Set([]);for(var a of e.unsuccinctifyPrunedItems(t,nd,!1)){var[i,u,c,d,l,p]=a[2].split("/");for(var[f,h]of n.entries()){for(var m of h)if(u===m.attType&&c===m.tagName&&d===m.attKey&&parseInt(l)===m.valueN&&r[f].includes(p)){if(!s)return!0;o.add(f);break}if(o.size===n.length)return!0}}return!1})(n.docSet,e,t.attSpecs,t.attValues,t.allAtts||!1)))),t.withBlockScope&&(r=r.filter((e=>n.docSet.blockHasBlockScope(e,t.withBlockScope)))),t.withChars){if("main"===e.type&&!ed(n.docSet,e,t.withChars,t.allChars))return[];var s=zc(n.docSet,t.withChars,t.allChars),o=function(e){r=r.filter((t=>n.docSet.blockHasChars(t,e)))};for(var a of s)o(a)}if(t.withMatchingChars){if("main"===e.type&&!td(n.docSet,e,t.withMatchingChars,t.allChars))return[];var i=Zc(n.docSet,t.withMatchingChars,t.allChars),u=function(e){r=r.filter((t=>n.docSet.blockHasChars(t,e)))};for(var c of i)u(c)}return r},blocksItems:(e,t,n)=>e.blocks.map((e=>n.docSet.unsuccinctifyItems(e.c,{},null))),blocksTokens:(e,t,n)=>e.blocks.map((e=>n.docSet.unsuccinctifyItems(e.c,{tokens:!0},null))),blocksText:(e,t,n)=>e.blocks.map((e=>{var r=n.docSet.unsuccinctifyItems(e.c,{tokens:!0},null).map((e=>e[2])).join("");return t.normalizeSpace&&(r=r.replace(/[ \t\n\r]+/g," ")),r})),text:(e,t,n)=>{var r=e.blocks.map((e=>n.docSet.unsuccinctifyItems(e.c,{tokens:!0},null).map((e=>e[2])).join(""))).join("\n");return t.normalizeSpace&&(r=r.replace(/[ \t\n\r]+/g," ")),r},itemGroups:(e,t,n)=>{if(t.byScopes&&t.byMilestones)throw new Error("Cannot specify both byScopes and byMilestones");if(!t.byScopes&&!t.byMilestones)throw new Error("Must specify either byScopes or byMilestones");return t.byScopes?n.docSet.sequenceItemsByScopes(e.blocks,t.byScopes):n.docSet.sequenceItemsByMilestones(e.blocks,t.byMilestones)},tags:e=>Array.from(e.tags),tagsKv:e=>Array.from(e.tags).map((e=>e.includes(":")?[e.substring(0,e.indexOf(":")),e.substring(e.indexOf(":")+1)]:[e,""])),hasTag:(e,t)=>e.tags.has(t.tagName),wordLikes:(e,t,n)=>{if("main"!==e.type)throw new Error("Only available for the main sequence, not "+e.type);if(t.coerceCase&&!["toLower","toUpper","none"].includes(t.coerceCase))throw new Error("coerceCase, when present, must be 'toLower', 'toUpper' or 'none', not '"+t.coerceCase+"'");n.docSet.maybeBuildEnumIndexes();var r=new Set,s=0;for(var o of e.tokensPresent){if(o){var a=n.docSet.enumIndexes.wordLike[s],i=n.docSet.enums.wordLike.countedString(a);"toLower"===t.coerceCase&&(i=i.toLowerCase()),"toUpper"===t.coerceCase&&(i=i.toUpperCase()),r.add(i)}s++}return Array.from(r).sort()},hasChars:(e,t,n)=>{if("main"!==e.type)throw new Error("Only available for the main sequence, not "+e.type);return ed(n.docSet,e,t.chars,t.allChars||!1)},hasMatchingChars:(e,t,n)=>{if("main"!==e.type)throw new Error("Only available for the main sequence, not "+e.type);return td(n.docSet,e,t.chars,t.allChars)}},sd=(e,t)=>{var n=e,r=function(e){"scope"===e[0]&&("start"===e[1]?0===n.filter((t=>t===e[2])).length&&n.push(e[2]):n=n.filter((t=>t!==e[2])))};for(var s of t)r(s);return n},od=(e,t)=>0!==t.length&&(!(!e.includes("chapter/"+t[0][0])||t[0][1]&&!(e.filter((e=>e.startsWith("verse/")&&parseInt(e.split("/")[1])>=t[0][1])).length>0)||t[0][2]&&!(e.filter((e=>e.startsWith("verse/")&&parseInt(e.split("/")[1])<=t[0][2])).length>0))||od(e,t.slice(1))),ad=(e,t,n,r,s,o)=>{var[a,i]=r.split(":").map((e=>parseInt(e))),[u,c]=s.split(":").map((e=>parseInt(e)));if(u<a)throw new Error("cv chapterVerses requires fromChapter <= toChapter, not "+a+" to "+u);for(var d=[],l=a;l<=u;)d.push([l,l===a?i:null,l===u?c:null]),l++;return t.docSet.sequenceItemsByScopes(n.blocks,["chapter/","verse/"],o).filter((e=>od(e[0],d)))},id=(e,t,n,r,s)=>{n.docSet=e.processor.docSets[e.docSetId];var o=e.sequences[e.mainId];if(!t.chapter&&!t.chapterVerses)throw new Error("Must specify either chapter or chapterVerses for cv");if(t.chapter&&t.chapterVerses)throw new Error("Must not specify both chapter and chapterVerses for cv");if(t.chapterVerses&&t.verses)throw new Error("Must not specify both chapterVerses and verses for cv");return t.chapter?((e,t,n,r,s,o)=>{if(t.chapter&&!t.verses)return((e,t,n,r,s)=>{var o=e.chapterIndex(r);if(o){var a=n.blocks[o.startBlock];return[[sd(t.docSet.unsuccinctifyScopes(a.os).map((e=>e[2])),t.docSet.unsuccinctifyItems(a.c,{},0,[]).slice(0,o.startItem+1).filter((e=>"scope"===e[0]))),t.docSet.itemsByIndex(n,o,s||!1).reduce(((e,t)=>e.concat([["token","lineSpace"," "]].concat(t))))]]}return[]})(e,n,r,t.chapter,t.includeContext);if(t.verses)return((e,t,n,r,s,o,a,i)=>{var u=t.docSet,c=e.headers.bookCode,d=s.map((e=>[parseInt(r),parseInt(e)]));if(a){var l=e.processor.docSets[i];if(l&&(u=l),"forward"in n.verseMapping&&r in n.verseMapping.forward){var p=[];for(var f of s)p.push(vi.versification.mapVerse(n.verseMapping.forward[r],e.headers.bookCode,r,f));var h=p[0];c=h[0],d=h[1]}var m=u.documentWithBook(c);if(m){var S=m.sequences[m.mainId];if(S.verseMapping&&"reversed"in S.verseMapping){var y=[];for(var[g,v]of d)""+g in S.verseMapping.reversed?y.push(vi.versification.mapVerse(S.verseMapping.reversed[""+g],c,g,v)):y.push([c,[[g,v]]]),c=y[0][0],d=y.map((e=>e[1])).reduce(((e,t)=>e.concat(t)))}}}var b={},E=u.documentWithBook(c);if(!E)return[];var A=E.sequences[E.mainId];for(var T of d.map((e=>e[0])))T in b||(b[T]=E.chapterVerseIndex(T));var w=[];for(var[k,P]of d)if(b[k]){var I=[],N=void 0,O=void 0;if(b[k][P]){for(var _ of b[k][P])N||(N=_.startBlock,O=_.startItem),I=I.concat(u.itemsByIndex(A,_,o||null).reduce(((e,t)=>e.concat([["token","lineSpace"," "]].concat(t)))));var x=A.blocks[N];w.push([sd(u.unsuccinctifyScopes(x.os).map((e=>e[2])),u.unsuccinctifyItems(x.c,{},0,[]).slice(0,O+1).filter((e=>"scope"===e[0]))),I])}}return w})(e,n,r,t.chapter,t.verses,t.includeContext,s,o);throw new Error("Unexpected args to do_cv_separate_args")})(e,t,n,o,r,s):((e,t,n,r)=>{if(l.default.test(t.chapterVerses,(0,l.default)("^[0-9]+:[0-9]+-[0-9]+:[0-9]+$"))){var[s,o]=t.chapterVerses.split("-");return ad(0,n,r,s,o,t.includeContext)}if(l.default.test(t.chapterVerses,(0,l.default)("^[0-9]+:[0-9]+-[0-9]+$"))){var[a,i]=t.chapterVerses.split(":"),[u,c]=i.split("-");return ad(0,n,r,a+":"+u,a+":"+c,t.includeContext)}if(l.default.test(t.chapterVerses,(0,l.default)("^[0-9]+:[0-9]+$"))){var[d,p]=t.chapterVerses.split(":");return ad(0,n,r,d+":"+p,d+":"+p,t.includeContext)}if(l.default.test(t.chapterVerses,(0,l.default)("^[0-9]+$"))){var f=t.chapterVerses,h=e.chapterVerseIndex(f);if(!h)throw new Error("No chapter "+f+" found");var m=h.map(((e,t)=>[t,e])).filter((e=>e[1].length>0)).map((e=>e[0]));return ad(0,n,r,f+":"+Math.min(m),f+":"+Math.max(m),t.includeContext)}throw new Error("Could not parse chapterVerses string '"+t.chapterVerses+"'")})(e,t,n,o)};function ud(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function cd(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var dd=(e,t)=>t in e.headers?e.headers[t]:null,ld={idParts:e=>{var t=dd(e,"id");if(!t)return[null,null];var n=l.default.exec(t,/^(P\d\d)\s+([A-Z0-6]{3})\s+(\S+)\s+-\s+(.*)/);if(n)return["periph",n.slice(1)];var r=l.default.exec(t,/^([A-Z0-6]{3})\s+(.*)/);return r?["book",r.slice(1)]:[null,[t]]},headers:e=>Object.entries(e.headers),header:(e,t)=>dd(e,t.id),mainSequence:(e,t,n)=>(n.docSet=e.processor.docSets[e.docSetId],e.sequences[e.mainId]),nSequences:(e,t,n)=>(n.docSet=e.processor.docSets[e.docSetId],Object.keys(e.sequences).length),sequences:(e,t,n)=>{n.docSet=e.processor.docSets[e.docSetId];var r=Object.values(e.sequences);return t.ids&&(r=r.filter((e=>t.ids.includes(e.id)))),t.types&&(r=r.filter((e=>t.types.includes(e.type)))),t.withTags&&(r=r.filter((e=>t.withTags.filter((t=>e.tags.has(t))).length===t.withTags.length))),t.withoutTags&&(r=r.filter((e=>0===t.withoutTags.filter((t=>e.tags.has(t))).length))),r},tableSequences:(e,t,n)=>{n.docSet=e.processor.docSets[e.docSetId];var r=Object.values(e.sequences);return r=r.filter((e=>"table"===e.type)),t.ids&&(r=r.filter((e=>t.ids.includes(e.id)))),t.withTags&&(r=r.filter((e=>t.withTags.filter((t=>e.tags.has(t))).length===t.withTags.length))),t.withoutTags&&(r=r.filter((e=>0===t.withoutTags.filter((t=>e.tags.has(t))).length))),r},treeSequences:(e,t,n)=>{n.docSet=e.processor.docSets[e.docSetId];var r=Object.values(e.sequences);return r=r.filter((e=>"tree"===e.type)),t.ids&&(r=r.filter((e=>t.ids.includes(e.id)))),t.withTags&&(r=r.filter((e=>t.withTags.filter((t=>e.tags.has(t))).length===t.withTags.length))),t.withoutTags&&(r=r.filter((e=>0===t.withoutTags.filter((t=>e.tags.has(t))).length))),r},kvSequences:(e,t,n)=>{n.docSet=e.processor.docSets[e.docSetId];var r=Object.values(e.sequences);return r=r.filter((e=>"kv"===e.type)),t.ids&&(r=r.filter((e=>t.ids.includes(e.id)))),t.withTags&&(r=r.filter((e=>t.withTags.filter((t=>e.tags.has(t))).length===t.withTags.length))),t.withoutTags&&(r=r.filter((e=>0===t.withoutTags.filter((t=>e.tags.has(t))).length))),r},textSequences:(e,t,n)=>{n.docSet=e.processor.docSets[e.docSetId];var r=Object.values(e.sequences);return r=r.filter((e=>"tree"!==e.type&&"table"!==e.type&&"kv"!==e.type)),t.ids&&(r=r.filter((e=>t.ids.includes(e.id)))),t.withTags&&(r=r.filter((e=>t.withTags.filter((t=>e.tags.has(t))).length===t.withTags.length))),t.withoutTags&&(r=r.filter((e=>0===t.withoutTags.filter((t=>e.tags.has(t))).length))),r},sequence:(e,t,n)=>{n.docSet=e.processor.docSets[e.docSetId];var r=Object.values(e.sequences);return(r=r.filter((e=>t.id.includes(e.id))))[0]||null},tableSequence:(e,t,n)=>{n.docSet=e.processor.docSets[e.docSetId];var r=Object.values(e.sequences);if((r=r.filter((e=>t.id.includes(e.id))))[0]&&"table"!==r[0].type)throw new Error("Expected sequence id "+r[0].id+" to be of type 'table', not '"+r[0].type+"'");return r[0]||null},treeSequence:(e,t,n)=>{n.docSet=e.processor.docSets[e.docSetId];var r=Object.values(e.sequences);if((r=r.filter((e=>t.id.includes(e.id))))[0]&&"tree"!==r[0].type)throw new Error("Expected sequence id "+r[0].id+" to be of type 'tree', not '"+r[0].type+"'");return r[0]||null},kvSequence:(e,t,n)=>{n.docSet=e.processor.docSets[e.docSetId];var r=Object.values(e.sequences);if((r=r.filter((e=>t.id.includes(e.id))))[0]&&"vk"!==r[0].type)throw new Error("Expected sequence id "+r[0].id+" to be of type 'kv', not '"+r[0].type+"'");return r[0]||null},mainBlocks:(e,t,n)=>(n.docSet=e.processor.docSets[e.docSetId],e.sequences[e.mainId].blocks),mainBlocksItems:(e,t,n)=>(n.docSet=e.processor.docSets[e.docSetId],e.sequences[e.mainId].blocks.map((e=>n.docSet.unsuccinctifyItems(e.c,{},null)))),mainBlocksTokens:(e,t,n)=>(n.docSet=e.processor.docSets[e.docSetId],e.sequences[e.mainId].blocks.map((e=>n.docSet.unsuccinctifyItems(e.c,{tokens:!0},null)))),mainBlocksText:(e,t,n)=>(n.docSet=e.processor.docSets[e.docSetId],e.sequences[e.mainId].blocks.map((e=>{var r=n.docSet.unsuccinctifyItems(e.c,{tokens:!0},null).map((e=>e[2])).join("").trim();return t.normalizeSpace&&(r=r.replace(/[ \t\n\r]+/g," ")),r}))),mainText:(e,t,n)=>(n.docSet=e.processor.docSets[e.docSetId],e.sequences[e.mainId].blocks.map((e=>{var r=n.docSet.unsuccinctifyItems(e.c,{tokens:!0},null).map((e=>e[2])).join("").trim();return t.normalizeSpace&&(r=r.replace(/[ \t\n\r]+/g," ")),r})).join("\n")),tags:e=>Array.from(e.tags),tagsKv:e=>Array.from(e.tags).map((e=>e.includes(":")?[e.substring(0,e.indexOf(":")),e.substring(e.indexOf(":")+1)]:[e,""])),hasTag:(e,t)=>e.tags.has(t.tagName),cv:(e,t,n)=>id(e,t,n,!1),mappedCv:(e,t,n)=>{if(1!==t.verses.length)throw new Error("mappedCv expects exactly one verse, not "+t.verses.length);return id(e,t,n,!0,t.mappedDocSetId)},mappedCvs:(e,t,n)=>{var r=e.chapterVerseIndex(t.chapter).filter((e=>e.length>0)).map((e=>e[0].verses)),s=[],o=function(r){s.push(id(e,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ud(Object(n),!0).forEach((function(t){cd(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ud(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},t,{verses:[r]}),n,!0,t.mappedDocSetId).map((e=>[["fromChapter/"+t.chapter,"fromVerse/"+r,...e[0]],e[1]])))};for(var a of r)o(a);return s},cvNavigation:(e,t)=>[t.chapter,t.verse,e.chapterVerseIndex((parseInt(t.chapter)-1).toString()),e.chapterVerseIndex(t.chapter),e.chapterVerseIndex((parseInt(t.chapter)+1).toString())],cvIndexes:(e,t,n)=>(n.docSet=e.processor.docSets[e.docSetId],n.doc=e,Object.entries(e.chapterVerseIndexes())),cvIndex:(e,t,n)=>(n.docSet=e.processor.docSets[e.docSetId],n.doc=e,[t.chapter,e.chapterVerseIndex(t.chapter)||[]]),cIndexes:(e,t,n)=>(n.docSet=e.processor.docSets[e.docSetId],n.doc=e,Object.entries(e.chapterIndexes())),cIndex:(e,t,n)=>{n.docSet=e.processor.docSets[e.docSetId],n.doc=e;var r=e.chapterIndex(t.chapter);return[t.chapter,r||{}]},cvMatching:(e,t,n)=>{if(!t.withChars&&!t.withMatchingChars&&!t.withScopes)throw new Error("Must specify at least one of withChars or withMatchingChars or withScopes");if(t.withChars&&t.withMatchingChars)throw new Error("Must not specify both withChars and withMatchingChars");var r;n.docSet=e.processor.docSets[e.docSetId],t.withChars&&t.allChars?r=t.withChars.map((e=>(0,l.default)("^"+e+"$"))):t.withChars?r=[l.default.union(t.withChars.map((e=>(0,l.default)("^"+e+"$","i"))))]:t.withMatchingChars&&t.allChars?r=t.withMatchingChars.map((e=>(0,l.default)(e,"i"))):t.withMatchingChars&&(r=[l.default.union(t.withMatchingChars.map((e=>(0,l.default)(e,"i"))))]);var s=e=>{for(var n of t.withScopes||[])if(!e.includes(n))return!1;return!0},o=e=>{var n=t.withScopes||[];for(var r of n)if(e.includes(r))return!0;return 0===n.length};return n.docSet.sequenceItemsByScopes(e.sequences[e.mainId].blocks,["chapter/","verses/"]).filter((e=>(t.allScopes?s:o)(e[1].filter((e=>"scope"===e[0]&&"start"===e[1])).map((e=>e[2])))&&(e=>{for(var t of r||[]){var n=!1;for(var s of e)if(l.default.test(s[2],t)){n=!0;break}if(!n)return!1}return!0})(e[1])))},perf:(e,t)=>e.perf(t.indent),usfm:e=>e.usfm(),sofria:(e,t)=>e.sofria(t.indent,t.chapter)},pd={paratext:(e,t)=>{var n=e.headers.bookCode||"GEN",r=t.headers.bookCode||"GEN";return(vi.canons.ptBooks[n]?vi.canons.ptBooks[n].position:999)-(vi.canons.ptBooks[r]?vi.canons.ptBooks[r].position:999)},alpha:(e,t)=>{var n=e.headers.bookCode||"GEN",r=t.headers.bookCode||"GEN";return n.localeCompare(r)},alpha2:(e,t)=>{var n=[1,2,3,4,5,6],r=e.headers.bookCode||"GEN";n.includes(r[0])&&(r=r.substring(1)+r[0]);var s=t.headers.bookCode||"GEN";return n.includes(s[0])&&(s=s.substring(1)+s[0]),r.localeCompare(s)}},fd='\n"""A collection of documents that share the same set of selector values"""\ntype DocSet {\n """The id of the docSet, which is formed by concatenating the docSet\'s selector values"""\n id: String!\n """The selectors of the docSet"""\n selectors: [KeyValue!]!\n """A selector for this docSet"""\n selector(\n """The id of the selector"""\n id: String!\n ): String!\n """A list of the tags of this docSet"""\n tags: [String!]!\n """A list of the tags of this docSet as key/value tuples"""\n tagsKv: [KeyValue!]!\n """Whether or not the docSet has the specified tag"""\n hasTag(\n """The tag"""\n tagName: String!\n ): Boolean!\n """The documents in the docSet"""\n documents(\n """A whitelist of ids of documents to include"""\n ids: [String!]\n """A whitelist of ids of documents to include"""\n withChars: [String!]\n """Return documents whose main sequence contains a token whose payload is an exact match to one of the specified strings"""\n withMatchingChars: [String!]\n """If true, documents where all search terms match will be included"""\n allChars: Boolean\n """Only return documents where the list of scopes is used"""\n withScopes: [String!]\n """If true, documents where all scopes are found will be included"""\n allScopes: Boolean\n """Only return documents with the specified header key/values"""\n withHeaderValues: [InputKeyValue!]\n """Only return documents with all the specified tags"""\n withTags: [String!]\n """Only return documents with none of the specified tags"""\n withoutTags: [String!]\n """Sort returned documents by the designated method (currently '+Object.keys(pd).join(", ")+')`"""\n sortedBy: String\n ): [Document!]!\n """The number of documents in the docSet"""\n nDocuments: Int!\n """A document in the docSet, if present"""\n document(\n """The book code of the required document"""\n bookCode: String!\n ): Document\n """Whether the docSet has versification information loaded"""\n hasMapping: Boolean!\n """The internal index number corresponding to a string in a given docSet enum"""\n enumIndexForString(\n """The enum to be searched"""\n enumType: String!\n """The string to match"""\n searchString: String!\n ): Int!\n """Information about internal indexes matching the case-insensitive regex in a given docSet enum"""\n enumRegexIndexesForString(\n """The enum to be searched"""\n enumType: String!\n """The regex to match"""\n searchRegex: String!\n ): [regexIndex!]!\n """A list of wordLike token strings in the docSet"""\n wordLikes(\n """Whether to coerce the strings (toLower|toUpper|none)"""\n coerceCase: String\n ): [String!]!\n """A list of unique characters in the docSet"""\n uniqueChars: [String!]!\n """A string containing the unique characters in the docSet"""\n uniqueCharsString: String!\n }\n',hd={selectors:e=>Object.entries(e.selectors),selector:(e,t)=>e.selectors[t.id],tags:e=>Array.from(e.tags),tagsKv:e=>Array.from(e.tags).map((e=>e.includes(":")?[e.substring(0,e.indexOf(":")),e.substring(e.indexOf(":")+1)]:[e,""])),hasTag:(e,t)=>e.tags.has(t.tagName),documents:(e,t,n)=>{if(t.withChars&&t.withMatchingChars)throw new Error("Cannot specify both withChars and withMatchingChars");n.docSet=e;var r=e.documents();if(t.ids&&(r=r.filter((e=>t.ids.includes(e.id)))),t.withChars&&(r=r.filter((n=>ed(e,n.sequences[n.mainId],t.withChars,t.allChars)))),t.withMatchingChars&&(r=r.filter((n=>td(e,n.sequences[n.mainId],t.withMatchingChars,t.allChars)))),t.withScopes&&(r=r.filter((e=>{var r,s=(r=e,new Set(r.sequences[r.mainId].blocks.map((e=>n.docSet.unsuccinctifyBlockScopeLabelsSet(e))).map((e=>Array.from(e))).reduce(((e,t)=>e.concat(t))))),o=t.allScopes?t.withScopes.length:1;return t.withScopes.filter((e=>s.has(e))).length>=o}))),t.withHeaderValues&&(r=r.filter((e=>((e,t)=>{for(var n of t||[])if(!(n.key in e)||e[n.key]!==n.value)return!1;return!0})(e.headers,t.withHeaderValues)))),t.withTags&&(r=r.filter((e=>t.withTags.filter((t=>e.tags.has(t))).length===t.withTags.length))),t.withoutTags&&(r=r.filter((e=>0===t.withoutTags.filter((t=>e.tags.has(t))).length))),t.sortedBy){if(!(t.sortedBy in pd))throw new Error("sortedBy value must be one of ["+Object.keys(pd)+"], not "+t.sortedBy);r.sort(pd[t.sortedBy])}return r},nDocuments:(e,t,n)=>(n.docSet=e,e.documents().length),document:(e,t)=>e.documentWithBook(t.bookCode),hasMapping:e=>e.tags.has("hasMapping"),enumIndexForString:(e,t)=>vi.enums.enumStringIndex(e.enums[t.enumType],t.searchString),enumRegexIndexesForString:(e,t)=>vi.enums.enumRegexIndexTuples(e.enums[t.enumType],t.searchRegex),wordLikes:(e,t)=>{if(t.coerceCase&&!["toLower","toUpper","none"].includes(t.coerceCase))throw new Error("coerceCase, when present, must be 'toLower', 'toUpper' or 'none', not '"+t.coerceCase+"'");var n=vi.succinct.unpackEnum(e.enums.wordLike);return"toLower"===t.coerceCase&&(n=n.map((e=>e.toLowerCase()))),"toUpper"===t.coerceCase&&(n=n.map((e=>e.toUpperCase()))),Array.from(new Set(n))},uniqueChars:e=>{var t=new Set([]);for(var n of[...vi.succinct.unpackEnum(e.enums.wordLike),...vi.succinct.unpackEnum(e.enums.notWordLike)])for(var r of n.split(""))t.add(r);return Array.from(t).sort()},uniqueCharsString:e=>{var t=new Set([]);for(var n of[...vi.succinct.unpackEnum(e.enums.wordLike),...vi.succinct.unpackEnum(e.enums.notWordLike)])for(var r of n.split(""))t.add(r);return Array.from(t).sort().join("")}},md={eng:{raw:'# Versification "English"\n# Version=2.0\n#\n# modifications by Reinier de Blois 13/March/2012\n# modified mappings Psalms by adding verse #0 to the mappings\n# many of the subscripts that are part of verses 1,2 in the original text end up as verse #0 in English translations\n\n# modifications by Studge 26/June/2009\n# book definitions are for all books printed in any English of Spanish Bible\n# this includes books for Protestant, Catholic and Protestant-Catholic-EasternOrthodox Interconfessional editions\n#\n# This is the versification used by most English (e.g. RSV) and Spanish Bibles (e.g. RVR)\n#\n# List of books, chapters, verses\n# One line per book.\n# One entry for each chapter.\n# Verse number is the maximum verse number for that chapter.\n# See the lines containing =\'s below for verse mappings.\n#\n#--------------------------------------------------\n# Old Testament\nGEN 1:31 2:25 3:24 4:26 5:32 6:22 7:24 8:22 9:29 10:32 11:32 12:20 13:18 14:24 15:21 16:16 17:27 18:33 19:38 20:18 21:34 22:24 23:20 24:67 25:34 26:35 27:46 28:22 29:35 30:43 31:55 32:32 33:20 34:31 35:29 36:43 37:36 38:30 39:23 40:23 41:57 42:38 43:34 44:34 45:28 46:34 47:31 48:22 49:33 50:26\nEXO 1:22 2:25 3:22 4:31 5:23 6:30 7:25 8:32 9:35 10:29 11:10 12:51 13:22 14:31 15:27 16:36 17:16 18:27 19:25 20:26 21:36 22:31 23:33 24:18 25:40 26:37 27:21 28:43 29:46 30:38 31:18 32:35 33:23 34:35 35:35 36:38 37:29 38:31 39:43 40:38\nLEV 1:17 2:16 3:17 4:35 5:19 6:30 7:38 8:36 9:24 10:20 11:47 12:8 13:59 14:57 15:33 16:34 17:16 18:30 19:37 20:27 21:24 22:33 23:44 24:23 25:55 26:46 27:34\nNUM 1:54 2:34 3:51 4:49 5:31 6:27 7:89 8:26 9:23 10:36 11:35 12:16 13:33 14:45 15:41 16:50 17:13 18:32 19:22 20:29 21:35 22:41 23:30 24:25 25:18 26:65 27:23 28:31 29:40 30:16 31:54 32:42 33:56 34:29 35:34 36:13\nDEU 1:46 2:37 3:29 4:49 5:33 6:25 7:26 8:20 9:29 10:22 11:32 12:32 13:18 14:29 15:23 16:22 17:20 18:22 19:21 20:20 21:23 22:30 23:25 24:22 25:19 26:19 27:26 28:68 29:29 30:20 31:30 32:52 33:29 34:12\nJOS 1:18 2:24 3:17 4:24 5:15 6:27 7:26 8:35 9:27 10:43 11:23 12:24 13:33 14:15 15:63 16:10 17:18 18:28 19:51 20:9 21:45 22:34 23:16 24:33\nJDG 1:36 2:23 3:31 4:24 5:31 6:40 7:25 8:35 9:57 10:18 11:40 12:15 13:25 14:20 15:20 16:31 17:13 18:31 19:30 20:48 21:25\nRUT 1:22 2:23 3:18 4:22\n1SA 1:28 2:36 3:21 4:22 5:12 6:21 7:17 8:22 9:27 10:27 11:15 12:25 13:23 14:52 15:35 16:23 17:58 18:30 19:24 20:42 21:15 22:23 23:29 24:22 25:44 26:25 27:12 28:25 29:11 30:31 31:13\n2SA 1:27 2:32 3:39 4:12 5:25 6:23 7:29 8:18 9:13 10:19 11:27 12:31 13:39 14:33 15:37 16:23 17:29 18:33 19:43 20:26 21:22 22:51 23:39 24:25\n1KI 1:53 2:46 3:28 4:34 5:18 6:38 7:51 8:66 9:28 10:29 11:43 12:33 13:34 14:31 15:34 16:34 17:24 18:46 19:21 20:43 21:29 22:53\n2KI 1:18 2:25 3:27 4:44 5:27 6:33 7:20 8:29 9:37 10:36 11:21 12:21 13:25 14:29 15:38 16:20 17:41 18:37 19:37 20:21 21:26 22:20 23:37 24:20 25:30\n1CH 1:54 2:55 3:24 4:43 5:26 6:81 7:40 8:40 9:44 10:14 11:47 12:40 13:14 14:17 15:29 16:43 17:27 18:17 19:19 20:8 21:30 22:19 23:32 24:31 25:31 26:32 27:34 28:21 29:30\n2CH 1:17 2:18 3:17 4:22 5:14 6:42 7:22 8:18 9:31 10:19 11:23 12:16 13:22 14:15 15:19 16:14 17:19 18:34 19:11 20:37 21:20 22:12 23:21 24:27 25:28 26:23 27:9 28:27 29:36 30:27 31:21 32:33 33:25 34:33 35:27 36:23\nEZR 1:11 2:70 3:13 4:24 5:17 6:22 7:28 8:36 9:15 10:44\nNEH 1:11 2:20 3:32 4:23 5:19 6:19 7:73 8:18 9:38 10:39 11:36 12:47 13:31\nEST 1:22 2:23 3:15 4:17 5:14 6:14 7:10 8:17 9:32 10:3\nJOB 1:22 2:13 3:26 4:21 5:27 6:30 7:21 8:22 9:35 10:22 11:20 12:25 13:28 14:22 15:35 16:22 17:16 18:21 19:29 20:29 21:34 22:30 23:17 24:25 25:6 26:14 27:23 28:28 29:25 30:31 31:40 32:22 33:33 34:37 35:16 36:33 37:24 38:41 39:30 40:24 41:34 42:17\nPSA 1:6 2:12 3:8 4:8 5:12 6:10 7:17 8:9 9:20 10:18 11:7 12:8 13:6 14:7 15:5 16:11 17:15 18:50 19:14 20:9 21:13 22:31 23:6 24:10 25:22 26:12 27:14 28:9 29:11 30:12 31:24 32:11 33:22 34:22 35:28 36:12 37:40 38:22 39:13 40:17 41:13 42:11 43:5 44:26 45:17 46:11 47:9 48:14 49:20 50:23 51:19 52:9 53:6 54:7 55:23 56:13 57:11 58:11 59:17 60:12 61:8 62:12 63:11 64:10 65:13 66:20 67:7 68:35 69:36 70:5 71:24 72:20 73:28 74:23 75:10 76:12 77:20 78:72 79:13 80:19 81:16 82:8 83:18 84:12 85:13 86:17 87:7 88:18 89:52 90:17 91:16 92:15 93:5 94:23 95:11 96:13 97:12 98:9 99:9 100:5 101:8 102:28 103:22 104:35 105:45 106:48 107:43 108:13 109:31 110:7 111:10 112:10 113:9 114:8 115:18 116:19 117:2 118:29 119:176 120:7 121:8 122:9 123:4 124:8 125:5 126:6 127:5 128:6 129:8 130:8 131:3 132:18 133:3 134:3 135:21 136:26 137:9 138:8 139:24 140:13 141:10 142:7 143:12 144:15 145:21 146:10 147:20 148:14 149:9 150:6\nPRO 1:33 2:22 3:35 4:27 5:23 6:35 7:27 8:36 9:18 10:32 11:31 12:28 13:25 14:35 15:33 16:33 17:28 18:24 19:29 20:30 21:31 22:29 23:35 24:34 25:28 26:28 27:27 28:28 29:27 30:33 31:31\nECC 1:18 2:26 3:22 4:16 5:20 6:12 7:29 8:17 9:18 10:20 11:10 12:14\nSNG 1:17 2:17 3:11 4:16 5:16 6:13 7:13 8:14\nISA 1:31 2:22 3:26 4:6 5:30 6:13 7:25 8:22 9:21 10:34 11:16 12:6 13:22 14:32 15:9 16:14 17:14 18:7 19:25 20:6 21:17 22:25 23:18 24:23 25:12 26:21 27:13 28:29 29:24 30:33 31:9 32:20 33:24 34:17 35:10 36:22 37:38 38:22 39:8 40:31 41:29 42:25 43:28 44:28 45:25 46:13 47:15 48:22 49:26 50:11 51:23 52:15 53:12 54:17 55:13 56:12 57:21 58:14 59:21 60:22 61:11 62:12 63:19 64:12 65:25 66:24\nJER 1:19 2:37 3:25 4:31 5:31 6:30 7:34 8:22 9:26 10:25 11:23 12:17 13:27 14:22 15:21 16:21 17:27 18:23 19:15 20:18 21:14 22:30 23:40 24:10 25:38 26:24 27:22 28:17 29:32 30:24 31:40 32:44 33:26 34:22 35:19 36:32 37:21 38:28 39:18 40:16 41:18 42:22 43:13 44:30 45:5 46:28 47:7 48:47 49:39 50:46 51:64 52:34\nLAM 1:22 2:22 3:66 4:22 5:22\nEZK 1:28 2:10 3:27 4:17 5:17 6:14 7:27 8:18 9:11 10:22 11:25 12:28 13:23 14:23 15:8 16:63 17:24 18:32 19:14 20:49 21:32 22:31 23:49 24:27 25:17 26:21 27:36 28:26 29:21 30:26 31:18 32:32 33:33 34:31 35:15 36:38 37:28 38:23 39:29 40:49 41:26 42:20 43:27 44:31 45:25 46:24 47:23 48:35\nDAN 1:21 2:49 3:30 4:37 5:31 6:28 7:28 8:27 9:27 10:21 11:45 12:13\nHOS 1:11 2:23 3:5 4:19 5:15 6:11 7:16 8:14 9:17 10:15 11:12 12:14 13:16 14:9\nJOL 1:20 2:32 3:21\nAMO 1:15 2:16 3:15 4:13 5:27 6:14 7:17 8:14 9:15\nOBA 1:21\nJON 1:17 2:10 3:10 4:11\nMIC 1:16 2:13 3:12 4:13 5:15 6:16 7:20\nNAM 1:15 2:13 3:19\nHAB 1:17 2:20 3:19\nZEP 1:18 2:15 3:20\nHAG 1:15 2:23\nZEC 1:21 2:13 3:10 4:14 5:11 6:15 7:14 8:23 9:17 10:12 11:17 12:14 13:9 14:21\nMAL 1:14 2:17 3:18 4:6\n#-----------------------------------------------\n# New Testament\nMAT 1:25 2:23 3:17 4:25 5:48 6:34 7:29 8:34 9:38 10:42 11:30 12:50 13:58 14:36 15:39 16:28 17:27 18:35 19:30 20:34 21:46 22:46 23:39 24:51 25:46 26:75 27:66 28:20\nMRK 1:45 2:28 3:35 4:41 5:43 6:56 7:37 8:38 9:50 10:52 11:33 12:44 13:37 14:72 15:47 16:20\nLUK 1:80 2:52 3:38 4:44 5:39 6:49 7:50 8:56 9:62 10:42 11:54 12:59 13:35 14:35 15:32 16:31 17:37 18:43 19:48 20:47 21:38 22:71 23:56 24:53\nJHN 1:51 2:25 3:36 4:54 5:47 6:71 7:53 8:59 9:41 10:42 11:57 12:50 13:38 14:31 15:27 16:33 17:26 18:40 19:42 20:31 21:25\nACT 1:26 2:47 3:26 4:37 5:42 6:15 7:60 8:40 9:43 10:48 11:30 12:25 13:52 14:28 15:41 16:40 17:34 18:28 19:41 20:38 21:40 22:30 23:35 24:27 25:27 26:32 27:44 28:31\nROM 1:32 2:29 3:31 4:25 5:21 6:23 7:25 8:39 9:33 10:21 11:36 12:21 13:14 14:23 15:33 16:27\n1CO 1:31 2:16 3:23 4:21 5:13 6:20 7:40 8:13 9:27 10:33 11:34 12:31 13:13 14:40 15:58 16:24\n#2CO 1:24 2:17 3:18 4:18 5:21 6:18 7:16 8:24 9:15 10:18 11:33 12:21 13:14\n# Note sometimes 2CO 13 has 14 verses e.g. KJV. but 13 verses in modern translations\n2CO 1:24 2:17 3:18 4:18 5:21 6:18 7:16 8:24 9:15 10:18 11:33 12:21 13:14\nGAL 1:24 2:21 3:29 4:31 5:26 6:18\nEPH 1:23 2:22 3:21 4:32 5:33 6:24\nPHP 1:30 2:30 3:21 4:23\nCOL 1:29 2:23 3:25 4:18\n1TH 1:10 2:20 3:13 4:18 5:28\n2TH 1:12 2:17 3:18\n1TI 1:20 2:15 3:16 4:16 5:25 6:21\n2TI 1:18 2:26 3:17 4:22\nTIT 1:16 2:15 3:15\nPHM 1:25\nHEB 1:14 2:18 3:19 4:16 5:14 6:20 7:28 8:13 9:28 10:39 11:40 12:29 13:25\nJAS 1:27 2:26 3:18 4:17 5:20\n1PE 1:25 2:25 3:22 4:19 5:14\n2PE 1:21 2:22 3:18\n1JN 1:10 2:29 3:24 4:21 5:21\n2JN 1:13\n3JN 1:15\nJUD 1:25\nREV 1:20 2:29 3:22 4:11 5:14 6:17 7:17 8:13 9:21 10:11 11:19 12:18 13:18 14:20 15:8 16:21 17:18 18:24 19:21 20:15 21:27 22:21\n# sometimes called the Apocalypse\n#---------------------------------------------------------\n# Deuterocanonical books\nTOB 1:22 2:14 3:17 4:21 5:21 6:17 7:18 8:21 9:6 10:13 11:19 12:22 13:18 14:15\nJDT 1:16 2:28 3:10 4:15 5:24 6:21 7:32 8:36 9:14 10:23 11:23 12:20 13:20 14:19 15:13 16:25\n#-----------------------\n# This is the definition for "Additions to Daniel" as in the KJV [Studge]\n# ESG 1:13 2:12 3:6 4:18 5:19 6:16 7:24\n# more commonly UBS Bibles have ESG which is the full Esther Greek for modern Bibles e.g. RSV, CEV, GNB etc\nESG 1:39 2:23 3:22 4:47 5:28 6:14 7:10 8:39 9:32 10:13\n#-----------------------\nWIS 1:16 2:24 3:19 4:20 5:23 6:25 7:30 8:21 9:18 10:21 11:26 12:27 13:19 14:31 15:19 16:29 17:21 18:25 19:22\nSIR 1:30 2:18 3:31 4:31 5:15 6:37 7:36 8:19 9:18 10:31 11:34 12:18 13:26 14:27 15:20 16:30 17:32 18:33 19:30 20:32 21:28 22:27 23:27 24:34 25:26 26:29 27:30 28:26 29:28 30:25 31:31 32:24 33:31 34:26 35:20 36:26 37:31 38:34 39:35 40:30 41:23 42:25 43:33 44:23 45:26 46:20 47:25 48:25 49:16 50:29 51:30\n#\n# In English Bibles Baruch sometimes has 5 chapters and sometimes 6 in Catholic Bibles [Studge]\nBAR 1:21 2:35 3:37 4:37 5:9 6:73\n#\nLJE 1:73\nS3Y 1:68\nSUS 1:64\nBEL 1:42\n1MA 1:64 2:70 3:60 4:61 5:68 6:63 7:50 8:32 9:73 10:89 11:74 12:53 13:53 14:49 15:41 16:24\n2MA 1:36 2:32 3:40 4:50 5:27 6:31 7:42 8:36 9:29 10:38 11:38 12:45 13:26 14:46 15:39\n#-----------------------------------------------------\n# Additional Orthodox Books in Interconfessional Bibles e.g. RSV, NRSV\n3MA 1:29 2:33 3:30 4:21 5:51 6:41 7:23\n4MA 1:35 2:24 3:21 4:26 5:38 6:35 7:23 8:29 9:32 10:21 11:27 12:19 13:27 14:20 15:32 16:25 17:24 18:24\n1ES 1:58 2:30 3:24 4:63 5:73 6:34 7:15 8:96 9:55\n2ES 1:40 2:48 3:36 4:52 5:56 6:59 7:140 8:63 9:47 10:59 11:46 12:51 13:58 14:48 15:63 16:78\nMAN 1:15\nPS2 1:7\n#-----------------------------------------------------\n# ODA and PSS are only used in LXX and SYR projects and are not needed here\n# ODA 1:19 2:43 3:10 4:19 5:12 6:8 7:20 8:37 9:22 10:9 11:11 12:15 13:4 14:46\n# PSS 1:8 2:37 3:12 4:25 5:19 6:6 7:10 8:34 9:11 10:8 11:9 12:6 13:12 14:10 15:13 16:15 17:46 18:12\n#-----------------------------------------------------\n# Obselete books used for LXX variant texts, in LXX only in PT 6, and obselete in PT 7, not used in English, Spanish or any other Bibles. If these codes were used they were used for the wrong books and these definitions were not relevant\nJSA 1:18 2:24 3:17 4:24 5:15 6:27 7:26 8:35 9:27 10:43 11:23 12:24 13:33 14:15 15:63 16:10 17:18 18:28 19:51 20:9 21:45 22:34 23:16 24:33\nJDB 1:36 2:23 3:31 4:24 5:31 6:40 7:25 8:35 9:57 10:18 11:40 12:15 13:25 14:20 15:20 16:31 17:13 18:31 19:30 20:48 21:25\nTBS 1:22 2:14 3:17 4:21 5:23 6:19 7:17 8:21 9:6 10:14 11:19 12:22 13:18 14:15\nSST 1:64\nDNT 1:21 2:49 3:97 4:37 5:30 6:29 7:28 8:27 9:27 10:21 11:45 12:13\nBLT 1:42\n#------------------------------------------------------\n# Daniel Greek used in some English Catholic Bibles\nDAG 1:21 2:49 3:97 4:37 5:31 6:28 7:28 8:27 9:27 10:21 11:45 12:13 13:64 14:42\n# Letter to the Laodiceans which was in the John Wycliffe Bible\nLAO 1:20\n#\n#-----------------------------------------------------\n# Mapping\n#-----------------------------------------------------\n# English = BHS (see org.vrs)\n#\n# (Note: ranges must not span a chapter, e.g. 4:10-5:11 is illegal)\n#\nGEN 31:55 = GEN 32:1\nGEN 32:1-32 = GEN 32:2-33\nEXO 8:1-4 = EXO 7:26-29\nEXO 8:5-32 = EXO 8:1-28\nEXO 22:1 = EXO 21:37\nEXO 22:2-31 = EXO 22:1-30\nLEV 6:1-7 = LEV 5:20-26\nLEV 6:8-30 = LEV 6:1-23\nNUM 16:36-50 = NUM 17:1-15\nNUM 17:1-13 = NUM 17:16-28\n# NUM 26:1a = NUM 25:19b # no support for splits yet\n# NUM 26:1b = NUM 26:1 # no support for splits yet\nNUM 29:40 = NUM 30:1\nNUM 30:1-16 = NUM 30:2-17\nDEU 12:32 = DEU 13:1\nDEU 13:1-18 = DEU 13:2-19\nDEU 22:30 = DEU 23:1\nDEU 23:1-25 = DEU 23:2-26\nDEU 29:1 = DEU 28:69\nDEU 29:2-29 = DEU 29:1-28\n#\n# removed see PTSIL-113\n#1SA 20:42 = 1SA 20:41\n#\n1SA 20:42 = 1SA 21:1\n1SA 21:1-15 = 1SA 21:2-16\n1SA 23:29 = 1SA 24:1\n1SA 24:1-22 = 1SA 24:2-23\n2SA 18:33 = 2SA 19:1\n2SA 19:1-43 = 2SA 19:2-44\n1KI 4:21-34 = 1KI 5:1-14\n1KI 5:1-18 = 1KI 5:15-32\n# 1KI 18:33a = 1KI 18:33 # no support for splits yet\n# 1KI 18:33b = 1KI 18:34 # no support for splits yet\n# 1KI 22:43a = 1KI 22:43b # no support for splits yet\n1KI 22:43-53 = 1KI 22:44-54\n2KI 11:21 = 2KI 12:1\n2KI 12:1-21 = 2KI 12:2-22\n1CH 6:1-15 = 1CH 5:27-41\n1CH 6:16-81 = 1CH 6:1-66\n# 1CH 12:4b = 1CH 12:4 # no support for splits yet\n1CH 12:4-40 = 1CH 12:5-41\n2CH 2:1 = 2CH 1:18\n2CH 2:2-18 = 2CH 2:1-17\n2CH 14:1 = 2CH 13:23\n2CH 14:2-15 = 2CH 14:1-14\nNEH 4:1-6 = NEH 3:33-38\nNEH 4:7-23 = NEH 4:1-17\nNEH 7:69-73 = NEH 7:68-72\nNEH 9:38 = NEH 10:1\nNEH 10:1-39 = NEH 10:2-40\nJOB 41:1-8 = JOB 40:25-32\nJOB 41:9-34 = JOB 41:1-26\nPSA 3:0-8 = PSA 3:1-9\nPSA 4:0-8 = PSA 4:1-9\nPSA 5:0-12 = PSA 5:1-13\nPSA 6:0-10 = PSA 6:1-11\nPSA 7:0-17 = PSA 7:1-18\nPSA 8:0-9 = PSA 8:1-10\nPSA 9:0-20 = PSA 9:1-21\nPSA 12:0-8 = PSA 12:1-9\nPSA 13:0-5 = PSA 13:1-6\nPSA 18:0-50 = PSA 18:1-51\nPSA 19:0-14 = PSA 19:1-15\nPSA 20:0-9 = PSA 20:1-10\nPSA 21:0-13 = PSA 21:1-14\nPSA 22:0-31 = PSA 22:1-32\nPSA 30:0-12 = PSA 30:1-13\nPSA 31:0-24 = PSA 31:1-25\nPSA 34:0-22 = PSA 34:1-23\nPSA 36:0-12 = PSA 36:1-13\nPSA 38:0-22 = PSA 38:1-23\nPSA 39:0-13 = PSA 39:1-14\nPSA 40:0-17 = PSA 40:1-18\nPSA 41:0-13 = PSA 41:1-14\nPSA 42:0-11 = PSA 42:1-12\nPSA 44:0-26 = PSA 44:1-27\nPSA 45:0-17 = PSA 45:1-18\nPSA 46:0-11 = PSA 46:1-12\nPSA 47:0-9 = PSA 47:1-10\nPSA 48:0-14 = PSA 48:1-15\nPSA 49:0-20 = PSA 49:1-21\nPSA 51:0 = PSA 51:1\nPSA 51:0 = PSA 51:2\nPSA 51:1-19 = PSA 51:3-21\nPSA 52:0 = PSA 52:1\nPSA 52:0 = PSA 52:2\nPSA 52:1-9 = PSA 52:3-11\nPSA 53:0-6 = PSA 53:1-7\nPSA 54:0 = PSA 54:1\nPSA 54:0 = PSA 54:2\nPSA 54:1-7 = PSA 54:3-9\nPSA 55:0-23 = PSA 55:1-24\nPSA 56:0-13 = PSA 56:1-14\nPSA 57:0-11 = PSA 57:1-12\nPSA 58:0-11 = PSA 58:1-12\nPSA 59:0-17 = PSA 59:1-18\nPSA 60:0 = PSA 60:1\nPSA 60:0 = PSA 60:2\nPSA 60:1-12 = PSA 60:3-14\nPSA 61:0-8 = PSA 61:1-9\nPSA 62:0-12 = PSA 62:1-13\nPSA 63:0-11 = PSA 63:1-12\nPSA 64:0-10 = PSA 64:1-11\nPSA 65:0-13 = PSA 65:1-14\nPSA 67:0-7 = PSA 67:1-8\nPSA 68:0-35 = PSA 68:1-36\nPSA 69:0-36 = PSA 69:1-37\nPSA 70:0-5 = PSA 70:1-6\nPSA 75:0-10 = PSA 75:1-11\nPSA 76:0-12 = PSA 76:1-13\nPSA 77:0-20 = PSA 77:1-21\nPSA 80:0-19 = PSA 80:1-20\nPSA 81:0-16 = PSA 81:1-17\nPSA 83:0-18 = PSA 83:1-19\nPSA 84:0-12 = PSA 84:1-13\nPSA 85:0-13 = PSA 85:1-14\nPSA 88:0-18 = PSA 88:1-19\nPSA 89:0-52 = PSA 89:1-53\nPSA 92:0-15 = PSA 92:1-16\nPSA 102:0-28 = PSA 102:1-29\nPSA 108:0-13 = PSA 108:1-14\nPSA 140:0-13 = PSA 140:1-14\nPSA 142:0-7 = PSA 142:1-8\nECC 5:1 = ECC 4:17\nECC 5:2-20 = ECC 5:1-19\nSNG 6:13 = SNG 7:1\nSNG 7:1-13 = SNG 7:2-14\nISA 9:1 = ISA 8:23\nISA 9:2-21 = ISA 9:1-20\nISA 64:2-12 = ISA 64:1-11\nJER 9:1 = JER 8:23\nJER 9:2-26 = JER 9:1-25\nEZK 20:45-46 = EZK 21:1-2\nEZK 20:47 = EZK 21:3\nEZK 20:48-49 = EZK 21:4-5\nEZK 21:1-32 = EZK 21:6-37\nDAN 4:1-3 = DAN 3:31-33\nDAN 4:4-37 = DAN 4:1-34\nDAN 5:31 = DAN 6:1\nDAN 6:1-28 = DAN 6:2-29\nHOS 1:10-11 = HOS 2:1-2\nHOS 2:1-23 = HOS 2:3-25\nHOS 11:12 = HOS 12:1\nHOS 12:1-14 = HOS 12:2-15\nHOS 13:16 = HOS 14:1\nHOS 14:1-9 = HOS 14:2-10\nJOL 2:28-32 = JOL 3:1-5\nJOL 3:1-21 = JOL 4:1-21\nJON 1:17 = JON 2:1\nJON 2:1-10 = JON 2:2-11\nMIC 5:1 = MIC 4:14\nMIC 5:2-15 = MIC 5:1-14\nNAM 1:15 = NAM 2:1\nNAM 2:1-13 = NAM 2:2-14\nZEC 1:18-21 = ZEC 2:1-4\nZEC 2:1-13 = ZEC 2:5-17\nMAL 4:1-6 = MAL 3:19-24\n# 40 + 41 -> 40 (per Peter Kirk)\n#! &ACT 19:40-41 = ACT 19:40\n#\n#---------------------------------\n# map Baruch 6 onto Letter of Jeremiah [Studge]\nBAR 6:1-73 = LJE 1:1-73\n#\n#------------------------------\n# Susanna\nDAG 13:1-63 = SUS 1:1-63\n# Bel and the Dragon\nDAG 14:1-42 = BEL 1:1-42\n#----------------------------------\n# Mapping Esther Greek onto LXX Esther Greek\n#\n# This maps the standard verses generated by Create Book\n# to the actual verse numbers and segments found in the LXX\n# ESG chapter 1\nESG 1:1 = ESG 1:1a\nESG 1:2 = ESG 1:1b\nESG 1:3 = ESG 1:1c\nESG 1:4 = ESG 1:1d\nESG 1:5 = ESG 1:1e\nESG 1:6 = ESG 1:1f\nESG 1:7 = ESG 1:1g\nESG 1:8 = ESG 1:1h\nESG 1:9 = ESG 1:1i\nESG 1:10 = ESG 1:1k\nESG 1:11 = ESG 1:1l\nESG 1:12 = ESG 1:1m\nESG 1:13 = ESG 1:1n\nESG 1:14 = ESG 1:1o\nESG 1:15 = ESG 1:1p\nESG 1:16 = ESG 1:1q\nESG 1:17 = ESG 1:1r\nESG 1:18 = ESG 1:1s\nESG 1:19-39 = ESG 1:2-22\n# ESG chapter 3\nESG 3:14 = ESG 3:13a\nESG 3:15 = ESG 3:13b\nESG 3:16 = ESG 3:13c\nESG 3:17 = ESG 3:13d\nESG 3:18 = ESG 3:13e\nESG 3:19 = ESG 3:13f\nESG 3:20 = ESG 3:13g\nESG 3:21 = ESG 3:14\nESG 3:22 = ESG 3:15\n# ESG chapter 4\nESG 4:18 = ESG 4:17a\nESG 4:19 = ESG 4:17b\nESG 4:20 = ESG 4:17c\nESG 4:21 = ESG 4:17c\nESG 4:22 = ESG 4:17d\nESG 4:23 = ESG 4:17d\nESG 4:24 = ESG 4:17e\nESG 4:25 = ESG 4:17f\nESG 4:26 = ESG 4:17g\nESG 4:27 = ESG 4:17h\nESG 4:28 = ESG 4:17i\nESG 4:29 = ESG 4:17k\nESG 4:30 = ESG 4:17k\nESG 4:31 = ESG 4:17k\nESG 4:32 = ESG 4:17l\nESG 4:33 = ESG 4:17m\nESG 4:34 = ESG 4:17n\nESG 4:35 = ESG 4:17n\nESG 4:36 = ESG 4:17o\nESG 4:37 = ESG 4:17o\nESG 4:38 = ESG 4:17p\nESG 4:39 = ESG 4:17q\nESG 4:40 = ESG 4:17r\nESG 4:41 = ESG 4:17s\nESG 4:42 = ESG 4:17t\nESG 4:43 = ESG 4:17u\nESG 4:44 = ESG 4:17w\nESG 4:45 = ESG 4:17x\nESG 4:46 = ESG 4:17y\nESG 4:47 = ESG 4:17z\n# ESG chapter 5\nESG 5:2 = ESG 5:1a\nESG 5:3 = ESG 5:1a\nESG 5:4 = ESG 5:1a\nESG 5:5 = ESG 5:1b\nESG 5:6 = ESG 5:1c\nESG 5:7 = ESG 5:1d\nESG 5:8 = ESG 5:1e\nESG 5:9 = ESG 5:1f\nESG 5:10 = ESG 5:1f\nESG 5:11 = ESG 5:2\nESG 5:12 = ESG 5:2\nESG 5:13 = ESG 5:2a\nESG 5:14 = ESG 5:2a\nESG 5:15 = ESG 5:2b\nESG 5:16 = ESG 5:2b\nESG 5:17-28 = ESG 5:3-14\n# ESG chapter 8\nESG 8:13 = ESG 8:12a\nESG 8:14 = ESG 8:12b\nESG 8:15 = ESG 8:12c\nESG 8:16 = ESG 8:12d\nESG 8:17 = ESG 8:12e\nESG 8:18 = ESG 8:12f\nESG 8:19 = ESG 8:12g\nESG 8:20 = ESG 8:12h\nESG 8:21 = ESG 8:12i\nESG 8:22 = ESG 8:12k\nESG 8:23 = ESG 8:12l\nESG 8:24 = ESG 8:12m\nESG 8:25 = ESG 8:12n\nESG 8:26 = ESG 8:12o\nESG 8:27 = ESG 8:12p\nESG 8:28 = ESG 8:12q\nESG 8:29 = ESG 8:12r\nESG 8:30 = ESG 8:12s\nESG 8:31 = ESG 8:12t\nESG 8:32 = ESG 8:12u\nESG 8:33 = ESG 8:12x\nESG 8:34 = ESG 8:12y\nESG 8:35 = ESG 8:12y\nESG 8:36 = ESG 8:12y\nESG 8:37-41 = ESG 8:13-17\n# ESG chapter 10\nESG 10:4 = ESG 10:3a\nESG 10:5 = ESG 10:3b\nESG 10:6 = ESG 10:3c\nESG 10:7 = ESG 10:3d\nESG 10:8 = ESG 10:3e\nESG 10:9 = ESG 10:3f\nESG 10:10 = ESG 10:3g\nESG 10:11 = ESG 10:3h\nESG 10:12 = ESG 10:3i\nESG 10:13 = ESG 10:3k\nESG 10:14 = ESG 10:3l\n# S3Y is a small section of the DAG LXX pulled out and translated as a separate book.\n# Map it back to the LXX. This section allow\'s texts such as TOB (French) which do\n# this to scroll correctly with the LXX.\n# S3Y is not present in the GRK, HEB, or LXX(Ralphs) text.\n# If a text has DAG present, this section must NOT be included in its versification file because\n# that would cause references in other texts to DAG to be redirected to a non-existant S3Y.\nS3Y 1:1-29 = DAG 3:24-52\nS3Y 1:30-31 = DAG 3:52-53\nS3Y 1:33 = DAG 3:54\nS3Y 1:32 = DAG 3:55\nS3Y 1:34-35 = DAG 3:56-57\nS3Y 1:37 = DAG 3:58\nS3Y 1:36 = DAG 3:59\nS3Y 1:38-68 = DAG 3:60-90\n'},lxx:{raw:"# Versification \"Septuagint\"\n# Version=1.7\n# \n# modifications by Studge 26/ June/ 2009\n# This should include the versifications for Bibles which follow LXX versificatio mainly Orthodox Bibles. [Studge]\n#\n# List of books, chapters, verses\n# One line per book.\n# One entry for each chapter.\n# Verse number is the maximum verse number for that chapter.\n# See the lines containing ='s below for verse mappings.\n#\n# modifications by Reinier 20/ April/ 2010\n# all data that are not part of the LXX itself have been commented out with ##\n#\n# modifications by Michael Lothers 1/ June/ 2011\n# added verse segment information in the format: *GEN 1:22,-,a,b\n# which indicates GEN 1:22 has three segments, the first has no marking followed by two segments: 1a and 1b\n# The lines are preceded by #! so that versions of Paratext prior to 7.3 will ignore them rather than crash.\n#\n# modifications by Tim Steenwyk 15/ September/ 2011\n# removed mapping references to PS3 since they shouldn't be in LXX (Septuagint)\n#------------------------------------------------\n# Old Testament\nGEN 1:31 2:25 3:24 4:26 5:32 6:22 7:24 8:22 9:29 10:32 11:32 12:20 13:18 14:24 15:21 16:16 17:27 18:33 19:38 20:18 21:34 22:24 23:20 24:67 25:34 26:35 27:46 28:22 29:35 30:43 31:54 32:33 33:20 34:31 35:29 36:43 37:36 38:30 39:23 40:23 41:57 42:38 43:34 44:34 45:28 46:34 47:31 48:22 49:33 50:26\nEXO 1:22 2:25 3:22 4:31 5:23 6:30 7:29 8:28 9:35 10:29 11:10 12:51 13:22 14:31 15:27 16:36 17:16 18:27 19:25 20:26 21:37 22:30 23:33 24:18 25:40 26:37 27:21 28:43 29:46 30:38 31:18 32:35 33:23 34:35 35:35 36:38 37:21 38:27 39:23 40:38\nLEV 1:17 2:16 3:17 4:35 5:26 6:23 7:38 8:36 9:24 10:20 11:47 12:8 13:59 14:57 15:33 16:34 17:16 18:30 19:37 20:27 21:24 22:33 23:44 24:23 25:55 26:46 27:34\nNUM 1:54 2:34 3:51 4:49 5:31 6:26 7:89 8:26 9:23 10:36 11:35 12:16 13:33 14:45 15:41 16:35 17:28 18:32 19:22 20:29 21:35 22:41 23:30 24:25 25:18 26:65 27:23 28:31 29:39 30:17 31:54 32:42 33:56 34:29 35:34 36:13\nDEU 1:46 2:37 3:29 4:49 5:33 6:25 7:26 8:20 9:29 10:22 11:32 12:31 13:19 14:29 15:23 16:22 17:20 18:22 19:21 20:20 21:23 22:29 23:26 24:22 25:19 26:19 27:26 28:69 29:28 30:20 31:30 32:52 33:29 34:12\nJOS 1:18 2:24 3:17 4:24 5:15 6:27 7:26 8:29 9:27 10:42 11:23 12:24 13:32 14:15 15:63 16:10 17:18 18:28 19:51 20:9 21:45 22:34 23:16 24:33\nJDG 1:36 2:23 3:31 4:24 5:31 6:40 7:25 8:35 9:57 10:18 11:40 12:15 13:25 14:20 15:20 16:31 17:13 18:31 19:30 20:48 21:25\nRUT 1:22 2:23 3:18 4:22\n1SA 1:28 2:36 3:21 4:22 5:12 6:21 7:17 8:22 9:27 10:27 11:15 12:25 13:23 14:52 15:35 16:23 17:54 18:29 19:24 20:42 21:16 22:23 23:28 24:23 25:44 26:25 27:12 28:25 29:11 30:31 31:13\n# 1SA called 1 Kings in the Orthodox tradition\n2SA 1:27 2:32 3:39 4:12 5:25 6:23 7:29 8:18 9:13 10:19 11:27 12:31 13:39 14:33 15:37 16:23 17:29 18:32 19:44 20:26 21:22 22:51 23:39 24:25\n# 2SA called 2 Kings in the Orthodox tradition\n1KI 1:53 2:46 3:28 4:19 5:32 6:36 7:50 8:66 9:28 10:29 11:43 12:33 13:34 14:31 15:34 16:34 17:24 18:46 19:21 20:29 21:43 22:54\n# 1KI called 3 Kings in the Orthodox tradition\n2KI 1:18 2:25 3:27 4:44 5:27 6:33 7:20 8:29 9:37 10:36 11:20 12:22 13:25 14:29 15:38 16:20 17:41 18:37 19:37 20:21 21:26 22:20 23:37 24:20 25:30\n# 2KI called 4 Kings in the Orthodox tradition\n1CH 1:54 2:55 3:24 4:43 5:41 6:66 7:40 8:40 9:44 10:14 11:47 12:41 13:14 14:17 15:29 16:43 17:27 18:17 19:19 20:8 21:30 22:19 23:32 24:31 25:31 26:32 27:34 28:21 29:30\n2CH 1:18 2:17 3:17 4:22 5:14 6:42 7:22 8:18 9:31 10:19 11:23 12:16 13:23 14:14 15:19 16:14 17:19 18:34 19:11 20:37 21:20 22:12 23:21 24:27 25:28 26:23 27:9 28:27 29:36 30:27 31:21 32:33 33:25 34:33 35:27 36:23\n#\n# Edited by Studge\n# Added EZR which is Ezra-Nehemiah, which had been put under 2ES by mistake\n# Edited chapters 13 and 20 / SS 14.6.2014\nEZR 1:11 2:70 3:13 4:24 5:17 6:22 7:28 8:36 9:15 10:44 11:11 12:20 13:37 14:23 15:19 16:19 17:73 18:18 19:38 20:40 21:36 22:47 23:31\n#\n# most projects based on LXX will use Nehemiah so we ought to add it in.\n##NEH 1:11 2:20 3:32 4:23 5:19 6:19 7:73 8:18 9:38 10:39 11:36 12:47 13:31\n#\n# Edited by Studge\n# should not have ESG here but amongst the Deuterocanonical books for PT order\n# ESG 1:22 2:23 3:15 4:17 5:14 6:14 7:10 8:17 9:32 10:3\n#\nJOB 1:22 2:13 3:26 4:21 5:27 6:30 7:21 8:22 9:35 10:22 11:20 12:25 13:28 14:22 15:35 16:22 17:16 18:21 19:29 20:29 21:34 22:30 23:17 24:25 25:6 26:14 27:23 28:28 29:25 30:31 31:40 32:22 33:33 34:37 35:16 36:33 37:24 38:41 39:30 40:32 41:26 42:17\nPSA 1:6 2:12 3:9 4:9 5:13 6:11 7:18 8:10 9:39 10:7 11:9 12:6 13:7 14:5 15:11 16:15 17:51 18:15 19:10 20:14 21:32 22:6 23:10 24:22 25:12 26:14 27:9 28:11 29:13 30:25 31:11 32:22 33:23 34:28 35:13 36:40 37:23 38:14 39:18 40:14 41:12 42:5 43:27 44:18 45:12 46:10 47:15 48:21 49:23 50:21 51:11 52:7 53:9 54:24 55:14 56:12 57:12 58:18 59:14 60:9 61:13 62:12 63:11 64:14 65:20 66:8 67:36 68:37 69:6 70:24 71:20 72:28 73:23 74:11 75:13 76:21 77:72 78:13 79:20 80:17 81:8 82:19 83:13 84:14 85:17 86:7 87:19 88:53 89:17 90:16 91:16 92:5 93:23 94:11 95:13 96:12 97:9 98:9 99:5 100:8 101:29 102:22 103:35 104:45 105:48 106:43 107:14 108:31 109:7 110:10 111:10 112:9 113:26 114:9 115:10 116:2 117:29 118:176 119:7 120:8 121:9 122:4 123:8 124:5 125:6 126:5 127:6 128:8 129:8 130:3 131:18 132:3 133:3 134:21 135:26 136:9 137:8 138:24 139:14 140:10 141:8 142:12 143:15 144:21 145:10 146:11 147:9 148:14 149:9 150:6 151:7\n# Psalms has 151 psalms in the Septuagint tradition\nPRO 1:33 2:22 3:35 4:27 5:23 6:35 7:27 8:36 9:18 10:32 11:31 12:28 13:25 14:35 15:33 16:33 17:28 18:22 19:29 20:30 21:31 22:29 23:35 24:34 25:28 26:28 27:27 28:28 29:27 30:33 31:31\nECC 1:18 2:26 3:22 4:17 5:19 6:12 7:29 8:17 9:18 10:20 11:10 12:14\nSNG 1:17 2:17 3:11 4:16 5:16 6:12 7:14 8:14\nISA 1:31 2:21 3:26 4:6 5:30 6:13 7:25 8:23 9:20 10:34 11:16 12:6 13:22 14:32 15:9 16:14 17:14 18:7 19:25 20:6 21:17 22:25 23:18 24:23 25:12 26:21 27:13 28:29 29:24 30:33 31:9 32:20 33:24 34:17 35:10 36:22 37:38 38:22 39:8 40:31 41:29 42:25 43:28 44:28 45:25 46:13 47:15 48:22 49:26 50:11 51:23 52:15 53:12 54:17 55:13 56:11 57:21 58:14 59:21 60:22 61:11 62:12 63:19 64:11 65:25 66:24\n#\n# Edited by SS 25.3.2003\n# Original: JER 1:19 2:37 3:25 4:31 5:31 6:30 7:34 8:23 9:25 10:25 11:23 12:17 13:27 14:22 15:21 16:21 17:27 18:23 19:15 20:18 21:14 22:30 23:40 24:10 25:38 26:24 27:22 28:17 29:32 30:24 31:40 32:44 33:26 34:22 35:19 36:32 37:21 38:28 39:18 40:16 41:18 42:22 43:13 44:30 45:5 46:28 47:7 48:47 49:39 50:46 51:64 52:34\n#\nJER 1:19 2:37 3:25 4:31 5:31 6:30 7:34 8:23 9:25 10:25 11:23 12:17 13:27 14:22 15:21 16:21 17:27 18:23 19:15 20:18 21:14 22:30 23:40 24:10 25:20 26:28 27:46 28:64 29:7 30:33 31:44 32:38 33:24 34:22 35:17 36:32 37:24 38:40 39:44 40:13 41:22 42:19 43:32 44:21 45:28 46:18 47:16 48:18 49:22 50:13 51:35 52:34\nLAM 1:22 2:22 3:66 4:22 5:22\nEZK 1:28 2:10 3:27 4:17 5:17 6:14 7:27 8:18 9:11 10:22 11:25 12:28 13:23 14:23 15:8 16:63 17:24 18:32 19:14 20:44 21:37 22:31 23:49 24:27 25:17 26:21 27:36 28:26 29:21 30:26 31:18 32:32 33:33 34:31 35:15 36:38 37:28 38:23 39:29 40:49 41:26 42:20 43:27 44:31 45:25 46:24 47:23 48:35\n#\n# There really should not be an entry for DAN in the LXX.vrs. All this material should be in DAG to match Ralhfs.\n# However, there are no doubt many projects that incorrectly but the material in DAN so we leave this here\n# for backward compatibility\n# Following line commented out and DAG-DAN mapping brought up from end of file to allow DAG text to sychronize with HEB where they match\n# Edited by Sarah Lind Oct 6 2015\n# DAN 1:21 2:49 3:97 4:37 5:30 6:29 7:28 8:27 9:27 10:21 11:45 12:13\nDAG 1:1-21 = DAN 1:1-21 \nDAG 2:1-49 = DAN 2:1-49\nDAG 3:1-23 = DAN 3:1-23\nDAG 3:91-97 = DAN 3:24-30\nDAG 4:1-3 = DAN 3:31-33\nDAG 4:4-37 = DAN 4:1-34\nDAG 4:1-2 = DAN 4:4-5\nDAG 5:1-30 = DAN 5:1-30\nDAG 6:1-29 = DAN 6:1-29\nDAG 7:1-28 = DAN 7:1-28\nDAG 8:1-27 = DAN 8:1-27\nDAG 9:1-27 = DAN 9:1-27\nDAG 10:1-21 = DAN 10:1-21\nDAG 11:1-45 = DAN 11:1-45\nDAG 12:1-13 = DAN 12:1-13\n#\nHOS 1:9 2:25 3:5 4:19 5:15 6:11 7:16 8:14 9:17 10:15 11:11 12:15 13:15 14:10\nJOL 1:20 2:27 3:5 4:21\nAMO 1:15 2:16 3:15 4:13 5:27 6:14 7:17 8:14 9:15\nOBA 1:21\nJON 1:16 2:11 3:10 4:11\nMIC 1:16 2:13 3:12 4:14 5:14 6:16 7:20\nNAM 1:14 2:14 3:19\nHAB 1:17 2:20 3:19\nZEP 1:18 2:15 3:20\nHAG 1:15 2:23\nZEC 1:17 2:17 3:10 4:14 5:11 6:15 7:14 8:23 9:17 10:12 11:17 12:14 13:9 14:21\nMAL 1:14 2:17 3:24\n#\n# It feels a bit odd to include NT in \"Septuagint\" but I think there are\n# Bibles that follow the _versification_ of OT LXX but also have a NT.\n#\n# ------------------------------------------------------\n# New Testament books\nMAT 1:25 2:23 3:17 4:25 5:48 6:34 7:29 8:34 9:38 10:42 11:30 12:50 13:58 14:36 15:39 16:28 17:27 18:35 19:30 20:34 21:46 22:46 23:39 24:51 25:46 26:75 27:66 28:20\nMRK 1:45 2:28 3:35 4:41 5:43 6:56 7:37 8:38 9:50 10:52 11:33 12:44 13:37 14:72 15:47 16:20\nLUK 1:80 2:52 3:38 4:44 5:39 6:49 7:50 8:56 9:62 10:42 11:54 12:59 13:35 14:35 15:32 16:31 17:37 18:43 19:48 20:47 21:38 22:71 23:56 24:53\nJHN 1:51 2:25 3:36 4:54 5:47 6:71 7:53 8:59 9:41 10:42 11:57 12:50 13:38 14:31 15:27 16:33 17:26 18:40 19:42 20:31 21:25\nACT 1:26 2:47 3:26 4:37 5:42 6:15 7:60 8:40 9:43 10:48 11:30 12:25 13:52 14:28 15:41 16:40 17:34 18:28 19:40 20:38 21:40 22:30 23:35 24:27 25:27 26:32 27:44 28:31\nROM 1:32 2:29 3:31 4:25 5:21 6:23 7:25 8:39 9:33 10:21 11:36 12:21 13:14 14:23 15:33 16:27\n1CO 1:31 2:16 3:23 4:21 5:13 6:20 7:40 8:13 9:27 10:33 11:34 12:31 13:13 14:40 15:58 16:24\n2CO 1:24 2:17 3:18 4:18 5:21 6:18 7:16 8:24 9:15 10:18 11:33 12:21 13:13\nGAL 1:24 2:21 3:29 4:31 5:26 6:18\nEPH 1:23 2:22 3:21 4:32 5:33 6:24\nPHP 1:30 2:30 3:21 4:23\nCOL 1:29 2:23 3:25 4:18\n1TH 1:10 2:20 3:13 4:18 5:28\n2TH 1:12 2:17 3:18\n1TI 1:20 2:15 3:16 4:16 5:25 6:21\n2TI 1:18 2:26 3:17 4:22\nTIT 1:16 2:15 3:15\nPHM 1:25\nHEB 1:14 2:18 3:19 4:16 5:14 6:20 7:28 8:13 9:28 10:39 11:40 12:29 13:25\nJAS 1:27 2:26 3:18 4:17 5:20\n1PE 1:25 2:25 3:22 4:19 5:14\n2PE 1:21 2:22 3:18\n1JN 1:10 2:29 3:24 4:21 5:21\n2JN 1:13\n3JN 1:15\nJUD 1:25\nREV 1:20 2:29 3:22 4:11 5:14 6:17 7:17 8:13 9:21 10:11 11:19 12:18 13:18 14:20 15:8 16:21 17:18 18:24 19:21 20:15 21:27 22:21\n#--------------------------------------------------\n# Deuterocanonical Books\nTOB 1:22 2:14 3:17 4:21 5:23 6:19 7:17 8:21 9:6 10:14 11:19 12:22 13:18 14:15\nJDT 1:16 2:28 3:10 4:15 5:24 6:21 7:32 8:36 9:14 10:23 11:23 12:20 13:20 14:19 15:14 16:25\n# added ESG definition in its right PT order\nESG 1:22 2:23 3:15 4:17 5:14 6:14 7:10 8:17 9:32 10:3\n# note chapter 4 v17 is 17a-z\n# note chapter 8 v12 is 12a-x\n# note chapter 10 v3 is 3a-l\nWIS 1:16 2:24 3:19 4:20 5:23 6:25 7:30 8:21 9:18 10:21 11:26 12:27 13:19 14:31 15:19 16:29 17:20 18:25 19:22\nSIR 1:30 2:18 3:31 4:31 5:15 6:37 7:36 8:19 9:18 10:31 11:34 12:18 13:26 14:27 15:20 16:30 17:32 18:33 19:30 20:31 21:28 22:27 23:27 24:34 25:26 26:29 27:30 28:26 29:28 30:25 31:31 32:24 33:33 34:26 35:24 36:27 37:31 38:34 39:35 40:30 41:27 42:25 43:33 44:23 45:26 46:20 47:25 48:25 49:16 50:29 51:30\nBAR 1:22 2:35 3:38 4:37 5:9\nLJE 1:72\n# Edited SUS / SS 14.6.2014\nSUS 1:64\nBEL 1:42\n1MA 1:64 2:70 3:60 4:61 5:68 6:63 7:50 8:32 9:73 10:89 11:74 12:53 13:53 14:49 15:41 16:24\n2MA 1:36 2:32 3:40 4:50 5:27 6:31 7:42 8:36 9:29 10:38 11:38 12:45 13:26 14:46 15:39\n3MA 1:29 2:33 3:30 4:21 5:51 6:41 7:23\n4MA 1:35 2:24 3:21 4:26 5:38 6:35 7:23 8:29 9:32 10:21 11:27 12:19 13:27 14:20 15:32 16:25 17:24 18:24\n# 1ES Ezra (Greek)\n1ES 1:55 2:26 3:24 4:63 5:71 6:33 7:15 8:92 9:55\n#-----------------------------------------------------\n# Edited by Studge - Had the wrong definition of 2ES\n# 2ES 1:11 2:70 3:13 4:24 5:17 6:22 7:28 8:36 9:15 10:44 11:11 12:20 13:37 14:17 15:19 16:19 17:73 18:18 19:37 20:40 21:36 22:47 23:31\n# 2ES is not a LXX book but is from the Vulgate and has 16 chapters\n# edited by Studge added the correct definition of 2ES\n2ES 1:40 2:48 3:36 4:52 5:56 6:59 7:140 8:63 9:47 10:59 11:46 12:51 13:58 14:48 15:63 16:78\n#\n# Edited by Studge\n#MAN and PS2 were not defined which are in LXX\nMAN 1:15\nPS2 1:7\n#-------------------------------------------------------\n# ODA and PSS are in the PT 6 files but now missing from the LXX files in PT 7\nODA 1:19 2:43 3:10 4:19 5:12 6:8 7:20 8:37 9:22 10:9 11:11 12:15 13:4 14:46\nPSS 1:8 2:37 3:12 4:25 5:19 6:6 7:10 8:34 9:11 10:8 11:9 12:6 13:12 14:10 15:13 16:15 17:46 18:12\n#-------------------------------------------------------\n# NR: LXX variant texts now obselete, kep for backward compatability\nJSA 1:18 2:24 3:17 4:24 5:15 6:27 7:26 8:35 9:27 10:43 11:23 12:24 13:33 14:15 15:63 16:10 17:18 18:28 19:45 20:9 21:45 22:34 23:16 24:33\nJDB 1:36 2:23 3:31 4:24 5:31 6:40 7:25 8:35 9:57 10:18 11:40 12:15 13:25 14:20 15:20 16:31 17:13 18:31 19:30 20:48 21:25\nTBS 1:22 2:14 3:17 4:21 5:23 6:19 7:17 8:21 9:6 10:14 11:19 12:22 13:18 14:15\nSST 1:64\nDNT 1:21 2:49 3:97 4:37 5:30 6:29 7:28 8:27 9:27 10:21 11:45 12:13\nBLT 1:42\n#--------------------------------------------------------\n# Greek Daniel\n# Edited chapter 5 and 6 and removed chapters 13 and 14 that are not in Rahlfs / SS 14.6.2014\nDAG 1:21 2:49 3:97 4:37 5:30 6:29 7:28 8:27 9:27 10:21 11:45 12:13\n#--------------------------------------------------------\n# Syriac books for Peshitta projects SYR and SYA\n#\n# Syriac Psalms 152-155\n##PS3 1:17 2:20 3:6 4:6\n#\n# Apocalypse of Baruch\n##2BA 1:5 2:2 3:9 4:7 5:7 6:10 7:2 8:5 9:1 10:19 11:7 12:5 13:12 14:19 15:8 16:1 17:4 18:2 19:8 20:6 21:26 22:8 23:7 24:4 25:4 26:1 27:15 28:7 29:8 30:5 31:5 32:9 33:3 34:1 35:5 36:10 37:1 38:4 39:8 40:4 41:6 42:8 43:3 44:15 45:2 46:7 47:2 48:50 49:3 50:4 51:16 52:8 53:12 54:22 55:8 56:16 57:3 58:2 59:12 60:2 61:8 62:8 63:11 64:10 65:2 66:8 67:9 68:8 69:5 70:10 71:3 72:6 73:7 74:4 75:8 76:5 77:26\n#\n# Letter of Baruch\n##LBA 78:7 79:3 80:7 81:4 82:9 83:23 84:11 85:15 86:3\n#--------------------------------------------------------\n# Books for Ethiopian Canon\n# Jubilees (Ethiopian canon)\n##JUB 1:26 2:17 3:19 4:24 5:36 6:34 7:37 8:40 9:27 10:48 11:39 12:56 13:34 14:55 15:20 16:28 17:30 18:31 19:59 20:66 21:30 22:38 23:59 24:30 25:50 26:48 27:37 28:38 29:27 30:29 31:31 32:24 33:30 34:20\n# Enoch (Ethiopian canon)\n##ENO 1:28 2:42 3:30 4:88 5:40 6:42 7:39 8:46 9:42 10:16 11:19 12:40 13:34 14:35 15:45 16:41 17:69 18:42 19:29 20:53 21:57 22:14 23:26 24:16 25:30 26:37 27:21 28:34 29:28 30:23 31:29 32:82 33:59 34:49 35:36 36:30 37:34 38:36 39:24 40:40 41:22 42:16\n# 1 Meqabyan (Ethiopian canon)\n##1MQ 1:28 2:28 3:38 4:37 5:39 6:38 7:33 8:35 9:10 10:8 11:8 12:44 13:27 14:23 15:20 16:9 17:8 18:12 19:17 20:4 21:31 22:11 23:7 4:22 25:18 26:5 27:20 28:49 29:17 30:16 31:7 32:4 33:11 34:18 35:8 36:46\n# 2 Meqabyan (Ethiopian canon)\n##2MQ 1:13 2:11 3:29 4:32 5:18 6:24 7:9 8:24 9:27 10:28 11:25 12:15 13:14 14:36 15:21 16:15 17:12 18:14 19:15 20:14 \n# 3 Meqabyan (Ethiopian canon)\n##3MQ 1:24 2:23 3:11 4:36 5:16 6:16 7:5 8:12 9:36 10:29\n# Reproof (Ethiopian canon)\n##REP 1:28 2:28 3:27 4:28 5:27 6:22\n# 4 Baruch / Rest of the Words of Baruch (Ethiopian canon)\n##4BA 1:30 2:29 3:30 4:33 5:62\n#---------------------------------------------------------\n# Edited by SS 14.6.2014 added deliberatelly omitted verses\n-GEN 31:51\n-GEN 35:21\n\n-EXO 25:6\n-EXO 28:23\n-EXO 28:24\n-EXO 28:25\n-EXO 28:26\n-EXO 28:27\n-EXO 28:28\n-EXO 32:9\n-EXO 35:8\n-EXO 35:15\n-EXO 35:17\n-EXO 35:18\n-EXO 40:7\n-EXO 40:11\n-EXO 40:28\n-EXO 40:30\n-EXO 40:31\n-EXO 40:32\n\n-JOS 6:4\n-JOS 8:13\n-JOS 8:26\n-JOS 10:15\n-JOS 20:4\n-JOS 20:5\n-JOS 20:6\n\n-1SA 13:1\n-1SA 17:21\n-1SA 17:22\n-1SA 17:23\n-1SA 17:24\n-1SA 17:25\n-1SA 17:26\n-1SA 17:27\n-1SA 17:28\n-1SA 17:29\n-1SA 17:30\n-1SA 17:31\n-1SA 17:41\n-1SA 17:50\n-1SA 18:1\n-1SA 18:2\n-1SA 18:3\n-1SA 18:4\n-1SA 18:5\n-1SA 18:10\n-1SA 18:11\n-1SA 18:17\n-1SA 18:18\n-1SA 18:19\n-1SA 23:12\n\n-1KI 3:1\n-1KI 5:5\n-1KI 5:6\n-1KI 5:7\n-1KI 5:8\n-1KI 5:31\n-1KI 6:11\n-1KI 6:12\n-1KI 6:13\n-1KI 6:14\n-1KI 6:18\n-1KI 8:12\n-1KI 8:13\n-1KI 9:15\n-1KI 9:16\n-1KI 9:17\n-1KI 9:18\n-1KI 9:19\n-1KI 9:20\n-1KI 9:21\n-1KI 9:22\n-1KI 9:23\n-1KI 9:24\n-1KI 9:25\n-1KI 11:3\n-1KI 11:23\n-1KI 11:24\n-1KI 11:39\n-1KI 12:2\n-1KI 12:17\n-1KI 13:27\n-1KI 14:1\n-1KI 14:2\n-1KI 14:3\n-1KI 14:4\n-1KI 14:5\n-1KI 14:6\n-1KI 14:7\n-1KI 14:8\n-1KI 14:9\n-1KI 14:10\n-1KI 14:11\n-1KI 14:12\n-1KI 14:13\n-1KI 14:14\n-1KI 14:15\n-1KI 14:16\n-1KI 14:17\n-1KI 14:18\n-1KI 14:19\n-1KI 14:20\n-1KI 15:6\n-1KI 15:32\n-1KI 22:47\n-1KI 22:48\n-1KI 22:49\n-1KI 22:50\n\n-1SA 17:12\n-1SA 17:13\n-1SA 17:14\n-1SA 17:15\n-1SA 17:16\n-1SA 17:17\n-1SA 17:18\n-1SA 17:19\n-1SA 17:20\n\n-1CH 1:11\n-1CH 1:12\n-1CH 1:13\n-1CH 1:14\n-1CH 1:15\n-1CH 1:16\n-1CH 1:18\n-1CH 1:19\n-1CH 1:20\n-1CH 1:21\n-1CH 1:22\n-1CH 1:23\n-1CH 16:24\n\n-2CH 27:8\n\n-EZR 13:7\n-EZR 14:18\n-EZR 14:19\n-EZR 14:20\n-EZR 14:21\n-EZR 14:22\n-EZR 14:23\n-EZR 19:38\n-EZR 21:16\n-EZR 21:20\n-EZR 21:21\n-EZR 21:28\n-EZR 21:29\n-EZR 21:32\n-EZR 21:33\n-EZR 21:34\n-EZR 21:35\n-EZR 22:4\n-EZR 22:5\n-EZR 22:6\n\n-JOB 23:14\n\n-PSA 115:5\n\n-PRO 4:7\n-PRO 8:33\n-PRO 11:4\n-PRO 15:31\n-PRO 16:1\n-PRO 16:3\n-PRO 16:4\n-PRO 16:6\n-PRO 19:1\n-PRO 19:2\n-PRO 20:14\n-PRO 20:15\n-PRO 20:16\n-PRO 20:17\n-PRO 20:18\n-PRO 20:19\n-PRO 20:20\n-PRO 20:21\n-PRO 20:22\n-PRO 21:5\n-PRO 22:6\n-PRO 23:23\n\n-JER 2:1\n-JER 7:1\n-JER 8:11\n-JER 8:12\n-JER 10:6\n-JER 10:7\n-JER 10:8\n-JER 10:10\n-JER 11:7\n-JER 17:1\n-JER 17:2\n-JER 17:3\n-JER 17:4\n-JER 26:1\n-JER 26:26\n-JER 28:45\n-JER 28:46\n-JER 28:47\n-JER 28:48\n-JER 30:22\n-JER 32:1\n-JER 32:2\n-JER 32:3\n-JER 32:4\n-JER 32:5\n-JER 32:6\n-JER 32:7\n-JER 32:8\n-JER 32:9\n-JER 32:10\n-JER 32:11\n-JER 32:12\n-JER 32:14\n-JER 34:1\n-JER 34:7\n-JER 34:13\n-JER 34:17\n-JER 34:21\n-JER 36:16\n-JER 36:17\n-JER 36:18\n-JER 36:19\n-JER 36:20\n-JER 37:10\n-JER 37:11\n-JER 37:15\n-JER 37:22\n-JER 46:4\n-JER 46:5\n-JER 46:6\n-JER 46:7\n-JER 46:8\n-JER 46:9\n-JER 46:10\n-JER 46:11\n-JER 46:12\n-JER 46:13\n-JER 52:2\n-JER 52:3\n-JER 52:15\n-JER 52:28\n-JER 52:29\n-JER 52:30\n\n-LAM 3:22\n-LAM 3:23\n-LAM 3:24\n-LAM 3:29\n\n-EZK 1:14\n-EZK 10:14\n-EZK 27:31\n-EZK 32:19\n-EZK 33:26\n-EZK 40:30\n\n#------------- DC books ------------\n\n-TOB 4:8\n-TOB 4:9\n-TOB 4:10\n-TOB 4:11\n-TOB 4:12\n-TOB 4:13\n-TOB 4:14\n-TOB 4:15\n-TOB 4:16\n-TOB 4:17\n-TOB 4:18\n-TOB 13:8\n-TOB 13:9\n-TOB 13:10\n\n-ESG 4:6\n-ESG 9:5\n-ESG 9:30\n\n-SIR 1:5\n-SIR 1:7\n-SIR 1:21\n-SIR 3:19\n-SIR 3:25\n-SIR 6:1\n-SIR 10:21\n-SIR 11:15\n-SIR 11:16\n-SIR 13:14\n-SIR 16:15\n-SIR 16:16\n-SIR 17:5\n-SIR 17:9\n-SIR 17:16\n-SIR 17:18\n-SIR 17:21\n-SIR 18:3\n-SIR 19:18\n-SIR 19:19\n-SIR 19:21\n-SIR 22:7\n-SIR 22:8\n-SIR 24:18\n-SIR 24:24\n-SIR 25:12\n-SIR 26:19\n-SIR 26:20\n-SIR 26:21\n-SIR 26:22\n-SIR 26:23\n-SIR 26:24\n-SIR 26:25\n-SIR 26:26\n-SIR 26:27\n\n-4MA 10:4\n-4MA 11:7\n-4MA 11:8\n\n#---------------------------------------------------------\n# Mapping\n# LXX = BHS (see org.vrs)\n#\n# (Note: for performance reasons ranges must not span a chapter, e.g. 4:10-5:11 is illegal)\n#\n# 2ES = EZR and NEH\n#\nEXO 20:13 = EXO 20:14\nEXO 20:14 = EXO 20:15\nEXO 20:15 = EXO 20:13\nEXO 21:16 = EXO 21:17\nEXO 21:17 = EXO 21:16\nEXO 36:9 = EXO 39:2\nEXO 36:10 = EXO 39:3\nEXO 36:11 = EXO 39:4\nEXO 36:12 = EXO 39:5\nEXO 36:13 = EXO 39:6\nEXO 36:14 = EXO 39:7\nEXO 36:15 = EXO 39:8\nEXO 36:16 = EXO 39:9\nEXO 36:17 = EXO 39:10\nEXO 36:20 = EXO 39:13\nEXO 36:21 = EXO 39:14\nEXO 36:22 = EXO 39:15\nEXO 36:23 = EXO 39:16\nEXO 36:25 = EXO 39:17\nEXO 36:26 = EXO 39:18\nEXO 36:27 = EXO 39:19\nEXO 36:28 = EXO 39:20\nEXO 36:29 = EXO 39:21\nEXO 36:30 = EXO 39:22\nEXO 36:31 = EXO 39:23\nEXO 36:32 = EXO 39:24\nEXO 36:33 = EXO 39:25\nEXO 36:34 = EXO 39:26\nEXO 36:35 = EXO 39:27\nEXO 36:36 = EXO 39:28\nEXO 36:37 = EXO 39:29\nEXO 36:38 = EXO 39:30\n\nDEU 5:17 = DEU 5:18\nDEU 5:18 = DEU 5:17\n\n1KI 20:1-29 = 1KI 21:1-29 \n1KI 21:1-43 = 1KI 20:1-43\n\n#\n# Map The Greek versioin of Esther onto the Hebrew version of Esther\n# using the Hebrew version as the reference point.\n# Normally DC material would not have any entries in this part of the lxx.vrs file\n# because the LXX serves as the reference point for DC material.\n# Material which is placed in separate books in HEB and LXX (i.e. EST and ESG)\n# is however placed here and referenced to the HEB reference points.\nESG 1:1-22 = EST 1:1-22\nESG 2:1-23 = EST 2:1-23\nESG 3:1-15 = EST 3:1-15\nESG 4:1-17 = EST 4:1-17\nESG 5:1-14 = EST 5:1-14\nESG 6:1-14 = EST 6:1-14\nESG 7:1-10 = EST 7:1-10\nESG 8:1-17 = EST 8:1-17\nESG 9:1-32 = EST 9:1-32\nESG 10:1-3 = EST 10:1-3\n#\n# PSA 9 = 9+10\nPSA 9:22 = PSA 10:0\nPSA 9:22-39 = PSA 10:1-18\nPSA 10:0-7 = PSA 11:0-7\nPSA 11:0-9 = PSA 12:0-9\nPSA 12:0-6 = PSA 13:0-6\nPSA 13:0-7 = PSA 14:0-7\nPSA 14:0-5 = PSA 15:0-5\nPSA 15:0-11 = PSA 16:0-11\nPSA 16:0-15 = PSA 17:0-15\nPSA 17:0-51 = PSA 18:0-51\nPSA 18:0-15 = PSA 19:0-15\nPSA 19:0-10 = PSA 20:0-10\nPSA 20:0-14 = PSA 21:0-14\nPSA 21:0-32 = PSA 22:0-32\nPSA 22:0-6 = PSA 23:0-6\nPSA 23:0-10 = PSA 24:0-10\nPSA 24:0-22 = PSA 25:0-22\nPSA 25:0-12 = PSA 26:0-12\nPSA 26:0-14 = PSA 27:0-14\nPSA 27:0-9 = PSA 28:0-9\nPSA 28:0-11 = PSA 29:0-11\nPSA 29:0-13 = PSA 30:0-13\nPSA 30:0-25 = PSA 31:0-25\nPSA 31:0-11 = PSA 32:0-11\nPSA 32:0-22 = PSA 33:0-22\nPSA 33:0-23 = PSA 34:0-23\nPSA 34:0-28 = PSA 35:0-28\nPSA 35:0-13 = PSA 36:0-13\nPSA 36:0-40 = PSA 37:0-40\nPSA 37:0-23 = PSA 38:0-23\nPSA 38:0-14 = PSA 39:0-14\nPSA 39:0-18 = PSA 40:0-18\nPSA 40:0-14 = PSA 41:0-14\nPSA 41:0-12 = PSA 42:0-12\nPSA 42:0-5 = PSA 43:0-5\nPSA 43:0-27 = PSA 44:0-27\nPSA 44:0-18 = PSA 45:0-18\nPSA 45:0-12 = PSA 46:0-12\nPSA 46:0-10 = PSA 47:0-10\nPSA 47:0-15 = PSA 48:0-15\nPSA 48:0-21 = PSA 49:0-21\nPSA 49:0-23 = PSA 50:0-23\nPSA 50:0-21 = PSA 51:0-21\nPSA 51:0-11 = PSA 52:0-11\nPSA 52:0-7 = PSA 53:0-7\nPSA 53:0-9 = PSA 54:0-9\nPSA 54:0-24 = PSA 55:0-24\nPSA 55:0-14 = PSA 56:0-14\nPSA 56:0-12 = PSA 57:0-12\nPSA 57:0-12 = PSA 58:0-12\nPSA 58:0-18 = PSA 59:0-18\nPSA 59:0-14 = PSA 60:0-14\nPSA 60:0-9 = PSA 61:0-9\nPSA 61:0-13 = PSA 62:0-13\nPSA 62:0-12 = PSA 63:0-12\nPSA 63:0-11 = PSA 64:0-11\nPSA 64:0-14 = PSA 65:0-14\nPSA 65:0-20 = PSA 66:0-20\nPSA 66:0-8 = PSA 67:0-8\nPSA 67:0-36 = PSA 68:0-36\nPSA 68:0-37 = PSA 69:0-37\nPSA 69:0-6 = PSA 70:0-6\nPSA 70:0-24 = PSA 71:0-24\nPSA 71:0-20 = PSA 72:0-20\nPSA 72:0-28 = PSA 73:0-28\nPSA 73:0-23 = PSA 74:0-23\nPSA 74:0-11 = PSA 75:0-11\nPSA 75:0-13 = PSA 76:0-13\nPSA 76:0-21 = PSA 77:0-21\nPSA 77:0-72 = PSA 78:0-72\nPSA 78:0-13 = PSA 79:0-13\nPSA 79:0-20 = PSA 80:0-20\nPSA 80:0-17 = PSA 81:0-17\nPSA 81:0-8 = PSA 82:0-8\nPSA 82:0-19 = PSA 83:0-19\nPSA 83:0-13 = PSA 84:0-13\nPSA 84:0-14 = PSA 85:0-14\nPSA 85:0-17 = PSA 86:0-17\nPSA 86:0-7 = PSA 87:0-7\nPSA 87:0-19 = PSA 88:0-19\nPSA 88:0-53 = PSA 89:0-53\nPSA 89:0-17 = PSA 90:0-17\nPSA 90:0-16 = PSA 91:0-16\nPSA 91:0-16 = PSA 92:0-16\nPSA 92:0-5 = PSA 93:0-5\nPSA 93:0-23 = PSA 94:0-23\nPSA 94:0-11 = PSA 95:0-11\nPSA 95:0-13 = PSA 96:0-13\nPSA 96:0-12 = PSA 97:0-12\nPSA 97:0-9 = PSA 98:0-9\nPSA 98:0-9 = PSA 99:0-9\nPSA 99:0-5 = PSA 100:0-5\nPSA 100:0-8 = PSA 101:0-8\nPSA 101:0-29 = PSA 102:0-29\nPSA 102:0-22 = PSA 103:0-22\nPSA 103:0-35 = PSA 104:0-35\nPSA 104:0-45 = PSA 105:0-45\nPSA 105:0-48 = PSA 106:0-48\nPSA 106:0-43 = PSA 107:0-43\nPSA 107:0-14 = PSA 108:0-14\nPSA 108:0-31 = PSA 109:0-31\nPSA 109:0-7 = PSA 110:0-7\nPSA 110:0-10 = PSA 111:0-10\nPSA 111:0-10 = PSA 112:0-10\nPSA 112:0-9 = PSA 113:0-9\nPSA 113:0-8 = PSA 114:0-8\nPSA 113:9 = PSA 115:0\nPSA 113:9-26 = PSA 115:1-18\nPSA 114:0-9 = PSA 116:0-9\nPSA 115:0 = PSA 116:10\nPSA 115:1-10 = PSA 116:10-19\t\nPSA 116:0-2 = PSA 117:0-2\nPSA 117:0-29 = PSA 118:0-29\nPSA 118:0-176 = PSA 119:0-176\nPSA 119:0-7 = PSA 120:0-7\nPSA 120:0-8 = PSA 121:0-8\nPSA 121:0-9 = PSA 122:0-9\nPSA 122:0-4 = PSA 123:0-4\nPSA 123:0-8 = PSA 124:0-8\nPSA 124:0-5 = PSA 125:0-5\nPSA 125:0-6 = PSA 126:0-6\nPSA 126:0-5 = PSA 127:0-5\nPSA 127:0-6 = PSA 128:0-6\nPSA 128:0-8 = PSA 129:0-8\nPSA 129:0-8 = PSA 130:0-8\nPSA 130:0-3 = PSA 131:0-3\nPSA 131:0-18 = PSA 132:0-18\nPSA 132:0-3 = PSA 133:0-3\nPSA 133:0-3 = PSA 134:0-3\nPSA 134:0-21 = PSA 135:0-21\nPSA 135:0-26 = PSA 136:0-26\nPSA 136:0-9 = PSA 137:0-9\nPSA 137:0-8 = PSA 138:0-8\nPSA 138:0-24 = PSA 139:0-24\nPSA 139:0-14 = PSA 140:0-14\nPSA 140:0-10 = PSA 141:0-10\nPSA 141:0-8 = PSA 142:0-8\nPSA 142:0-12 = PSA 143:0-12\nPSA 143:0-15 = PSA 144:0-15\nPSA 144:0-21 = PSA 145:0-21\nPSA 145:0-10 = PSA 146:0-10\n# 146 + 147 -> 147\nPSA 146:0-11 = PSA 147:0-11\nPSA 147:0 = PSA 147:12\nPSA 147:1-9 = PSA 147:12-20\n# PSA 151 -> PS2\nPSA 151:0-7 = PS2 1:0-7\n#\n# Jeremiah according to Rahlfs\n# Added by SS 25.3.2003\n#\n# JER 1-25:13 = JER 1-25:13\n# JER 25:14 = part of JER 49:34\n# JER 25:20 = part of JER 49:34\n# JER 52 = JER 52\n#\nJER 25:14-19 = JER 49:34-39\nJER 25:20 = JER 49:34\nJER 26:1-28 = JER 46:1-28\nJER 27:1-46 = JER 50:1-46\nJER 28:1-64 = JER 51:1-64\nJER 29:1-7 = JER 47:1-7\nJER 30:1-16 = JER 49:7-22\nJER 30:17-22 = JER 49:1-6\nJER 30:23-28 = JER 49:28-33\nJER 30:29-33 = JER 49:23-27\nJER 31:1-44 = JER 48:1-44\n# Verses 31:1-13 do not exist\nJER 32:13 = JER 25:13\n# Verse 32:14 does not exist\nJER 32:15-38 = JER 25:15-38\nJER 33:1-24 = JER 26:1-24\nJER 34:1-22 = JER 27:1-22\nJER 35:1-17 = JER 28:1-17\nJER 36:1-32 = JER 29:1-32\nJER 37:1-24 = JER 30:1-24\nJER 38:1-40 = JER 31:1-40\nJER 39:1-44 = JER 32:1-44\nJER 40:1-13 = JER 33:1-13\nJER 41:1-22 = JER 34:1-22\nJER 42:1-19 = JER 35:1-19\nJER 43:1-32 = JER 36:1-32\nJER 44:1-21 = JER 37:1-21\nJER 45:1-28 = JER 38:1-28\nJER 46:1-3 = JER 39:1-3\n# Verses 46:4-13 do not exist\nJER 46:14-18 = JER 39:14-18\nJER 47:1-16 = JER 40:1-16\nJER 48:1-18 = JER 41:1-18\nJER 49:1-22 = JER 42:1-22\nJER 50:1-13 = JER 43:1-13\nJER 51:1-30 = JER 44:1-30\nJER 51:31-35 = JER 45:1-5\n#\n# Map The Greek versioin of Daniel onto the Hebrew version of Daniel\n# using the Hebrew version as the reference point.\n# Normally DC material would not have any entries in this part of the lxx.vrs file\n# because the LXX serves as the reference point for DC material.\n# Material which is placed in separate books in HEB and LXX (i.e. DAN and DAG)\n# is however placed here and referenced to the HEB reference point.\n#\n# If you have a text in which the DAG material has been (incorrectly) placed into DAN\n# you must create a versification file in which DAN appears as the first book in \n# the following section. You cannot have both DAN = DAN and DAG = DAN entries\n# in a single file.\nDAG 1:1-21 = DAN 1:1-21\nDAG 2:1-49 = DAN 2:1-49\nDAG 3:1-23 = DAN 3:1-23\nDAG 3:91-97 = DAN 3:24-30\nDAG 4:1-3 = DAN 3:31-33\nDAG 4:4-37 = DAN 4:1-34\nDAG 5:1-31 = DAN 5:1-31\nDAG 6:1-28 = DAN 6:1-28\nDAG 7:1-28 = DAN 7:1-28\nDAG 8:1-27 = DAN 8:1-27\nDAG 9:1-27 = DAN 9:1-27\nDAG 10:1-21 = DAN 10:1-21\nDAG 11:1-45 = DAN 11:1-45 \nDAG 12:1-13 = DAN 12:1-13\n#\n# No entries present for S3Y because this book would not normally be present in a text based\n# on the LXX versification. The S3Y material would instead start at DAG 3:24.\n#\n# When Ezra-Nehemiah is one book Ezra 11-23 maps onto Nehemiah\n# LXX mapping onto BHS\nEZR 11:1-11 = NEH 1:1-11\nEZR 12:1-20 = NEH 2:1-20\nEZR 13:1-38 = NEH 3:1-38\nEZR 14:1-17 = NEH 4:1-17\nEZR 15:1-19 = NEH 5:1-19\nEZR 16:1-19 = NEH 6:1-19\nEZR 17:1-72 = NEH 7:1-72\nEZR 18:1-18 = NEH 8:1-18\nEZR 19:1-37 = NEH 9:1-37\nEZR 20:1-40 = NEH 10:1-40\nEZR 21:1-36 = NEH 11:1-36\nEZR 22:1-47 = NEH 12:1-47\nEZR 23:1-31 = NEH 13:1-31\n#---------------------------\n# Mapping 2 Esdras onto the older Apocalypse of Ezra [Studge]\n2ES 3:1-36 = EZA 1:1-36\n2ES 4:1-52 = EZA 2:1-52\n2ES 5:1-56 = EZA 3:1-56\n2ES 6:1-59 = EZA 4:1-59\n2ES 7:1-35 = EZA 5:1-35\n2ES 7:106-140 = EZA 5:36-70\n2ES 8:1-63 = EZA 6:1-63\n2ES 9:1-47 = EZA 7:1-47\n2ES 10:1-60 = EZA 8:1-60\n2ES 11:1-46 = EZA 9:1-46\n2ES 12:1-51 = EZA 10:1-51\n2ES 13:1-58 = EZA 11:1-58\n2ES 14:1-48 = EZA 12:1-48\n#----------------------------\n# Some texts (but not LXX) contain SUS and BEL as chapters 13 and 14 of DAG.\n# There should not be any entries for DAG 13 and DAG 14 in the lxx.vrs because these chapters do not \n# exist in the LXX.\n# If you have a text which has DAG 13 and 14 you will need to have a .vrs file that includes the following\n# two mapping.\n#\n# Susanna\n# DAG 13:1-63 = SUS 1:1-63\n# Bel and the Dragon\n# DAG 14:1-42 = BEL 1:1-42\n#\n#----------------------------\n# Verse segment information for the Septuagint.\n# The verse segment information is preceded by a '#!' so that it will be ignored by versions \n# of Paratext prior to Paratext 7.3 (and thus avoid crashing it with an unexpected format). \n#! *EXO 28:29,-,a \n#! *EXO 35:12,-,a \n#! *JOS 9:2,-,a,b,c,d,e,f \n#! *JOS 15:59,-,a \n#! *JOS 19:47,-,a \n#! *JOS 19:48,-,a \n#! *JOS 21:42,-,a,b,c,d \n#! *JOS 24:31,-,a \n#! *JOS 24:33,-,a,b \n#! *1SA 30:28,-,a \n#! *2SA 5:16,-,a \n#! *1KI 2:35,-,a,b,c,d,e,f,g,h,i,k,l,m,n,o \n#! *1KI 2:46,-,a,b,c,d,e,f,g,h,i,k,l \n#! *1KI 5:14,-,a,b \n#! *1KI 6:1,-,a,b,c,d \n#! *1KI 6:36,-,a \n#! *1KI 8:53,-,a \n#! *1KI 9:9,-,a \n#! *1KI 10:22,-,a,b,c \n#! *1KI 10:26,-,a \n#! *1KI 12:24,-,a,b,c,d,e,f,g,h,i,k,l,m,n,o,p,q,r,s,t,u,x,y,z \n#! *1KI 16:28,-,a,b,c,d,e,f,g,h \n#! *2KI 1:18,-,a,b,c,d \n#! *2CH 35:19,-,a,b,c,d \n#! *2CH 36:2,-,a,b,c \n#! *2CH 36:4,-,a \n#! *2CH 36:5,-,a,b,c,d \n#! *JOB 2:9,-,a,b,c,d,e \n#! *JOB 19:4,-,a \n#! *JOB 23:15,-,a \n#! *JOB 36:28,-,a,b \n#! *JOB 42:17,-,a,b,c,d,e \n#! *PSA 144:13,-,a \n#! *PRO 3:16,-,a \n#! *PRO 3:22,-,a \n#! *PRO 4:27,-,a,b \n#! *PRO 6:8,-,a,b,c \n#! *PRO 6:11,-,a \n#! *PRO 7:1,-,a \n#! *PRO 8:21,-,a \n#! *PRO 9:10,-,a \n#! *PRO 9:12,-,a,b,c \n#! *PRO 9:18,-,a,b,c,d \n#! *PRO 10:4,-,a \n#! *PRO 12:11,-,a \n#! *PRO 12:13,-,a \n#! *PRO 13:9,-,a \n#! *PRO 13:13,-,a \n#! *PRO 15:18,-,a \n#! *PRO 15:27,-,a \n#! *PRO 15:28,-,a \n#! *PRO 15:29,-,a,b \n#! *PRO 17:6,-,a \n#! *PRO 17:16,-,a \n#! *PRO 18:22,-,a \n#! *PRO 20:9,-,a,b,c \n#! *PRO 22:8,-,a \n#! *PRO 22:9,-,a \n#! *PRO 22:14,-,a \n#! *PRO 24:22,-,a,b,c,d,e \n#! *PRO 25:10,-,a \n#! *PRO 25:20,-,a \n#! *PRO 26:11,-,a \n#! *PRO 27:20,-,a \n#! *PRO 27:21,-,a \n#! *PRO 28:17,-,a \n#! *ESG 1:1,-,b,c,d,e,f,g,h,i,k,l,m,n,o,p,q,r,s \n#! *ESG 3:13,-,a,b,c,d,e,f,g \n#! *ESG 4:17,-,a,b,c,d,e,f,g,h,i,k,l,m,n,o,p,q,r,s,t,u,w,x,y,z \n#! *ESG 5:1,-,a,b,c,d,e,f \n#! *ESG 5:2,-,a,b \n#! *ESG 8:12,-,a,b,c,d,e,f,g,h,i,k,l,m,n,o,p,q,r,s,t,u,x \n#! *ESG 10:3,-,a,b,c,d,e,f,g,h,i,k,l \n#! *SIR 1:1,-,a,b,c,d,e,f,g,h \n"},org:{raw:'# Versification "Original" \n# Version=1.200\n# (not a very good name but I have not heard a better suggestion)\n#\n# modifications by Studge 26/June/2009\n#\n# BHS versification for OT, UBS GNT versification for NT\n# following the Masoretic order\n# OT translations using Masorteic verse structures should map onto this text\n# NT versifications maps onto Nestle-Aland\n#\n# List of books, chapters, verses\n# One line per book.\n# One entry for each chapter.\n# Verse number is the maximum verse number for that chapter.\n# See the lines containing =\'s below for verse mappings.\n#\n#---------------------------------------------------------------\n# Old Testament\nGEN 1:31 2:25 3:24 4:26 5:32 6:22 7:24 8:22 9:29 10:32 11:32 12:20 13:18 14:24 15:21 16:16 17:27 18:33 19:38 20:18 21:34 22:24 23:20 24:67 25:34 26:35 27:46 28:22 29:35 30:43 31:54 32:33 33:20 34:31 35:29 36:43 37:36 38:30 39:23 40:23 41:57 42:38 43:34 44:34 45:28 46:34 47:31 48:22 49:33 50:26\nEXO 1:22 2:25 3:22 4:31 5:23 6:30 7:29 8:28 9:35 10:29 11:10 12:51 13:22 14:31 15:27 16:36 17:16 18:27 19:25 20:26 21:37 22:30 23:33 24:18 25:40 26:37 27:21 28:43 29:46 30:38 31:18 32:35 33:23 34:35 35:35 36:38 37:29 38:31 39:43 40:38\nLEV 1:17 2:16 3:17 4:35 5:26 6:23 7:38 8:36 9:24 10:20 11:47 12:8 13:59 14:57 15:33 16:34 17:16 18:30 19:37 20:27 21:24 22:33 23:44 24:23 25:55 26:46 27:34\nNUM 1:54 2:34 3:51 4:49 5:31 6:27 7:89 8:26 9:23 10:36 11:35 12:16 13:33 14:45 15:41 16:35 17:28 18:32 19:22 20:29 21:35 22:41 23:30 24:25 25:19 26:65 27:23 28:31 29:39 30:17 31:54 32:42 33:56 34:29 35:34 36:13\nDEU 1:46 2:37 3:29 4:49 5:33 6:25 7:26 8:20 9:29 10:22 11:32 12:31 13:19 14:29 15:23 16:22 17:20 18:22 19:21 20:20 21:23 22:29 23:26 24:22 25:19 26:19 27:26 28:69 29:28 30:20 31:30 32:52 33:29 34:12\nJOS 1:18 2:24 3:17 4:24 5:15 6:27 7:26 8:35 9:27 10:43 11:23 12:24 13:33 14:15 15:63 16:10 17:18 18:28 19:51 20:9 21:45 22:34 23:16 24:33\nJDG 1:36 2:23 3:31 4:24 5:31 6:40 7:25 8:35 9:57 10:18 11:40 12:15 13:25 14:20 15:20 16:31 17:13 18:31 19:30 20:48 21:25\nRUT 1:22 2:23 3:18 4:22\n1SA 1:28 2:36 3:21 4:22 5:12 6:21 7:17 8:22 9:27 10:27 11:15 12:25 13:23 14:52 15:35 16:23 17:58 18:30 19:24 20:42 21:16 22:23 23:28 24:23 25:44 26:25 27:12 28:25 29:11 30:31 31:13\n2SA 1:27 2:32 3:39 4:12 5:25 6:23 7:29 8:18 9:13 10:19 11:27 12:31 13:39 14:33 15:37 16:23 17:29 18:32 19:44 20:26 21:22 22:51 23:39 24:25\n1KI 1:53 2:46 3:28 4:20 5:32 6:38 7:51 8:66 9:28 10:29 11:43 12:33 13:34 14:31 15:34 16:34 17:24 18:46 19:21 20:43 21:29 22:54\n2KI 1:18 2:25 3:27 4:44 5:27 6:33 7:20 8:29 9:37 10:36 11:20 12:22 13:25 14:29 15:38 16:20 17:41 18:37 19:37 20:21 21:26 22:20 23:37 24:20 25:30\n1CH 1:54 2:55 3:24 4:43 5:41 6:66 7:40 8:40 9:44 10:14 11:47 12:41 13:14 14:17 15:29 16:43 17:27 18:17 19:19 20:8 21:30 22:19 23:32 24:31 25:31 26:32 27:34 28:21 29:30\n2CH 1:18 2:17 3:17 4:22 5:14 6:42 7:22 8:18 9:31 10:19 11:23 12:16 13:23 14:14 15:19 16:14 17:19 18:34 19:11 20:37 21:20 22:12 23:21 24:27 25:28 26:23 27:9 28:27 29:36 30:27 31:21 32:33 33:25 34:33 35:27 36:23\nEZR 1:11 2:70 3:13 4:24 5:17 6:22 7:28 8:36 9:15 10:44\nNEH 1:11 2:20 3:38 4:17 5:19 6:19 7:72 8:18 9:37 10:40 11:36 12:47 13:31\nEST 1:22 2:23 3:15 4:17 5:14 6:14 7:10 8:17 9:32 10:3\nJOB 1:22 2:13 3:26 4:21 5:27 6:30 7:21 8:22 9:35 10:22 11:20 12:25 13:28 14:22 15:35 16:22 17:16 18:21 19:29 20:29 21:34 22:30 23:17 24:25 25:6 26:14 27:23 28:28 29:25 30:31 31:40 32:22 33:33 34:37 35:16 36:33 37:24 38:41 39:30 40:32 41:26 42:17\nPSA 1:6 2:12 3:9 4:9 5:13 6:11 7:18 8:10 9:21 10:18 11:7 12:9 13:6 14:7 15:5 16:11 17:15 18:51 19:15 20:10 21:14 22:32 23:6 24:10 25:22 26:12 27:14 28:9 29:11 30:13 31:25 32:11 33:22 34:23 35:28 36:13 37:40 38:23 39:14 40:18 41:14 42:12 43:5 44:27 45:18 46:12 47:10 48:15 49:21 50:23 51:21 52:11 53:7 54:9 55:24 56:14 57:12 58:12 59:18 60:14 61:9 62:13 63:12 64:11 65:14 66:20 67:8 68:36 69:37 70:6 71:24 72:20 73:28 74:23 75:11 76:13 77:21 78:72 79:13 80:20 81:17 82:8 83:19 84:13 85:14 86:17 87:7 88:19 89:53 90:17 91:16 92:16 93:5 94:23 95:11 96:13 97:12 98:9 99:9 100:5 101:8 102:29 103:22 104:35 105:45 106:48 107:43 108:14 109:31 110:7 111:10 112:10 113:9 114:8 115:18 116:19 117:2 118:29 119:176 120:7 121:8 122:9 123:4 124:8 125:5 126:6 127:5 128:6 129:8 130:8 131:3 132:18 133:3 134:3 135:21 136:26 137:9 138:8 139:24 140:14 141:10 142:8 143:12 144:15 145:21 146:10 147:20 148:14 149:9 150:6\nPRO 1:33 2:22 3:35 4:27 5:23 6:35 7:27 8:36 9:18 10:32 11:31 12:28 13:25 14:35 15:33 16:33 17:28 18:24 19:29 20:30 21:31 22:29 23:35 24:34 25:28 26:28 27:27 28:28 29:27 30:33 31:31\nECC 1:18 2:26 3:22 4:17 5:19 6:12 7:29 8:17 9:18 10:20 11:10 12:14\nSNG 1:17 2:17 3:11 4:16 5:16 6:12 7:14 8:14\nISA 1:31 2:22 3:26 4:6 5:30 6:13 7:25 8:23 9:20 10:34 11:16 12:6 13:22 14:32 15:9 16:14 17:14 18:7 19:25 20:6 21:17 22:25 23:18 24:23 25:12 26:21 27:13 28:29 29:24 30:33 31:9 32:20 33:24 34:17 35:10 36:22 37:38 38:22 39:8 40:31 41:29 42:25 43:28 44:28 45:25 46:13 47:15 48:22 49:26 50:11 51:23 52:15 53:12 54:17 55:13 56:12 57:21 58:14 59:21 60:22 61:11 62:12 63:19 64:11 65:25 66:24\nJER 1:19 2:37 3:25 4:31 5:31 6:30 7:34 8:23 9:25 10:25 11:23 12:17 13:27 14:22 15:21 16:21 17:27 18:23 19:15 20:18 21:14 22:30 23:40 24:10 25:38 26:24 27:22 28:17 29:32 30:24 31:40 32:44 33:26 34:22 35:19 36:32 37:21 38:28 39:18 40:16 41:18 42:22 43:13 44:30 45:5 46:28 47:7 48:47 49:39 50:46 51:64 52:34\nLAM 1:22 2:22 3:66 4:22 5:22\nEZK 1:28 2:10 3:27 4:17 5:17 6:14 7:27 8:18 9:11 10:22 11:25 12:28 13:23 14:23 15:8 16:63 17:24 18:32 19:14 20:44 21:37 22:31 23:49 24:27 25:17 26:21 27:36 28:26 29:21 30:26 31:18 32:32 33:33 34:31 35:15 36:38 37:28 38:23 39:29 40:49 41:26 42:20 43:27 44:31 45:25 46:24 47:23 48:35\nDAN 1:21 2:49 3:33 4:34 5:30 6:29 7:28 8:27 9:27 10:21 11:45 12:13\nHOS 1:9 2:25 3:5 4:19 5:15 6:11 7:16 8:14 9:17 10:15 11:11 12:15 13:15 14:10\nJOL 1:20 2:27 3:5 4:21\nAMO 1:15 2:16 3:15 4:13 5:27 6:14 7:17 8:14 9:15\nOBA 1:21\nJON 1:16 2:11 3:10 4:11\nMIC 1:16 2:13 3:12 4:14 5:14 6:16 7:20\nNAM 1:14 2:14 3:19\nHAB 1:17 2:20 3:19\nZEP 1:18 2:15 3:20\nHAG 1:15 2:23\nZEC 1:17 2:17 3:10 4:14 5:11 6:15 7:14 8:23 9:17 10:12 11:17 12:14 13:9 14:21\nMAL 1:14 2:17 3:24\n#---------------------------------------------------------\n# New Testament books\nMAT 1:25 2:23 3:17 4:25 5:48 6:34 7:29 8:34 9:38 10:42 11:30 12:50 13:58 14:36 15:39 16:28 17:27 18:35 19:30 20:34 21:46 22:46 23:39 24:51 25:46 26:75 27:66 28:20\nMRK 1:45 2:28 3:35 4:41 5:43 6:56 7:37 8:38 9:50 10:52 11:33 12:44 13:37 14:72 15:47 16:20\nLUK 1:80 2:52 3:38 4:44 5:39 6:49 7:50 8:56 9:62 10:42 11:54 12:59 13:35 14:35 15:32 16:31 17:37 18:43 19:48 20:47 21:38 22:71 23:56 24:53\nJHN 1:51 2:25 3:36 4:54 5:47 6:71 7:53 8:59 9:41 10:42 11:57 12:50 13:38 14:31 15:27 16:33 17:26 18:40 19:42 20:31 21:25\nACT 1:26 2:47 3:26 4:37 5:42 6:15 7:60 8:40 9:43 10:48 11:30 12:25 13:52 14:28 15:41 16:40 17:34 18:28 19:40 20:38 21:40 22:30 23:35 24:27 25:27 26:32 27:44 28:31\nROM 1:32 2:29 3:31 4:25 5:21 6:23 7:25 8:39 9:33 10:21 11:36 12:21 13:14 14:23 15:33 16:27\n1CO 1:31 2:16 3:23 4:21 5:13 6:20 7:40 8:13 9:27 10:33 11:34 12:31 13:13 14:40 15:58 16:24\n2CO 1:24 2:17 3:18 4:18 5:21 6:18 7:16 8:24 9:15 10:18 11:33 12:21 13:13\nGAL 1:24 2:21 3:29 4:31 5:26 6:18\nEPH 1:23 2:22 3:21 4:32 5:33 6:24\nPHP 1:30 2:30 3:21 4:23\nCOL 1:29 2:23 3:25 4:18\n1TH 1:10 2:20 3:13 4:18 5:28\n2TH 1:12 2:17 3:18\n1TI 1:20 2:15 3:16 4:16 5:25 6:21\n2TI 1:18 2:26 3:17 4:22\nTIT 1:16 2:15 3:15\nPHM 1:25\nHEB 1:14 2:18 3:19 4:16 5:14 6:20 7:28 8:13 9:28 10:39 11:40 12:29 13:25\nJAS 1:27 2:26 3:18 4:17 5:20\n1PE 1:25 2:25 3:22 4:19 5:14\n2PE 1:21 2:22 3:18\n1JN 1:10 2:29 3:24 4:21 5:21\n2JN 1:13\n3JN 1:15\nJUD 1:25\nREV 1:20 2:29 3:22 4:11 5:14 6:17 7:17 8:13 9:21 10:11 11:19 12:18 13:18 14:20 15:8 16:21 17:18 18:24 19:21 20:15 21:27 22:21\n#------------------------------------------------\n# Deuterocanonical books from the LXX which are in the Catholic tradition\nTOB 1:22 2:14 3:17 4:21 5:23 6:19 7:17 8:21 9:6 10:14 11:19 12:22 13:18 14:15\nJDT 1:16 2:28 3:10 4:15 5:24 6:21 7:32 8:36 9:14 10:23 11:23 12:20 13:20 14:19 15:14 16:25\nESG 1:39 2:23 3:22 4:47 5:28 6:14 7:10 8:39 9:32 10:13\nWIS 1:16 2:24 3:19 4:20 5:23 6:25 7:30 8:21 9:18 10:21 11:26 12:27 13:19 14:31 15:19 16:29 17:20 18:25 19:22\nSIR 1:30 2:18 3:31 4:31 5:15 6:37 7:36 8:19 9:18 10:31 11:34 12:18 13:26 14:27 15:20 16:30 17:32 18:33 19:30 20:31 21:28 22:27 23:27 24:34 25:26 26:29 27:30 28:26 29:28 30:25 31:31 32:24 33:33 34:26 35:24 36:27 37:31 38:34 39:35 40:30 41:27 42:25 43:33 44:23 45:26 46:20 47:25 48:25 49:16 50:29 51:30\nBAR 1:22 2:35 3:38 4:37 5:9\nLJE 1:72\nS3Y 1:67\nSUS 1:64\nBEL 1:42\n1MA 1:64 2:70 3:60 4:61 5:68 6:63 7:50 8:32 9:73 10:89 11:74 12:53 13:53 14:49 15:41 16:24\n2MA 1:36 2:32 3:40 4:50 5:27 6:31 7:42 8:36 9:29 10:38 11:38 12:45 13:26 14:46 15:39\n#---------------------------------------------------\n# Additional Orthodox books from the LXX\n3MA 1:29 2:33 3:30 4:21 5:51 6:41 7:23\n4MA 1:35 2:24 3:21 4:26 5:38 6:35 7:23 8:29 9:32 10:21 11:27 12:19 13:27 14:20 15:32 16:25 17:24 18:24\n1ES 1:55 2:26 3:24 4:63 5:71 6:33 7:15 8:92 9:55\n# This was the wrong definition for 2ES\n# 2ES 1:11 2:70 3:13 4:24 5:17 6:22 7:28 8:36 9:15 10:44 11:11 12:20 13:37 14:17 15:19 16:19 17:73 18:18 19:37 20:40 21:36 22:47 23:31\n# This is the correct definition of 2ES, the "original" book was EZA\n2ES 1:40 2:48 3:36 4:52 5:56 6:59 7:140 8:63 9:47 10:59 11:46 12:51 13:58 14:48 15:63 16:78\nMAN 1:15\nPS2 1:7\n#-------------------------------------------------------\n# ODA and PSS are only in the LXX and SYR projects. \nODA 1:19 2:43 3:10 4:19 5:12 6:8 7:20 8:37 9:22 10:9 11:11 12:15 13:4 14:46\nPSS 1:8 2:37 3:12 4:25 5:19 6:6 7:10 8:34 9:11 10:8 11:9 12:6 13:12 14:10 15:13 16:15 17:46 18:12\n#-------------------------------------------------------\n# the following codes are for obselete LXX variants only in LXX and not supported in PT 7\nJSA 1:18 2:24 3:17 4:24 5:15 6:27 7:26 8:35 9:27 10:43 11:23 12:24 13:33 14:15 15:63 16:10 17:18 18:28 19:51 20:9 21:45 22:34 23:16 24:33\nJDB 1:36 2:23 3:31 4:24 5:31 6:40 7:25 8:35 9:57 10:18 11:40 12:15 13:25 14:20 15:20 16:31 17:13 18:31 19:30 20:48 21:25\nTBS 1:22 2:14 3:17 4:21 5:23 6:19 7:17 8:21 9:6 10:14 11:19 12:22 13:18 14:15\nSST 1:64\nDNT 1:21 2:49 3:97 4:37 5:30 6:29 7:28 8:27 9:27 10:21 11:45 12:13\nBLT 1:42\n#\n# No mappings are present for this versification since it represents\n# the "standard" versification to which all OT and NT texts are mapped in these files.\n# (DC texts follow the LXX)\n#\n#-------------------------------------------------------\n# Apocalypse of Ezra [Studge]\nEZA 1:36 2:52 3:56 4:59 5:139 6:63 7:47 8:60 9:46 10:51 11:58 12:48\n#--------------------------------------------------------\n# Jubilees and Enoch have both been found in the Hebrew [Studge]\n# might be needed if we add Dead Sea Scrolls\n# Jubilees (Ethiopian canon)\nJUB 1:26 2:17 3:19 4:24 5:36 6:34 7:37 8:40 9:27 10:48 11:39 12:56 13:34 14:55 15:20 16:28 17:30 18:31 19:59 20:66 21:30 22:38 23:59 24:30 25:50 26:48 27:37 28:38 29:27 30:29 31:31 32:24 33:30 34:20\n# Enoch (Ethiopian canon)\nENO 1:28 2:42 3:30 4:88 5:40 6:42 7:39 8:46 9:42 10:16 11:19 12:40 13:34 14:35 15:45 16:41 17:69 18:42 19:29 20:53 21:57 22:14 23:26 24:16 25:30 26:37 27:21 28:34 29:28 30:23 31:29 32:82 33:59 34:49 35:36 36:30 37:34 38:36 39:24 40:40 41:22 42:16\n#\n# S3Y is a small section of the DAG LXX pulled out and translated as a separate book.\n# Map it back to the LXX. This section allow\'s texts such as TOB (French) which do\n# this to scroll correctly with the LXX.\n# S3Y is not present in the GRK, HEB, or LXX(Ralphs) text.\n# If a text has DAG present, this section must NOT be included in its versification file because\n# that would cause references in other texts to DAG to be redirected to a non-existant S3Y.\nS3Y 1:1-29 = DAG 3:24-52\nS3Y 1:30-31 = DAG 3:52-53\nS3Y 1:33 = DAG 3:54\nS3Y 1:32 = DAG 3:55\nS3Y 1:34-35 = DAG 3:56-57\nS3Y 1:37 = DAG 3:58\nS3Y 1:36 = DAG 3:59\nS3Y 1:38-68 = DAG 3:60-90\n'},rsc:{raw:'# Versification "Russian Protestant"\n# Version=1.4\n#\n# This is the versification used by the "Canonical" (Protestant) edition of the Russian Synodal Bible\n# Initial version provided by Peter_Kirk@sil.org\n# Corrected 27/May/2003 by matjaz.crnivec@drustvo-svds.si:\n# Number of vss: ISA 3; REV 12\n# Mappings: LEV 14; 1KI 22; 1CH 12; NEH 7; ISA 3; 2CO 11; REV 13\n#\n# List of books, chapters, verses\n# One line per book.\n# One entry for each chapter.\n# Verse number is the maximum verse number for that chapter.\n# See the lines containing =\'s below for verse mappings.\n#\n#------------------------------------------------------------\n# Old Testament\nGEN 1:31 2:25 3:24 4:26 5:32 6:22 7:24 8:22 9:29 10:32 11:32 12:20 13:18 14:24 15:21 16:16 17:27 18:33 19:38 20:18 21:34 22:24 23:20 24:67 25:34 26:35 27:46 28:22 29:35 30:43 31:55 32:32 33:20 34:31 35:29 36:43 37:36 38:30 39:23 40:23 41:57 42:38 43:34 44:34 45:28 46:34 47:31 48:22 49:33 50:26\nEXO 1:22 2:25 3:22 4:31 5:23 6:30 7:25 8:32 9:35 10:29 11:10 12:51 13:22 14:31 15:27 16:36 17:16 18:27 19:25 20:26 21:36 22:31 23:33 24:18 25:40 26:37 27:21 28:43 29:46 30:38 31:18 32:35 33:23 34:35 35:35 36:38 37:29 38:31 39:43 40:38\nLEV 1:17 2:16 3:17 4:35 5:19 6:30 7:38 8:36 9:24 10:20 11:47 12:8 13:59 14:56 15:33 16:34 17:16 18:30 19:37 20:27 21:24 22:33 23:44 24:23 25:55 26:46 27:34\nNUM 1:54 2:34 3:51 4:49 5:31 6:27 7:89 8:26 9:23 10:36 11:35 12:15 13:34 14:45 15:41 16:50 17:13 18:32 19:22 20:29 21:35 22:41 23:30 24:25 25:18 26:65 27:23 28:31 29:39 30:17 31:54 32:42 33:56 34:29 35:34 36:13\nDEU 1:46 2:37 3:29 4:49 5:33 6:25 7:26 8:20 9:29 10:22 11:32 12:32 13:18 14:29 15:23 16:22 17:20 18:22 19:21 20:20 21:23 22:30 23:25 24:22 25:19 26:19 27:26 28:68 29:29 30:20 31:30 32:52 33:29 34:12\nJOS 1:18 2:24 3:17 4:24 5:16 6:26 7:26 8:35 9:27 10:43 11:23 12:24 13:33 14:15 15:63 16:10 17:18 18:28 19:51 20:9 21:45 22:34 23:16 24:33\nJDG 1:36 2:23 3:31 4:24 5:31 6:40 7:25 8:35 9:57 10:18 11:40 12:15 13:25 14:20 15:20 16:31 17:13 18:31 19:30 20:48 21:25\nRUT 1:22 2:23 3:18 4:22\n1SA 1:28 2:36 3:21 4:22 5:12 6:21 7:17 8:22 9:27 10:27 11:15 12:25 13:23 14:52 15:35 16:23 17:58 18:30 19:24 20:43 21:15 22:23 23:28 24:23 25:44 26:25 27:12 28:25 29:11 30:31 31:13\n2SA 1:27 2:32 3:39 4:12 5:25 6:23 7:29 8:18 9:13 10:19 11:27 12:31 13:39 14:33 15:37 16:23 17:29 18:33 19:43 20:26 21:22 22:51 23:39 24:25\n1KI 1:53 2:46 3:28 4:34 5:18 6:38 7:51 8:66 9:28 10:29 11:43 12:33 13:34 14:31 15:34 16:34 17:24 18:46 19:21 20:43 21:29 22:53\n2KI 1:18 2:25 3:27 4:44 5:27 6:33 7:20 8:29 9:37 10:36 11:21 12:21 13:25 14:29 15:38 16:20 17:41 18:37 19:37 20:21 21:26 22:20 23:37 24:20 25:30\n1CH 1:54 2:55 3:24 4:43 5:26 6:81 7:40 8:40 9:44 10:14 11:47 12:40 13:14 14:17 15:29 16:43 17:27 18:17 19:19 20:8 21:30 22:19 23:32 24:31 25:31 26:32 27:34 28:21 29:30\n2CH 1:17 2:18 3:17 4:22 5:14 6:42 7:22 8:18 9:31 10:19 11:23 12:16 13:22 14:15 15:19 16:14 17:19 18:34 19:11 20:37 21:20 22:12 23:21 24:27 25:28 26:23 27:9 28:27 29:36 30:27 31:21 32:33 33:25 34:33 35:27 36:23\nEZR 1:11 2:70 3:13 4:24 5:17 6:22 7:28 8:36 9:15 10:44\nNEH 1:11 2:20 3:32 4:23 5:19 6:19 7:73 8:18 9:38 10:39 11:36 12:47 13:31\nEST 1:22 2:23 3:15 4:17 5:14 6:14 7:10 8:17 9:32 10:3\nJOB 1:22 2:13 3:26 4:21 5:27 6:30 7:21 8:22 9:35 10:22 11:20 12:25 13:28 14:22 15:35 16:22 17:16 18:21 19:29 20:29 21:34 22:30 23:17 24:25 25:6 26:14 27:23 28:28 29:25 30:31 31:40 32:22 33:33 34:37 35:16 36:33 37:24 38:41 39:35 40:27 41:26 42:17\nPSA 1:6 2:12 3:9 4:9 5:13 6:11 7:18 8:10 9:39 10:7 11:9 12:6 13:7 14:5 15:11 16:15 17:51 18:15 19:10 20:14 21:32 22:6 23:10 24:22 25:12 26:14 27:9 28:11 29:13 30:25 31:11 32:22 33:23 34:28 35:13 36:40 37:23 38:14 39:18 40:14 41:12 42:5 43:27 44:18 45:12 46:10 47:15 48:21 49:23 50:21 51:11 52:7 53:9 54:24 55:14 56:12 57:12 58:18 59:14 60:9 61:13 62:12 63:11 64:14 65:20 66:8 67:36 68:37 69:6 70:24 71:20 72:28 73:23 74:11 75:13 76:21 77:72 78:13 79:20 80:17 81:8 82:19 83:13 84:14 85:17 86:7 87:19 88:53 89:17 90:16 91:16 92:5 93:23 94:11 95:13 96:12 97:9 98:9 99:5 100:8 101:29 102:22 103:35 104:45 105:48 106:43 107:14 108:31 109:7 110:10 111:10 112:9 113:26 114:9 115:10 116:2 117:29 118:176 119:7 120:8 121:9 122:4 123:8 124:5 125:6 126:5 127:6 128:8 129:8 130:3 131:18 132:3 133:3 134:21 135:26 136:9 137:8 138:24 139:14 140:10 141:7 142:12 143:15 144:21 145:10 146:11 147:9 148:14 149:9 150:6\nPRO 1:33 2:22 3:35 4:27 5:23 6:35 7:27 8:36 9:18 10:32 11:31 12:28 13:25 14:35 15:33 16:33 17:28 18:24 19:29 20:30 21:31 22:29 23:35 24:34 25:28 26:28 27:27 28:28 29:27 30:33 31:31\nECC 1:18 2:26 3:22 4:17 5:19 6:12 7:29 8:17 9:18 10:20 11:10 12:14\nSNG 1:16 2:17 3:11 4:16 5:16 6:12 7:14 8:14\nISA 1:31 2:22 3:25 4:6 5:30 6:13 7:25 8:22 9:21 10:34 11:16 12:6 13:22 14:32 15:9 16:14 17:14 18:7 19:25 20:6 21:17 22:25 23:18 24:23 25:12 26:21 27:13 28:29 29:24 30:33 31:9 32:20 33:24 34:17 35:10 36:22 37:38 38:22 39:8 40:31 41:29 42:25 43:28 44:28 45:25 46:13 47:15 48:22 49:26 50:11 51:23 52:15 53:12 54:17 55:13 56:12 57:21 58:14 59:21 60:22 61:11 62:12 63:19 64:12 65:25 66:24\nJER 1:19 2:37 3:25 4:31 5:31 6:30 7:34 8:22 9:26 10:25 11:23 12:17 13:27 14:22 15:21 16:21 17:27 18:23 19:15 20:18 21:14 22:30 23:40 24:10 25:38 26:24 27:22 28:17 29:32 30:24 31:40 32:44 33:26 34:22 35:19 36:32 37:21 38:28 39:18 40:16 41:18 42:22 43:13 44:30 45:5 46:28 47:7 48:47 49:39 50:46 51:64 52:34\nLAM 1:22 2:22 3:66 4:22 5:22\nEZK 1:28 2:10 3:27 4:17 5:17 6:14 7:27 8:18 9:11 10:22 11:25 12:28 13:23 14:23 15:8 16:63 17:24 18:32 19:14 20:49 21:32 22:31 23:49 24:27 25:17 26:21 27:36 28:26 29:21 30:26 31:18 32:32 33:33 34:31 35:15 36:38 37:28 38:23 39:29 40:49 41:26 42:20 43:27 44:31 45:25 46:24 47:23 48:35\nDAN 1:21 2:49 3:33 4:34 5:31 6:28 7:28 8:27 9:27 10:21 11:45 12:13\nHOS 1:11 2:23 3:5 4:19 5:15 6:11 7:16 8:14 9:17 10:15 11:12 12:14 13:15 14:10\nJOL 1:20 2:32 3:21\nAMO 1:15 2:16 3:15 4:13 5:27 6:14 7:17 8:14 9:15\nOBA 1:21\nJON 1:16 2:11 3:10 4:11\nMIC 1:16 2:13 3:12 4:13 5:15 6:16 7:20\nNAM 1:15 2:13 3:19\nHAB 1:17 2:20 3:19\nZEP 1:18 2:15 3:20\nHAG 1:15 2:23\nZEC 1:21 2:13 3:10 4:14 5:11 6:15 7:14 8:23 9:17 10:12 11:17 12:14 13:9 14:21\nMAL 1:14 2:17 3:18 4:6\n#-------------------------------------------------------\n# New Testament books\nMAT 1:25 2:23 3:17 4:25 5:48 6:34 7:29 8:34 9:38 10:42 11:30 12:50 13:58 14:36 15:39 16:28 17:27 18:35 19:30 20:34 21:46 22:46 23:39 24:51 25:46 26:75 27:66 28:20\nMRK 1:45 2:28 3:35 4:41 5:43 6:56 7:37 8:38 9:50 10:52 11:33 12:44 13:37 14:72 15:47 16:20\nLUK 1:80 2:52 3:38 4:44 5:39 6:49 7:50 8:56 9:62 10:42 11:54 12:59 13:35 14:35 15:32 16:31 17:37 18:43 19:48 20:47 21:38 22:71 23:56 24:53\nJHN 1:51 2:25 3:36 4:54 5:47 6:71 7:53 8:59 9:41 10:42 11:57 12:50 13:38 14:31 15:27 16:33 17:26 18:40 19:42 20:31 21:25\nACT 1:26 2:47 3:26 4:37 5:42 6:15 7:60 8:40 9:43 10:48 11:30 12:25 13:52 14:28 15:41 16:40 17:34 18:28 19:40 20:38 21:40 22:30 23:35 24:27 25:27 26:32 27:44 28:31\nROM 1:32 2:29 3:31 4:25 5:21 6:23 7:25 8:39 9:33 10:21 11:36 12:21 13:14 14:26 15:33 16:24\n1CO 1:31 2:16 3:23 4:21 5:13 6:20 7:40 8:13 9:27 10:33 11:34 12:31 13:13 14:40 15:58 16:24\n2CO 1:24 2:17 3:18 4:18 5:21 6:18 7:16 8:24 9:15 10:18 11:32 12:21 13:13\nGAL 1:24 2:21 3:29 4:31 5:26 6:18\nEPH 1:23 2:22 3:21 4:32 5:33 6:24\nPHP 1:30 2:30 3:21 4:23\nCOL 1:29 2:23 3:25 4:18\n1TH 1:10 2:20 3:13 4:18 5:28\n2TH 1:12 2:17 3:18\n1TI 1:20 2:15 3:16 4:16 5:25 6:21\n2TI 1:18 2:26 3:17 4:22\nTIT 1:16 2:15 3:15\nPHM 1:25\nHEB 1:14 2:18 3:19 4:16 5:14 6:20 7:28 8:13 9:28 10:39 11:40 12:29 13:25\nJAS 1:27 2:26 3:18 4:17 5:20\n1PE 1:25 2:25 3:22 4:19 5:14\n2PE 1:21 2:22 3:18\n1JN 1:10 2:29 3:24 4:21 5:21\n2JN 1:13\n3JN 1:15\nJUD 1:25\nREV 1:20 2:29 3:22 4:11 5:14 6:17 7:17 8:13 9:21 10:11 11:19 12:17 13:18 14:20 15:8 16:21 17:18 18:24 19:21 20:15 21:27 22:21\n#\n#------------------------------------------------------------\n# Mapping\n#-------------------------------------------------------------\n# Russian = BHS (see org.vrs)\n#\n# (Note: ranges must not span a chapter, e.g. 4:10-5:11 is illegal)\n#\nGEN 31:55 = GEN 32:1\nGEN 32:1-32 = GEN 32:2-33\nEXO 8:1-4 = EXO 7:26-29\nEXO 8:5-32 = EXO 8:1-28\nEXO 22:1 = EXO 21:37\nEXO 22:2-31 = EXO 22:1-30\nLEV 6:1-7 = LEV 5:20-26\nLEV 6:8-30 = LEV 6:1-23\n# LEV 14:55b = LEV 14:56 # cant handle split verses yet\nLEV 14:55 = LEV 14:55\nLEV 14:55 = LEV 14:56\nLEV 14:56 = LEV 14:57\nNUM 13:1 = NUM 12:16\nNUM 13:2-34 = NUM 13:1-33\nNUM 16:36-50 = NUM 17:1-15\nNUM 17:1-13 = NUM 17:16-28\nNUM 26:1 = NUM 25:19\nNUM 26:1 = NUM 26:1\nDEU 12:32 = DEU 13:1\nDEU 13:1-18 = DEU 13:2-19\nDEU 22:30 = DEU 23:1\nDEU 23:1-25 = DEU 23:2-26\nDEU 29:1 = DEU 28:69\nDEU 29:2-29 = DEU 29:1-28\nJOS 5:16 = JOS 6:1\nJOS 6:1-26 = JOS 6:2-27\n1SA 20:43 = 1SA 21:1\n1SA 21:1-15 = 1SA 21:2-16\n2SA 18:33 = 2SA 19:1\n2SA 19:1-43 = 2SA 19:2-44\n1KI 4:21-34 = 1KI 5:1-14\n1KI 5:1-18 = 1KI 5:15-32\n#1KI 22:43b = 1KI 22:44 # cant handle split verses yet\n1KI 22:43 = 1KI 22:43\n1KI 22:43 = 1KI 22:44\n1KI 22:44-53 = 1KI 22:45-54\n2KI 11:21 = 2KI 12:1\n2KI 12:1-21 = 2KI 12:2-22\n1CH 6:1-15 = 1CH 5:27-41\n1CH 6:16-81 = 1CH 6:1-66\n# 1CH 12:4b = 1CH 12:5 # cant handle split verses yet\n1CH 12:4 = 1CH 12:4\n1CH 12:4 = 1CH 12:5\n1CH 12:5-40 = 1CH 12:6-41\n2CH 2:1 = 2CH 1:18\n2CH 2:2-18 = 2CH 2:1-17\n2CH 14:1 = 2CH 13:23\n2CH 14:2-15 = 2CH 14:1-14\nNEH 4:1-6 = NEH 3:33-38\nNEH 4:7-23 = NEH 4:1-17\n# NEH 7:68 = NEH 7:67b # cant handle split verses yet\nNEH 7:67 = NEH 7:67\nNEH 7:68 = NEH 7:67\nNEH 7:69-73 = NEH 7:68-72\nNEH 9:38 = NEH 10:1\nNEH 10:1-39 = NEH 10:2-40\nJOB 39:31-35 = JOB 40:1-5\nJOB 40:1-19 = JOB 40:6-24\nJOB 40:20-27 = JOB 40:25-32\n# PSA 9 = 9+10\nPSA 9:22 = PSA 10:0\nPSA 9:22-39 = PSA 10:1-18\nPSA 10:0-7 = PSA 11:0-7\nPSA 11:0-9 = PSA 12:0-9\nPSA 12:0-6 = PSA 13:0-6\nPSA 13:0-7 = PSA 14:0-7\nPSA 14:0-5 = PSA 15:0-5\nPSA 15:0-11 = PSA 16:0-11\nPSA 16:0-15 = PSA 17:0-15\nPSA 17:0-51 = PSA 18:0-51\nPSA 18:0-15 = PSA 19:0-15\nPSA 19:0-10 = PSA 20:0-10\nPSA 20:0-14 = PSA 21:0-14\nPSA 21:0-32 = PSA 22:0-32\nPSA 22:0-6 = PSA 23:0-6\nPSA 23:0-10 = PSA 24:0-10\nPSA 24:0-22 = PSA 25:0-22\nPSA 25:0-12 = PSA 26:0-12\nPSA 26:0-14 = PSA 27:0-14\nPSA 27:0-9 = PSA 28:0-9\nPSA 28:0-11 = PSA 29:0-11\nPSA 29:0-13 = PSA 30:0-13\nPSA 30:0-25 = PSA 31:0-25\nPSA 31:0-11 = PSA 32:0-11\nPSA 32:0-22 = PSA 33:0-22\nPSA 33:0-23 = PSA 34:0-23\nPSA 34:0-28 = PSA 35:0-28\nPSA 35:0-13 = PSA 36:0-13\nPSA 36:0-40 = PSA 37:0-40\nPSA 37:0-23 = PSA 38:0-23\nPSA 38:0-14 = PSA 39:0-14\nPSA 39:0-18 = PSA 40:0-18\nPSA 40:0-14 = PSA 41:0-14\nPSA 41:0-12 = PSA 42:0-12\nPSA 42:0-5 = PSA 43:0-5\nPSA 43:0-27 = PSA 44:0-27\nPSA 44:0-18 = PSA 45:0-18\nPSA 45:0-12 = PSA 46:0-12\nPSA 46:0-10 = PSA 47:0-10\nPSA 47:0-15 = PSA 48:0-15\nPSA 48:0-21 = PSA 49:0-21\nPSA 49:0-23 = PSA 50:0-23\nPSA 50:0-21 = PSA 51:0-21\nPSA 51:0-11 = PSA 52:0-11\nPSA 52:0-7 = PSA 53:0-7\nPSA 53:0-9 = PSA 54:0-9\nPSA 54:0-24 = PSA 55:0-24\nPSA 55:0-14 = PSA 56:0-14\nPSA 56:0-12 = PSA 57:0-12\nPSA 57:0-12 = PSA 58:0-12\nPSA 58:0-18 = PSA 59:0-18\nPSA 59:0-14 = PSA 60:0-14\nPSA 60:0-9 = PSA 61:0-9\nPSA 61:0-13 = PSA 62:0-13\nPSA 62:0-12 = PSA 63:0-12\nPSA 63:0-11 = PSA 64:0-11\nPSA 64:0-14 = PSA 65:0-14\nPSA 65:0-20 = PSA 66:0-20\nPSA 66:0-8 = PSA 67:0-8\nPSA 67:0-36 = PSA 68:0-36\nPSA 68:0-37 = PSA 69:0-37\nPSA 69:0-6 = PSA 70:0-6\nPSA 70:0-24 = PSA 71:0-24\nPSA 71:0-20 = PSA 72:0-20\nPSA 72:0-28 = PSA 73:0-28\nPSA 73:0-23 = PSA 74:0-23\nPSA 74:0-11 = PSA 75:0-11\nPSA 75:0-13 = PSA 76:0-13\nPSA 76:0-21 = PSA 77:0-21\nPSA 77:0-72 = PSA 78:0-72\nPSA 78:0-13 = PSA 79:0-13\nPSA 79:0-20 = PSA 80:0-20\nPSA 80:0-17 = PSA 81:0-17\nPSA 81:0-8 = PSA 82:0-8\nPSA 82:0-19 = PSA 83:0-19\nPSA 83:0-13 = PSA 84:0-13\nPSA 84:0-14 = PSA 85:0-14\nPSA 85:0-17 = PSA 86:0-17\nPSA 86:0-1 = PSA 87:0-1\nPSA 86:2 = PSA 87:1\nPSA 86:2-7 = PSA 87:2-7\nPSA 87:0-19 = PSA 88:0-19\nPSA 88:0-53 = PSA 89:0-53\nPSA 89:0-1 = PSA 90:0\nPSA 89:2-6 = PSA 90:1-5\nPSA 89:6 = PSA 90:6\nPSA 89:7-17 = PSA 90:7-17\nPSA 90:0-16 = PSA 91:0-16\nPSA 91:0-16 = PSA 92:0-16\nPSA 92:0-5 = PSA 93:0-5\nPSA 93:0-23 = PSA 94:0-23\nPSA 94:0-11 = PSA 95:0-11\nPSA 95:0-13 = PSA 96:0-13\nPSA 96:0-12 = PSA 97:0-12\nPSA 97:0-9 = PSA 98:0-9\nPSA 98:0-9 = PSA 99:0-9\nPSA 99:0-5 = PSA 100:0-5\nPSA 100:0-8 = PSA 101:0-8\nPSA 101:0-29 = PSA 102:0-29\nPSA 102:0-22 = PSA 103:0-22\nPSA 103:0-35 = PSA 104:0-35\nPSA 104:0-45 = PSA 105:0-45\nPSA 105:0-48 = PSA 106:0-48\nPSA 106:0-43 = PSA 107:0-43\nPSA 107:0-14 = PSA 108:0-14\nPSA 108:0-31 = PSA 109:0-31\nPSA 109:0-7 = PSA 110:0-7\nPSA 110:0-10 = PSA 111:0-10\nPSA 111:0-10 = PSA 112:0-10\nPSA 112:0-9 = PSA 113:0-9\nPSA 113:0-8 = PSA 114:0-8\nPSA 113:9 = PSA 115:0\nPSA 113:9-26 = PSA 115:1-18\nPSA 114:0-9 = PSA 116:0-9\nPSA 115:0 = PSA 116:10\nPSA 115:1-10 = PSA 116:10-19\t\nPSA 116:0-2 = PSA 117:0-2\nPSA 117:0-29 = PSA 118:0-29\nPSA 118:0-176 = PSA 119:0-176\nPSA 119:0-7 = PSA 120:0-7\nPSA 120:0-8 = PSA 121:0-8\nPSA 121:0-9 = PSA 122:0-9\nPSA 122:0-4 = PSA 123:0-4\nPSA 123:0-8 = PSA 124:0-8\nPSA 124:0-5 = PSA 125:0-5\nPSA 125:0-6 = PSA 126:0-6\nPSA 126:0-5 = PSA 127:0-5\nPSA 127:0-6 = PSA 128:0-6\nPSA 128:0-8 = PSA 129:0-8\nPSA 129:0-8 = PSA 130:0-8\nPSA 130:0-3 = PSA 131:0-3\nPSA 131:0-18 = PSA 132:0-18\nPSA 132:0-3 = PSA 133:0-3\nPSA 133:0-3 = PSA 134:0-3\nPSA 134:0-21 = PSA 135:0-21\nPSA 135:0-26 = PSA 136:0-26\nPSA 136:0-9 = PSA 137:0-9\nPSA 137:0-8 = PSA 138:0-8\nPSA 138:0-24 = PSA 139:0-24\nPSA 139:0-14 = PSA 140:0-14\nPSA 140:0-10 = PSA 141:0-10\nPSA 141:0 = PSA 142:0-1\nPSA 141:1-7 = PSA 142:2-8\nPSA 142:0-12 = PSA 143:0-12\nPSA 143:0-15 = PSA 144:0-15\nPSA 144:0-21 = PSA 145:0-21\nPSA 145:0-10 = PSA 146:0-10\n# 146 + 147 -> 147\nPSA 146:0-11 = PSA 147:0-11\nPSA 147:0 = PSA 147:12\nPSA 147:1-9 = PSA 147:12-20\nSNG 1:1-16 = SNG 1:2-17\n# ISA 3:19b = ISA 3:20 # cant handle split verses yet\nISA 3:19 = ISA 3:19\nISA 3:19 = ISA 3:20\nISA 3:20-25 = ISA 3:21-26\nISA 9:1 = ISA 8:23\nISA 9:2-21 = ISA 9:1-20\nISA 63:19 = ISA 63:19\nISA 64:1 = ISA 63:19\nISA 64:2-12 = ISA 64:1-11\nJER 9:1 = JER 8:23\nJER 9:2-26 = JER 9:1-25\nEZK 20:45-49 = EZK 21:1-5\nEZK 21:1-32 = EZK 21:6-37\nDAN 5:31 = DAN 6:1\nDAN 6:1-28 = DAN 6:2-29\nHOS 1:10-11 = HOS 2:1-2\nHOS 2:1-23 = HOS 2:3-25\nHOS 11:12 = HOS 12:1\nHOS 12:1-14 = HOS 12:2-15\nJOL 2:28-32 = JOL 3:1-5\nJOL 3:1-21 = JOL 4:1-21\nMIC 5:1 = MIC 4:14\nMIC 5:2-15 = MIC 5:1-14\nNAM 1:15 = NAM 2:1\nNAM 2:1-13 = NAM 2:2-14\nZEC 1:18-21 = ZEC 2:1-4\nZEC 2:1-13 = ZEC 2:5-17\nMAL 4:1-6 = MAL 3:19-24\nROM 14:24-26 = ROM 16:25-27\n# 2CO 11:32b = 2CO 11:33 # cant handle split verses yet\n2CO 11:32 = 2CO 11:32\n2CO 11:32 = 2CO 11:33\n# REV 13:1a = REV 12:18 # cant handle split verses yet\n# REV 13:1b = REV 13:1 # cant handle split verses yet\nREV 13:1 = REV 12:18\nREV 13:1 = REV 13:1\n'},rso:{raw:'# Versification "Russian Orthodox"\n# Version=1.3\n#\n# This is the versification used by the Orthodox (or "non-canonical") edition of the Russian Synodal Bible\n# Initial version provided by Peter_Kirk@sil.org\n# Corrected 27/May/2003 by matjaz.crnivec@drustvo-svds.si:\n# Number of vss: 2CH 37; PSA 114; ISA 3; REV 12; 2ES (whole book added),\n# Mappings: LEV 14; 1KI 22; 1CH 12; 2CH 37; NEH 7; PSA 114; ISA 3; 2CO 11; REV 13; 2ES 7; 10\n#\n# modifications by Studge 26/June/2009\n# amended by HAB April 2010\n#\n# List of books, chapters, verses\n# One line per book.\n# One entry for each chapter.\n# Verse number is the maximum verse number for that chapter.\n# See the lines containing =\'s below for verse mappings.\n#\n#----------------------------------------------------------\nGEN 1:31 2:25 3:24 4:26 5:32 6:22 7:24 8:22 9:29 10:32 11:32 12:20 13:18 14:24 15:21 16:16 17:27 18:33 19:38 20:18 21:34 22:24 23:20 24:67 25:34 26:35 27:46 28:22 29:35 30:43 31:55 32:32 33:20 34:31 35:29 36:43 37:36 38:30 39:23 40:23 41:57 42:38 43:34 44:34 45:28 46:34 47:31 48:22 49:33 50:26\nEXO 1:22 2:25 3:22 4:31 5:23 6:30 7:25 8:32 9:35 10:29 11:10 12:51 13:22 14:31 15:27 16:36 17:16 18:27 19:25 20:26 21:36 22:31 23:33 24:18 25:40 26:37 27:21 28:43 29:46 30:38 31:18 32:35 33:23 34:35 35:35 36:38 37:29 38:31 39:43 40:38\nLEV 1:17 2:16 3:17 4:35 5:19 6:30 7:38 8:36 9:24 10:20 11:47 12:8 13:59 14:56 15:33 16:34 17:16 18:30 19:37 20:27 21:24 22:33 23:44 24:23 25:55 26:46 27:34\nNUM 1:54 2:34 3:51 4:49 5:31 6:27 7:89 8:26 9:23 10:36 11:35 12:15 13:34 14:45 15:41 16:50 17:13 18:32 19:22 20:29 21:35 22:41 23:30 24:25 25:18 26:65 27:23 28:31 29:39 30:17 31:54 32:42 33:56 34:29 35:34 36:13\nDEU 1:46 2:37 3:29 4:49 5:33 6:25 7:26 8:20 9:29 10:22 11:32 12:32 13:18 14:29 15:23 16:22 17:20 18:22 19:21 20:20 21:23 22:30 23:25 24:22 25:19 26:19 27:26 28:68 29:29 30:20 31:30 32:52 33:29 34:12\nJOS 1:18 2:24 3:17 4:24 5:16 6:26 7:26 8:35 9:27 10:43 11:23 12:24 13:33 14:15 15:63 16:10 17:18 18:28 19:51 20:9 21:45 22:34 23:16 24:36\nJDG 1:36 2:23 3:31 4:24 5:31 6:40 7:25 8:35 9:57 10:18 11:40 12:15 13:25 14:20 15:20 16:31 17:13 18:31 19:30 20:48 21:25\nRUT 1:22 2:23 3:18 4:22\n1SA 1:28 2:36 3:21 4:22 5:12 6:21 7:17 8:22 9:27 10:27 11:15 12:25 13:23 14:52 15:35 16:23 17:58 18:30 19:24 20:43 21:15 22:23 23:28 24:23 25:44 26:25 27:12 28:25 29:11 30:31 31:13\n2SA 1:27 2:32 3:39 4:12 5:25 6:23 7:29 8:18 9:13 10:19 11:27 12:31 13:39 14:33 15:37 16:23 17:29 18:33 19:43 20:26 21:22 22:51 23:39 24:25\n1KI 1:53 2:46 3:28 4:34 5:18 6:38 7:51 8:66 9:28 10:29 11:43 12:33 13:34 14:31 15:34 16:34 17:24 18:46 19:21 20:43 21:29 22:53\n2KI 1:18 2:25 3:27 4:44 5:27 6:33 7:20 8:29 9:37 10:36 11:21 12:21 13:25 14:29 15:38 16:20 17:41 18:37 19:37 20:21 21:26 22:20 23:37 24:20 25:30\n1CH 1:54 2:55 3:24 4:43 5:26 6:81 7:40 8:40 9:44 10:14 11:47 12:40 13:14 14:17 15:29 16:43 17:27 18:17 19:19 20:8 21:30 22:19 23:32 24:31 25:31 26:32 27:34 28:21 29:30\n2CH 1:17 2:18 3:17 4:22 5:14 6:42 7:22 8:18 9:31 10:19 11:23 12:16 13:22 14:15 15:19 16:14 17:19 18:34 19:11 20:37 21:20 22:12 23:21 24:27 25:28 26:23 27:9 28:27 29:36 30:27 31:21 32:33 33:25 34:33 35:27 36:23 37:12\nEZR 1:11 2:70 3:13 4:24 5:17 6:22 7:28 8:36 9:15 10:44\nNEH 1:11 2:20 3:32 4:23 5:19 6:19 7:73 8:18 9:38 10:39 11:36 12:47 13:31\n#--------------\n# Notes EST is the Greek Esther which should have been under ESG\nEST 1:22 2:23 3:15 4:17 5:14 6:14 7:10 8:17 9:32 10:3\n#--------------\nJOB 1:22 2:13 3:26 4:21 5:27 6:30 7:21 8:22 9:35 10:22 11:20 12:25 13:28 14:22 15:35 16:22 17:16 18:21 19:29 20:29 21:34 22:30 23:17 24:25 25:6 26:14 27:23 28:28 29:25 30:31 31:40 32:22 33:33 34:37 35:16 36:33 37:24 38:41 39:35 40:27 41:26 42:17\nPSA 1:6 2:12 3:9 4:9 5:13 6:11 7:18 8:10 9:39 10:7 11:9 12:6 13:7 14:5 15:11 16:15 17:51 18:15 19:10 20:14 21:32 22:6 23:10 24:22 25:12 26:14 27:9 28:11 29:13 30:25 31:11 32:22 33:23 34:28 35:13 36:40 37:23 38:14 39:18 40:14 41:12 42:5 43:27 44:18 45:12 46:10 47:15 48:21 49:23 50:21 51:11 52:7 53:9 54:24 55:14 56:12 57:12 58:18 59:14 60:9 61:13 62:12 63:11 64:14 65:20 66:8 67:36 68:37 69:6 70:24 71:20 72:28 73:23 74:11 75:13 76:21 77:72 78:13 79:20 80:17 81:8 82:19 83:13 84:14 85:17 86:7 87:19 88:53 89:17 90:16 91:16 92:5 93:23 94:11 95:13 96:12 97:9 98:9 99:5 100:8 101:29 102:22 103:35 104:45 105:48 106:43 107:14 108:31 109:7 110:10 111:10 112:9 113:26 114:8 115:10 116:2 117:29 118:176 119:7 120:8 121:9 122:4 123:8 124:5 125:6 126:5 127:6 128:8 129:8 130:3 131:18 132:3 133:3 134:21 135:26 136:9 137:8 138:24 139:14 140:10 141:7 142:12 143:15 144:21 145:10 146:11 147:9 148:14 149:9 150:6 151:7\nPRO 1:33 2:22 3:35 4:29 5:23 6:35 7:27 8:36 9:18 10:32 11:31 12:28 13:26 14:35 15:33 16:33 17:28 18:25 19:29 20:30 21:31 22:29 23:35 24:34 25:28 26:28 27:27 28:28 29:27 30:33 31:31\nECC 1:18 2:26 3:22 4:17 5:19 6:12 7:29 8:17 9:18 10:20 11:10 12:14\nSNG 1:16 2:17 3:11 4:16 5:16 6:12 7:14 8:14\nISA 1:31 2:22 3:25 4:6 5:30 6:13 7:25 8:22 9:21 10:34 11:16 12:6 13:22 14:32 15:9 16:14 17:14 18:7 19:25 20:6 21:17 22:25 23:18 24:23 25:12 26:21 27:13 28:29 29:24 30:33 31:9 32:20 33:24 34:17 35:10 36:22 37:38 38:22 39:8 40:31 41:29 42:25 43:28 44:28 45:25 46:13 47:15 48:22 49:26 50:11 51:23 52:15 53:12 54:17 55:13 56:12 57:21 58:14 59:21 60:22 61:11 62:12 63:19 64:12 65:25 66:24\nJER 1:19 2:37 3:25 4:31 5:31 6:30 7:34 8:22 9:26 10:25 11:23 12:17 13:27 14:22 15:21 16:21 17:27 18:23 19:15 20:18 21:14 22:30 23:40 24:10 25:38 26:24 27:22 28:17 29:32 30:24 31:40 32:44 33:26 34:22 35:19 36:32 37:21 38:28 39:18 40:16 41:18 42:22 43:13 44:30 45:5 46:28 47:7 48:47 49:39 50:46 51:64 52:34\nLAM 1:22 2:22 3:66 4:22 5:22\nEZK 1:28 2:10 3:27 4:17 5:17 6:14 7:27 8:18 9:11 10:22 11:25 12:28 13:23 14:23 15:8 16:63 17:24 18:32 19:14 20:49 21:32 22:31 23:49 24:27 25:17 26:21 27:36 28:26 29:21 30:26 31:18 32:32 33:33 34:31 35:15 36:38 37:28 38:23 39:29 40:49 41:26 42:20 43:27 44:31 45:25 46:24 47:23 48:35\nDAN 1:21 2:49 3:100 4:34 5:31 6:28 7:28 8:27 9:27 10:21 11:45 12:13 13:64 14:42\nHOS 1:11 2:23 3:5 4:19 5:15 6:11 7:16 8:14 9:17 10:15 11:12 12:14 13:15 14:10\nJOL 1:20 2:32 3:21\nAMO 1:15 2:16 3:15 4:13 5:27 6:14 7:17 8:14 9:15\nOBA 1:21\nJON 1:16 2:11 3:10 4:11\nMIC 1:16 2:13 3:12 4:13 5:15 6:16 7:20\nNAM 1:15 2:13 3:19\nHAB 1:17 2:20 3:19\nZEP 1:18 2:15 3:20\nHAG 1:15 2:23\nZEC 1:21 2:13 3:10 4:14 5:11 6:15 7:14 8:23 9:17 10:12 11:17 12:14 13:9 14:21\nMAL 1:14 2:17 3:18 4:6\n#----------------------------------------------------\nMAT 1:25 2:23 3:17 4:25 5:48 6:34 7:29 8:34 9:38 10:42 11:30 12:50 13:58 14:36 15:39 16:28 17:27 18:35 19:30 20:34 21:46 22:46 23:39 24:51 25:46 26:75 27:66 28:20\nMRK 1:45 2:28 3:35 4:41 5:43 6:56 7:37 8:38 9:50 10:52 11:33 12:44 13:37 14:72 15:47 16:20\nLUK 1:80 2:52 3:38 4:44 5:39 6:49 7:50 8:56 9:62 10:42 11:54 12:59 13:35 14:35 15:32 16:31 17:37 18:43 19:48 20:47 21:38 22:71 23:56 24:53\nJHN 1:51 2:25 3:36 4:54 5:47 6:71 7:53 8:59 9:41 10:42 11:57 12:50 13:38 14:31 15:27 16:33 17:26 18:40 19:42 20:31 21:25\nACT 1:26 2:47 3:26 4:37 5:42 6:15 7:60 8:40 9:43 10:48 11:30 12:25 13:52 14:28 15:41 16:40 17:34 18:28 19:40 20:38 21:40 22:30 23:35 24:27 25:27 26:32 27:44 28:31\nROM 1:32 2:29 3:31 4:25 5:21 6:23 7:25 8:39 9:33 10:21 11:36 12:21 13:14 14:26 15:33 16:24\n1CO 1:31 2:16 3:23 4:21 5:13 6:20 7:40 8:13 9:27 10:33 11:34 12:31 13:13 14:40 15:58 16:24\n2CO 1:24 2:17 3:18 4:18 5:21 6:18 7:16 8:24 9:15 10:18 11:32 12:21 13:13\nGAL 1:24 2:21 3:29 4:31 5:26 6:18\nEPH 1:23 2:22 3:21 4:32 5:33 6:24\nPHP 1:30 2:30 3:21 4:23\nCOL 1:29 2:23 3:25 4:18\n1TH 1:10 2:20 3:13 4:18 5:28\n2TH 1:12 2:17 3:18\n1TI 1:20 2:15 3:16 4:16 5:25 6:21\n2TI 1:18 2:26 3:17 4:22\nTIT 1:16 2:15 3:15\nPHM 1:25\nHEB 1:14 2:18 3:19 4:16 5:14 6:20 7:28 8:13 9:28 10:39 11:40 12:29 13:25\nJAS 1:27 2:26 3:18 4:17 5:20\n1PE 1:25 2:25 3:22 4:19 5:14\n2PE 1:21 2:22 3:18\n1JN 1:10 2:29 3:24 4:21 5:21\n2JN 1:13\n3JN 1:15\nJUD 1:25\nREV 1:20 2:29 3:22 4:11 5:14 6:17 7:17 8:13 9:21 10:11 11:19 12:17 13:18 14:20 15:8 16:21 17:18 18:24 19:21 20:15 21:27 22:21\n#---------------------------------------------\nTOB 1:22 2:14 3:17 4:21 5:22 6:18 7:17 8:21 9:6 10:13 11:18 12:22 13:18 14:15\nJDT 1:16 2:28 3:10 4:15 5:24 6:21 7:32 8:36 9:14 10:23 11:23 12:20 13:20 14:19 15:14 16:25\n# ESG added which ought to replace EST\nESG 1:22 2:23 3:15 4:17 5:14 6:14 7:10 8:17 9:32 10:3\nWIS 1:16 2:24 3:19 4:20 5:24 6:27 7:30 8:21 9:19 10:21 11:27 12:28 13:19 14:31 15:19 16:29 17:20 18:25 19:21\nSIR 1:30 2:18 3:31 4:35 5:18 6:37 7:39 8:22 9:23 10:34 11:34 12:18 13:32 14:27 15:20 16:31 17:31 18:33 19:28 20:31 21:31 22:31 23:37 24:37 25:29 26:27 27:33 28:30 29:31 30:27 31:37 32:25 33:33 34:26 35:23 36:29 37:34 38:39 39:42 40:32 41:29 42:26 43:36 44:27 45:31 46:23 47:31 48:28 49:18 50:31 51:38\nBAR 1:22 2:35 3:38 4:37 5:9\nLJE 1:72\n1MA 1:64 2:70 3:60 4:61 5:68 6:63 7:50 8:32 9:73 10:89 11:74 12:53 13:53 14:49 15:41 16:24\n2MA 1:36 2:33 3:40 4:50 5:27 6:31 7:42 8:36 9:29 10:38 11:38 12:45 13:26 14:46 15:39\n3MA 1:25 2:24 3:22 4:16 5:36 6:37 7:20\n1ES 1:58 2:31 3:24 4:63 5:70 6:34 7:15 8:92 9:55\n# in the Russian tradition the book of 1ES is called 2 Esdras [Studge]\n2ES 1:40 2:48 3:36 4:52 5:56 6:59 7:70 8:63 9:47 10:60 11:46 12:51 13:58 14:48 15:63 16:78\n# in the Russian tradition the book of 2ES is called 3 Esdras [Studge]\n# added Prayer of Manasseh which is appended to 2 Chronicles in RSO\nMAN 1:15\n#\n#----------------------------------------------\n# Mapping\n#----------------------------------------------\n# Russian = BHS (see org.vrs)\n#\n# (Note: ranges must not span a chapter, e.g. 4:10-5:11 is illegal)\n#\nGEN 31:55 = GEN 32:1\nGEN 32:1-32 = GEN 32:2-33\nEXO 8:1-4 = EXO 7:26-29\nEXO 8:5-32 = EXO 8:1-28\nEXO 22:1 = EXO 21:37\nEXO 22:2-31 = EXO 22:1-30\nLEV 6:1-7 = LEV 5:20-26\nLEV 6:8-30 = LEV 6:1-23\n# LEV 14:55 = LEV 14:55-56\nLEV 14:55 = LEV 14:55\nLEV 14:55 = LEV 14:56\nLEV 14:56 = LEV 14:57\nNUM 13:1 = NUM 12:16\nNUM 13:2-34 = NUM 13:1-33\nNUM 16:36-50 = NUM 17:1-15\nNUM 17:1-13 = NUM 17:16-28\nNUM 26:1 = NUM 25:19\nNUM 26:1 = NUM 26:1\nDEU 12:32 = DEU 13:1\nDEU 13:1-18 = DEU 13:2-19\nDEU 22:30 = DEU 23:1\nDEU 23:1-25 = DEU 23:2-26\nDEU 29:1 = DEU 28:69\nDEU 29:2-29 = DEU 29:1-28\nJOS 5:16 = JOS 6:1\nJOS 6:1-26 = JOS 6:2-27\n1SA 20:43 = 1SA 21:1\n1SA 21:1-15 = 1SA 21:2-16\n2SA 18:33 = 2SA 19:1\n2SA 19:1-43 = 2SA 19:2-44\n1KI 4:21-34 = 1KI 5:1-14\n1KI 5:1-18 = 1KI 5:15-32\n# 1KI 22:43 = 1KI 22:43-44\n1KI 22:43 = 1KI 22:43\n1KI 22:43 = 1KI 22:44\n1KI 22:44-53 = 1KI 22:45-54\n2KI 11:21 = 2KI 12:1\n2KI 12:1-21 = 2KI 12:2-22\n1CH 6:1-15 = 1CH 5:27-41\n1CH 6:16-81 = 1CH 6:1-66\n# 1CH 12:4 = 1CH 12:4-5\n1CH 12:4 = 1CH 12:4\n1CH 12:4 = 1CH 12:5\n1CH 12:5-40 = 1CH 12:6-41\n2CH 2:1 = 2CH 1:18\n2CH 2:2-18 = 2CH 2:1-17\n2CH 14:1 = 2CH 13:23\n2CH 14:2-15 = 2CH 14:1-14\n# All the 37th chapter maps across verse boundaries!\n#-----------------------\n# Prayer of Manasseh\n2CH 37:1 = MAN 1:1\n2CH 37:2 = MAN 1:2\n2CH 37:2 = MAN 1:3\n2CH 37:2 = MAN 1:4\n2CH 37:2 = MAN 1:5\n2CH 37:3 = MAN 1:5\n2CH 37:4 = MAN 1:6\n2CH 37:5 = MAN 1:7\n2CH 37:6 = MAN 1:7\n2CH 37:6 = MAN 1:8\n2CH 37:7 = MAN 1:8\n2CH 37:7 = MAN 1:9\n2CH 37:8 = MAN 1:9\n2CH 37:8 = MAN 1:10\n2CH 37:9 = MAN 1:10\n2CH 37:10 = MAN 1:10\n2CH 37:10 = MAN 1:11\n2CH 37:11 = MAN 1:12\n2CH 37:11 = MAN 1:13\n2CH 37:11 = MAN 1:14\n2CH 37:11 = MAN 1:15\n2CH 37:12 = MAN 1:15\n#--------------------------\nNEH 4:1-6 = NEH 3:33-38\nNEH 4:7-23 = NEH 4:1-17\n# NEH 7:67-68 = NEH 7:67\nNEH 7:67 = NEH 7:67\nNEH 7:68 = NEH 7:67\nNEH 7:69-73 = NEH 7:68-72\nNEH 9:38 = NEH 10:1\nNEH 10:1-39 = NEH 10:2-40\nJOB 39:31-35 = JOB 40:1-5\nJOB 40:1-19 = JOB 40:6-24\nJOB 40:20-27 = JOB 40:25-32\n# PSA 9 = 9+10\nPSA 9:22 = PSA 10:0\nPSA 9:22-39 = PSA 10:1-18\nPSA 10:0-7 = PSA 11:0-7\nPSA 11:0-9 = PSA 12:0-9\nPSA 12:0-6 = PSA 13:0-6\nPSA 13:0-7 = PSA 14:0-7\nPSA 14:0-5 = PSA 15:0-5\nPSA 15:0-11 = PSA 16:0-11\nPSA 16:0-15 = PSA 17:0-15\nPSA 17:0-51 = PSA 18:0-51\nPSA 18:0-15 = PSA 19:0-15\nPSA 19:0-10 = PSA 20:0-10\nPSA 20:0-14 = PSA 21:0-14\nPSA 21:0-32 = PSA 22:0-32\nPSA 22:0-6 = PSA 23:0-6\nPSA 23:0-10 = PSA 24:0-10\nPSA 24:0-22 = PSA 25:0-22\nPSA 25:0-12 = PSA 26:0-12\nPSA 26:0-14 = PSA 27:0-14\nPSA 27:0-9 = PSA 28:0-9\nPSA 28:0-11 = PSA 29:0-11\nPSA 29:0-13 = PSA 30:0-13\nPSA 30:0-25 = PSA 31:0-25\nPSA 31:0-11 = PSA 32:0-11\nPSA 32:0-22 = PSA 33:0-22\nPSA 33:0-23 = PSA 34:0-23\nPSA 34:0-28 = PSA 35:0-28\nPSA 35:0-13 = PSA 36:0-13\nPSA 36:0-40 = PSA 37:0-40\nPSA 37:0-23 = PSA 38:0-23\nPSA 38:0-14 = PSA 39:0-14\nPSA 39:0-18 = PSA 40:0-18\nPSA 40:0-14 = PSA 41:0-14\nPSA 41:0-12 = PSA 42:0-12\nPSA 42:0-5 = PSA 43:0-5\nPSA 43:0-27 = PSA 44:0-27\nPSA 44:0-18 = PSA 45:0-18\nPSA 45:0-12 = PSA 46:0-12\nPSA 46:0-10 = PSA 47:0-10\nPSA 47:0-15 = PSA 48:0-15\nPSA 48:0-21 = PSA 49:0-21\nPSA 49:0-23 = PSA 50:0-23\nPSA 50:0-21 = PSA 51:0-21\nPSA 51:0-11 = PSA 52:0-11\nPSA 52:0-7 = PSA 53:0-7\nPSA 53:0-9 = PSA 54:0-9\nPSA 54:0-24 = PSA 55:0-24\nPSA 55:0-14 = PSA 56:0-14\nPSA 56:0-12 = PSA 57:0-12\nPSA 57:0-12 = PSA 58:0-12\nPSA 58:0-18 = PSA 59:0-18\nPSA 59:0-14 = PSA 60:0-14\nPSA 60:0-9 = PSA 61:0-9\nPSA 61:0-13 = PSA 62:0-13\nPSA 62:0-12 = PSA 63:0-12\nPSA 63:0-11 = PSA 64:0-11\nPSA 64:0-14 = PSA 65:0-14\nPSA 65:0-20 = PSA 66:0-20\nPSA 66:0-8 = PSA 67:0-8\nPSA 67:0-36 = PSA 68:0-36\nPSA 68:0-37 = PSA 69:0-37\nPSA 69:0-6 = PSA 70:0-6\nPSA 70:0-24 = PSA 71:0-24\nPSA 71:0-20 = PSA 72:0-20\nPSA 72:0-28 = PSA 73:0-28\nPSA 73:0-23 = PSA 74:0-23\nPSA 74:0-11 = PSA 75:0-11\nPSA 75:0-13 = PSA 76:0-13\nPSA 76:0-21 = PSA 77:0-21\nPSA 77:0-72 = PSA 78:0-72\nPSA 78:0-13 = PSA 79:0-13\nPSA 79:0-20 = PSA 80:0-20\nPSA 80:0-17 = PSA 81:0-17\nPSA 81:0-8 = PSA 82:0-8\nPSA 82:0-19 = PSA 83:0-19\nPSA 83:0-13 = PSA 84:0-13\nPSA 84:0-14 = PSA 85:0-14\nPSA 85:0-17 = PSA 86:0-17\nPSA 86:0-1 = PSA 87:1\nPSA 86:2 = PSA 87:1\nPSA 86:2-7 = PSA 87:2-7\nPSA 87:0-19 = PSA 88:0-19\nPSA 88:0-53 = PSA 89:0-53\nPSA 89:0-1 = PSA 90:0-1\nPSA 89:2-6 = PSA 90:1-6\nPSA 89:7-17 = PSA 90:7-17\nPSA 90:0-16 = PSA 91:0-16\nPSA 91:0-16 = PSA 92:0-16\nPSA 92:0-5 = PSA 93:0-5\nPSA 93:0-23 = PSA 94:0-23\nPSA 94:0-11 = PSA 95:0-11\nPSA 95:0-13 = PSA 96:0-13\nPSA 96:0-12 = PSA 97:0-12\nPSA 97:0-9 = PSA 98:0-9\nPSA 98:0-9 = PSA 99:0-9\nPSA 99:0-5 = PSA 100:0-5\nPSA 100:0-8 = PSA 101:0-8\nPSA 101:0-29 = PSA 102:0-29\nPSA 102:0-22 = PSA 103:0-22\nPSA 103:0-35 = PSA 104:0-35\nPSA 104:0-45 = PSA 105:0-45\nPSA 105:0-48 = PSA 106:0-48\nPSA 106:0-43 = PSA 107:0-43\nPSA 107:0-14 = PSA 108:0-14\nPSA 108:0-31 = PSA 109:0-31\nPSA 109:0-7 = PSA 110:0-7\nPSA 110:0-10 = PSA 111:0-10\nPSA 111:0-10 = PSA 112:0-10\nPSA 112:0-9 = PSA 113:0-9\nPSA 113:0-8 = PSA 114:0-8\nPSA 113:9 = PSA 115:0\nPSA 113:9-26 = PSA 115:1-18\nPSA 114:0-8 = PSA 116:0-8\nPSA 114:8 = PSA 116:9\nPSA 115:0-10 = PSA 116:10-19\t\nPSA 116:0-2 = PSA 117:0-2\nPSA 117:0-29 = PSA 118:0-29\nPSA 118:0-176 = PSA 119:0-176\nPSA 119:0-7 = PSA 120:0-7\nPSA 120:0-8 = PSA 121:0-8\nPSA 121:0-9 = PSA 122:0-9\nPSA 122:0-4 = PSA 123:0-4\nPSA 123:0-8 = PSA 124:0-8\nPSA 124:0-5 = PSA 125:0-5\nPSA 125:0-6 = PSA 126:0-6\nPSA 126:0-5 = PSA 127:0-5\nPSA 127:0-6 = PSA 128:0-6\nPSA 128:0-8 = PSA 129:0-8\nPSA 129:0-8 = PSA 130:0-8\nPSA 130:0-3 = PSA 131:0-3\nPSA 131:0-18 = PSA 132:0-18\nPSA 132:0-3 = PSA 133:0-3\nPSA 133:0-3 = PSA 134:0-3\nPSA 134:0-21 = PSA 135:0-21\nPSA 135:0-26 = PSA 136:0-26\nPSA 136:0-9 = PSA 137:0-9\nPSA 137:0-8 = PSA 138:0-8\nPSA 138:0-24 = PSA 139:0-24\nPSA 139:0-14 = PSA 140:0-14\nPSA 140:0-10 = PSA 141:0-10\nPSA 141:0 = PSA 142:0\nPSA 141:1-7 = PSA 142:2-8\nPSA 142:0-12 = PSA 143:0-12\nPSA 143:0-15 = PSA 144:0-15\nPSA 144:0-21 = PSA 145:0-21\nPSA 145:0-10 = PSA 146:0-10\n# 146 + 147 -> 147\nPSA 146:0-11 = PSA 147:0-11\nPSA 147:0 = PSA 147:12\nPSA 147:1-9 = PSA 147:12-20\n#---------------------------\n# additional LXX Psalm\nPSA 151:1-7 = PS2 1:1-7\n#----------------------------\nPRO 13:15-26 = PRO 13:14-25\nPRO 18:9-25 = PRO 18:8-24\nSNG 1:1-16 = SNG 1:2-17\n# ISA 3:19 = ISA 3:19-20\nISA 3:19 = ISA 3:19\nISA 3:19 = ISA 3:20\nISA 3:20-25 = ISA 3:16-21\nISA 9:1 = ISA 8:23\nISA 9:2-21 = ISA 9:1-20\nISA 63:19 = ISA 63:19\nISA 64:1 = ISA 63:19\nISA 64:2-12 = ISA 64:1-11\nJER 9:1 = JER 8:23\nJER 9:2-26 = JER 9:1-25\nEZK 20:45-49 = EZK 21:1-5\nEZK 21:1-32 = EZK 21:6-37\nHOS 1:10-11 = HOS 2:1-2\nHOS 2:1-23 = HOS 2:3-25\nHOS 11:12 = HOS 12:1\nHOS 12:1-14 = HOS 12:2-15\nJOL 2:28-32 = JOL 3:1-5\nJOL 3:1-21 = JOL 4:1-21\nMIC 5:1 = MIC 4:14\nMIC 5:2-15 = MIC 5:1-14\nNAM 1:15 = NAM 2:1\nNAM 2:1-13 = NAM 2:2-14\nZEC 1:18-21 = ZEC 2:1-4\nZEC 2:1-13 = ZEC 2:5-17\nMAL 4:1-6 = MAL 3:19-24\nROM 14:24-26 = ROM 16:25-27\n# 2CO 11:32 = 2CO 11:32-33\n2CO 11:32 = 2CO 11:32\n2CO 11:32 = 2CO 11:33\n# REV 13:1 = REV 12:18-13:1\nREV 13:1 = REV 12:18\nREV 13:1 = REV 13:1\n#----------------------------\n2ES 7:36-70 = 2ES 7:106-140\n# 2ES 10:59-60 = 2ES 10:59\n2ES 10:59 = 2ES 10:59\n2ES 10:60 = 2ES 10:59\n#---------------------------------------------------------\n# Mapping 2 Esdras onto the older Apocalypse of Ezra [Studge]\n2ES 3:1-36 = EZA 1:1-36\n2ES 4:1-52 = EZA 2:1-52\n2ES 5:1-56 = EZA 3:1-56\n2ES 6:1-59 = EZA 4:1-59\n2ES 7:1-35 = EZA 5:1-35\n2ES 7:106-140 = EZA 5:36-70\n2ES 8:1-63 = EZA 6:1-63\n2ES 9:1-47 = EZA 7:1-47\n2ES 10:1-60 = EZA 8:1-60\n2ES 11:1-46 = EZA 9:1-46\n2ES 12:1-51 = EZA 10:1-51\n2ES 13:1-58 = EZA 11:1-58\n2ES 14:1-48 = EZA 12:1-48\n#----------------------------------------------------\n# Mapping Daniel to Hebrew Daniel and Greek additions [HAB]\nDAN 3:24-90 = DAG 3:24-90\nDAN 3:91-100 = DAN 3:24-33\n# Susanna\nDAN 13:1-64 = SUS 1:1-64\n# Bel and the Dragon\nDAN 14:1-42 = BEL 1:1-42\n#--------------------------------------------------\n# Mapping Esther Greek onto LXX Esther Greek\n#\n# This maps the standard verses generated by Create Book\n# to the actual verse numbers and segments found in the LXX\n# ESG chapter 1\nESG 1:1 = ESG 1:1a\nESG 1:2 = ESG 1:1b\nESG 1:3 = ESG 1:1c\nESG 1:4 = ESG 1:1d\nESG 1:5 = ESG 1:1e\nESG 1:6 = ESG 1:1f\nESG 1:7 = ESG 1:1g\nESG 1:8 = ESG 1:1h\nESG 1:9 = ESG 1:1i\nESG 1:10 = ESG 1:1k\nESG 1:11 = ESG 1:1l\nESG 1:12 = ESG 1:1m\nESG 1:13 = ESG 1:1n\nESG 1:14 = ESG 1:1o\nESG 1:15 = ESG 1:1p\nESG 1:16 = ESG 1:1q\nESG 1:17 = ESG 1:1r\nESG 1:18 = ESG 1:1s\nESG 1:19-39 = ESG 1:2-22\n# ESG chapter 3\nESG 3:14 = ESG 3:13a\nESG 3:15 = ESG 3:13b\nESG 3:16 = ESG 3:13c\nESG 3:17 = ESG 3:13d\nESG 3:18 = ESG 3:13e\nESG 3:19 = ESG 3:13f\nESG 3:20 = ESG 3:13g\nESG 3:21 = ESG 3:14\nESG 3:22 = ESG 3:15\n# ESG chapter 4\nESG 4:18 = ESG 4:17a\nESG 4:19 = ESG 4:17b\nESG 4:20 = ESG 4:17c\nESG 4:21 = ESG 4:17c\nESG 4:22 = ESG 4:17d\nESG 4:23 = ESG 4:17d\nESG 4:24 = ESG 4:17e\nESG 4:25 = ESG 4:17f\nESG 4:26 = ESG 4:17g\nESG 4:27 = ESG 4:17h\nESG 4:28 = ESG 4:17i\nESG 4:29 = ESG 4:17k\nESG 4:30 = ESG 4:17k\nESG 4:31 = ESG 4:17k\nESG 4:32 = ESG 4:17l\nESG 4:33 = ESG 4:17m\nESG 4:34 = ESG 4:17n\nESG 4:35 = ESG 4:17n\nESG 4:36 = ESG 4:17o\nESG 4:37 = ESG 4:17o\nESG 4:38 = ESG 4:17p\nESG 4:39 = ESG 4:17q\nESG 4:40 = ESG 4:17r\nESG 4:41 = ESG 4:17s\nESG 4:42 = ESG 4:17t\nESG 4:43 = ESG 4:17u\nESG 4:44 = ESG 4:17w\nESG 4:45 = ESG 4:17x\nESG 4:46 = ESG 4:17y\nESG 4:47 = ESG 4:17z\n# ESG chapter 5\nESG 5:2 = ESG 5:1a\nESG 5:3 = ESG 5:1a\nESG 5:4 = ESG 5:1a\nESG 5:5 = ESG 5:1b\nESG 5:6 = ESG 5:1c\nESG 5:7 = ESG 5:1d\nESG 5:8 = ESG 5:1e\nESG 5:9 = ESG 5:1f\nESG 5:10 = ESG 5:1f\nESG 5:11 = ESG 5:2\nESG 5:12 = ESG 5:2\nESG 5:13 = ESG 5:2a\nESG 5:14 = ESG 5:2a\nESG 5:15 = ESG 5:2b\nESG 5:16 = ESG 5:2b\nESG 5:17-28 = ESG 5:3-14\n# ESG chapter 8\nESG 8:13 = ESG 8:12a\nESG 8:14 = ESG 8:12b\nESG 8:15 = ESG 8:12c\nESG 8:16 = ESG 8:12d\nESG 8:17 = ESG 8:12e\nESG 8:18 = ESG 8:12f\nESG 8:19 = ESG 8:12g\nESG 8:20 = ESG 8:12h\nESG 8:21 = ESG 8:12i\nESG 8:22 = ESG 8:12k\nESG 8:23 = ESG 8:12l\nESG 8:24 = ESG 8:12m\nESG 8:25 = ESG 8:12n\nESG 8:26 = ESG 8:12o\nESG 8:27 = ESG 8:12p\nESG 8:28 = ESG 8:12q\nESG 8:29 = ESG 8:12r\nESG 8:30 = ESG 8:12s\nESG 8:31 = ESG 8:12t\nESG 8:32 = ESG 8:12u\nESG 8:33 = ESG 8:12x\nESG 8:34 = ESG 8:12y\nESG 8:35 = ESG 8:12y\nESG 8:36 = ESG 8:12y\nESG 8:37-41 = ESG 8:13-17\n# ESG chapter 10\nESG 10:4 = ESG 10:3a\nESG 10:5 = ESG 10:3b\nESG 10:6 = ESG 10:3c\nESG 10:7 = ESG 10:3d\nESG 10:8 = ESG 10:3e\nESG 10:9 = ESG 10:3f\nESG 10:10 = ESG 10:3g\nESG 10:11 = ESG 10:3h\nESG 10:12 = ESG 10:3i\nESG 10:13 = ESG 10:3k\nESG 10:14 = ESG 10:3l\n'},vul:{raw:"# Versification \"Vulgate\"\n# Version=1.5\n# \n# modifications by Studge 26/June/2009\n# this is for Bibles which follow the versification of the Vulgate, mainly Catholic Bibles\n# therefore this includes deuterocanonical books from Vulgate and Latin manuscripts\n# Vulgate projects in Paratext are VUL83 (Stuttgart text) and NVL98 (Nova Vulgata) [Studge]\n#\n# mapping for XXA -> PSA has been deleted [requested by RdB - Barb]\n# XXB has been moved to LAO [Barb] Jan 2011\n#\n# No mapping done for TOB, JDT and SIR, since they seem to follow another 'vorlage' than LXX\n# The versification of 2ES present here should become THE standard/original versification of this book! (Vulgate is 'the original' text of this book)\n#\n# List of books, chapters, verses\n# One line per book.\n# One entry for each chapter.\n# Verse number is the maximum verse number for that chapter.\n# See the lines containing ='s below for verse mappings.\n#\n#-----------------------------------------------------------\n# Old Testament\nGEN 1:31 2:25 3:24 4:26 5:32 6:22 7:24 8:22 9:29 10:32 11:32 12:20 13:18 14:24 15:21 16:16 17:27 18:33 19:38 20:18 21:34 22:24 23:20 24:67 25:34 26:35 27:46 28:22 29:35 30:43 31:55 32:32 33:20 34:31 35:29 36:43 37:36 38:30 39:23 40:23 41:57 42:38 43:34 44:34 45:28 46:34 47:31 48:22 49:32 50:25\nEXO 1:22 2:25 3:22 4:31 5:23 6:30 7:25 8:32 9:35 10:29 11:10 12:51 13:22 14:31 15:27 16:36 17:16 18:27 19:25 20:26 21:36 22:31 23:33 24:18 25:40 26:37 27:21 28:43 29:46 30:38 31:18 32:35 33:23 34:35 35:35 36:38 37:29 38:31 39:43 40:36\nLEV 1:17 2:16 3:17 4:35 5:19 6:30 7:38 8:36 9:24 10:20 11:47 12:8 13:59 14:57 15:33 16:34 17:16 18:30 19:37 20:27 21:24 22:33 23:44 24:23 25:55 26:45 27:34\nNUM 1:54 2:34 3:51 4:49 5:31 6:27 7:89 8:26 9:23 10:36 11:34 12:15 13:34 14:45 15:41 16:50 17:13 18:32 19:22 20:30 21:35 22:41 23:30 24:25 25:18 26:65 27:23 28:31 29:39 30:17 31:54 32:42 33:56 34:29 35:34 36:13\nDEU 1:46 2:37 3:29 4:49 5:33 6:25 7:26 8:20 9:29 10:22 11:32 12:32 13:18 14:29 15:23 16:22 17:20 18:22 19:21 20:20 21:23 22:30 23:25 24:22 25:19 26:19 27:26 28:68 29:29 30:20 31:30 32:52 33:29 34:12\nJOS 1:18 2:24 3:17 4:25 5:16 6:27 7:26 8:35 9:27 10:43 11:23 12:24 13:33 14:15 15:63 16:10 17:18 18:28 19:51 20:9 21:43 22:34 23:16 24:33\nJDG 1:36 2:23 3:31 4:24 5:32 6:40 7:25 8:35 9:57 10:18 11:40 12:15 13:25 14:20 15:20 16:31 17:13 18:31 19:30 20:48 21:24\nRUT 1:22 2:23 3:18 4:22\n1SA 1:28 2:36 3:21 4:22 5:12 6:21 7:17 8:22 9:27 10:27 11:15 12:25 13:23 14:52 15:35 16:23 17:58 18:30 19:24 20:43 21:15 22:23 23:28 24:23 25:44 26:25 27:12 28:25 29:11 30:31 31:13\n2SA 1:27 2:32 3:39 4:12 5:25 6:23 7:29 8:18 9:13 10:19 11:27 12:31 13:39 14:33 15:37 16:23 17:29 18:33 19:43 20:26 21:22 22:51 23:39 24:25\n1KI 1:53 2:46 3:28 4:34 5:18 6:38 7:51 8:66 9:28 10:29 11:43 12:33 13:34 14:31 15:34 16:34 17:24 18:46 19:21 20:43 21:29 22:54\n2KI 1:18 2:25 3:27 4:44 5:27 6:33 7:20 8:29 9:37 10:36 11:21 12:21 13:25 14:29 15:38 16:20 17:41 18:37 19:37 20:21 21:26 22:20 23:37 24:20 25:30\n1CH 1:54 2:55 3:24 4:43 5:26 6:81 7:40 8:40 9:44 10:14 11:46 12:40 13:14 14:17 15:29 16:43 17:27 18:17 19:19 20:7 21:30 22:19 23:32 24:31 25:31 26:32 27:34 28:21 29:30\n2CH 1:17 2:18 3:17 4:22 5:14 6:42 7:22 8:18 9:31 10:19 11:23 12:16 13:22 14:15 15:19 16:14 17:19 18:34 19:11 20:37 21:20 22:12 23:21 24:27 25:28 26:23 27:9 28:27 29:36 30:27 31:21 32:33 33:25 34:33 35:27 36:23\nEZR 1:11 2:70 3:13 4:24 5:17 6:22 7:28 8:36 9:15 10:44\n# EZR is for the Vulgate book called 1 Esdras\nNEH 1:11 2:20 3:31 4:23 5:19 6:19 7:73 8:18 9:38 10:39 11:36 12:46 13:31\n# NEH is for the Vulgate book called 2 Esdras\n#------------------------------------\n# In the Vulgate projects VUL83 Esther is the Greek Esther not Hebrew Esther, this definition is for Greek Esther. The book has been put under EST instead of ESG [Studge]\n# in VUL83 the definition of EST is\n#EST 1:22 2:23 3:15 4:17 5:14 6:14 7:10 8:17 9:32 10:13 11:12 12:6 13:18 14:19 15:19 16:24\n# in NVL98 Nova Vulgata the definition of EST is\nEST 1:32 2:23 3:15 4:47 5:28 6:14 7:10 8:41 9:32 10:13 \n# Note that chapter 3 v 15 is 15a-i\n# Note that chapter 4 v 47 is 17aa-kk\n#-----------------------------------\nJOB 1:22 2:13 3:26 4:21 5:27 6:30 7:21 8:22 9:35 10:22 11:20 12:25 13:28 14:22 15:35 16:23 17:16 18:21 19:29 20:29 21:34 22:30 23:17 24:25 25:6 26:14 27:23 28:28 29:25 30:31 31:40 32:22 33:33 34:37 35:16 36:33 37:24 38:41 39:35 40:28 41:25 42:16\nPSA 1:6 2:13 3:9 4:10 5:13 6:11 7:18 8:10 9:39 10:8 11:9 12:6 13:7 14:5 15:10 16:15 17:51 18:15 19:10 20:14 21:32 22:6 23:10 24:22 25:12 26:14 27:9 28:11 29:13 30:25 31:11 32:22 33:23 34:28 35:13 36:40 37:23 38:14 39:18 40:14 41:12 42:5 43:26 44:18 45:12 46:10 47:15 48:21 49:23 50:21 51:11 52:7 53:9 54:24 55:13 56:12 57:12 58:18 59:14 60:9 61:13 62:12 63:11 64:14 65:20 66:8 67:36 68:37 69:6 70:24 71:20 72:28 73:23 74:11 75:13 76:21 77:72 78:13 79:20 80:17 81:8 82:19 83:13 84:14 85:17 86:7 87:19 88:53 89:17 90:16 91:16 92:5 93:23 94:11 95:13 96:12 97:9 98:9 99:5 100:8 101:29 102:22 103:35 104:45 105:48 106:43 107:14 108:31 109:7 110:10 111:10 112:9 113:26 114:9 115:19 116:2 117:29 118:176 119:7 120:8 121:9 122:4 123:8 124:5 125:6 126:5 127:6 128:8 129:8 130:3 131:18 132:3 133:3 134:21 135:26 136:9 137:8 138:24 139:14 140:10 141:8 142:12 143:15 144:21 145:10 146:11 147:20 148:14 149:9 150:6\nPRO 1:33 2:22 3:35 4:27 5:23 6:35 7:27 8:36 9:18 10:32 11:31 12:28 13:25 14:35 15:33 16:33 17:28 18:24 19:29 20:30 21:31 22:29 23:35 24:34 25:28 26:28 27:27 28:28 29:27 30:33 31:31\nECC 1:18 2:26 3:22 4:17 5:19 6:11 7:30 8:17 9:18 10:20 11:10 12:14\nSNG 1:16 2:17 3:11 4:16 5:17 6:12 7:13 8:14\nISA 1:31 2:22 3:26 4:6 5:30 6:13 7:25 8:22 9:21 10:34 11:16 12:6 13:22 14:32 15:9 16:14 17:14 18:7 19:25 20:6 21:17 22:25 23:18 24:23 25:12 26:21 27:13 28:29 29:24 30:33 31:9 32:20 33:24 34:17 35:10 36:22 37:38 38:22 39:8 40:31 41:29 42:25 43:28 44:28 45:25 46:13 47:15 48:22 49:26 50:11 51:23 52:15 53:12 54:17 55:13 56:12 57:21 58:14 59:21 60:22 61:11 62:12 63:19 64:12 65:25 66:24\nJER 1:19 2:37 3:25 4:31 5:31 6:30 7:34 8:22 9:26 10:25 11:23 12:17 13:27 14:22 15:21 16:21 17:27 18:23 19:15 20:18 21:14 22:30 23:40 24:10 25:38 26:24 27:22 28:17 29:32 30:24 31:40 32:44 33:26 34:22 35:19 36:32 37:20 38:28 39:18 40:16 41:18 42:22 43:13 44:30 45:5 46:28 47:7 48:47 49:39 50:46 51:64 52:34\nLAM 1:22 2:22 3:66 4:22 5:22\nEZK 1:28 2:9 3:27 4:17 5:17 6:14 7:27 8:18 9:11 10:22 11:25 12:28 13:23 14:23 15:8 16:63 17:24 18:32 19:14 20:49 21:32 22:31 23:49 24:27 25:17 26:21 27:36 28:26 29:21 30:26 31:18 32:32 33:33 34:31 35:15 36:38 37:28 38:23 39:29 40:49 41:26 42:20 43:27 44:31 45:25 46:24 47:23 48:35\n#-------------------\n# Daniel in NVL98 has 14 chapters and is Greek LXX Daniel\n# the Additions to Daniel are repeated in S3Y, SUS and BEL in NVL98\n# in NVL98 and VUL83, DAN is used for Greek Daniel and it should be under DAG\nDAN 1:21 2:49 3:100 4:34 5:31 6:28 7:28 8:27 9:27 10:21 11:45 12:13 13:65 14:41\n#\n#--------------------\nHOS 1:11 2:24 3:5 4:19 5:15 6:11 7:16 8:14 9:17 10:15 11:12 12:14 13:15 14:10\nJOL 1:20 2:32 3:21\nAMO 1:15 2:16 3:15 4:13 5:27 6:15 7:17 8:14 9:15\nOBA 1:21\nJON 1:16 2:11 3:10 4:11\nMIC 1:16 2:13 3:12 4:13 5:14 6:16 7:20\nNAM 1:15 2:13 3:19\nHAB 1:17 2:20 3:19\nZEP 1:18 2:15 3:20\nHAG 1:14 2:24\nZEC 1:21 2:13 3:10 4:14 5:11 6:15 7:14 8:23 9:17 10:12 11:17 12:14 13:9 14:21\nMAL 1:14 2:17 3:18 4:6\n#--------------------------------------\n# New Testament books\nMAT 1:25 2:23 3:17 4:25 5:48 6:34 7:29 8:34 9:38 10:42 11:30 12:50 13:58 14:36 15:39 16:28 17:26 18:35 19:30 20:34 21:46 22:46 23:39 24:51 25:46 26:75 27:66 28:20\nMRK 1:45 2:28 3:35 4:40 5:43 6:56 7:37 8:39 9:49 10:52 11:33 12:44 13:37 14:72 15:47 16:20\nLUK 1:80 2:52 3:38 4:44 5:39 6:49 7:50 8:56 9:62 10:42 11:54 12:59 13:35 14:35 15:32 16:31 17:37 18:43 19:48 20:47 21:38 22:71 23:56 24:53\nJHN 1:51 2:25 3:36 4:54 5:47 6:72 7:53 8:59 9:41 10:42 11:57 12:50 13:38 14:31 15:27 16:33 17:26 18:40 19:42 20:31 21:25\nACT 1:26 2:47 3:26 4:37 5:42 6:15 7:59 8:40 9:43 10:48 11:30 12:25 13:52 14:27 15:41 16:40 17:34 18:28 19:40 20:38 21:40 22:30 23:35 24:27 25:27 26:32 27:44 28:31\nROM 1:32 2:29 3:31 4:25 5:21 6:23 7:25 8:39 9:33 10:21 11:36 12:21 13:14 14:23 15:33 16:27\n1CO 1:31 2:16 3:23 4:21 5:13 6:20 7:40 8:13 9:27 10:33 11:34 12:31 13:13 14:40 15:58 16:24\n2CO 1:24 2:17 3:18 4:18 5:21 6:18 7:16 8:24 9:15 10:18 11:33 12:21 13:13\nGAL 1:24 2:21 3:29 4:31 5:26 6:18\nEPH 1:23 2:22 3:21 4:32 5:33 6:24\nPHP 1:30 2:30 3:21 4:23\nCOL 1:29 2:23 3:25 4:18\n1TH 1:10 2:20 3:13 4:18 5:28\n2TH 1:12 2:17 3:18\n1TI 1:20 2:15 3:16 4:16 5:25 6:21\n2TI 1:18 2:26 3:17 4:22\nTIT 1:16 2:15 3:15\nPHM 1:25\nHEB 1:14 2:18 3:19 4:16 5:14 6:20 7:28 8:13 9:28 10:39 11:40 12:29 13:25\nJAS 1:27 2:26 3:18 4:17 5:20\n1PE 1:25 2:25 3:22 4:19 5:14\n2PE 1:21 2:22 3:18\n1JN 1:10 2:29 3:24 4:21 5:21\n2JN 1:13\n3JN 1:15\nJUD 1:25\nREV 1:20 2:29 3:22 4:11 5:14 6:17 7:17 8:13 9:21 10:11 11:19 12:18 13:18 14:20 15:8 16:21 17:18 18:24 19:21 20:15 21:27 22:21\n#-------------------------------------------------\n# Deuterocanonical books in the Catholic tradition\nTOB 1:25 2:23 3:25 4:23 5:28 6:22 7:20 8:24 9:12 10:13 11:21 12:22 13:23 14:17\nJDT 1:12 2:18 3:15 4:17 5:29 6:21 7:25 8:34 9:19 10:20 11:21 12:20 13:31 14:18 15:15 16:31\n#---------\n# ESG for Esther Greek has been put under EST in NVL98, a blank ESG was included in VUL83\n# this definition for ESG is for the full Esther Greek which is in the Vulgate NVL98 [Studge]\nESG 1:39 2:23 3:22 4:47 5:28 6:14 7:10 8:39 9:32 10:13\n#---------\nWIS 1:16 2:25 3:19 4:20 5:24 6:27 7:30 8:21 9:19 10:21 11:27 12:27 13:19 14:31 15:19 16:29 17:20 18:25 19:20\nSIR 1:40 2:23 3:34 4:36 5:18 6:37 7:40 8:22 9:25 10:34 11:36 12:19 13:32 14:27 15:22 16:31 17:31 18:33 19:28 20:33 21:31 22:33 23:38 24:47 25:36 26:28 27:33 28:30 29:35 30:27 31:42 32:28 33:33 34:31 35:26 36:28 37:34 38:39 39:41 40:32 41:28 42:26 43:37 44:27 45:31 46:23 47:31 48:28 49:19 50:31 51:38 52:13\nBAR 1:22 2:35 3:38 4:37 5:9 6:72\nLJE 1:72\n# NB Letter of Jeremiah is chapter 6 of Baruch in the Vulgate tradition [Studge]\n# the 3 additions to Daniel are part of Daniel in the Vulgate tradition [Studge]\nS3Y 1:67\nSUS 1:64\nBEL 1:42\n1MA 1:67 2:70 3:60 4:61 5:68 6:63 7:50 8:32 9:73 10:89 11:74 12:54 13:54 14:49 15:41 16:24\n2MA 1:36 2:33 3:40 4:50 5:27 6:31 7:42 8:36 9:29 10:38 11:38 12:46 13:26 14:46 15:40\n#--------------------------------------------------\n# Note that 3MA and 4MA are in the LXX tradition but not in the Vulgate, and not in VUL83 Latin critical text, but maybe in Interconfessional editions [Studge]\n3MA 1:29 2:33 3:30 4:21 5:51 6:41 7:23\n4MA 1:35 2:24 3:21 4:26 5:38 6:35 7:23 8:29 9:32 10:21 11:27 12:19 13:27 14:20 15:32 16:25 17:24 18:24\n#----------------------------------------------------\n# 1ES, 2ES, MAN and PS2 are in the Vulgate Apocrypha, but not in modern Catholic Bibles, but maybe in Interconfessional editions [Studge]\n1ES 1:58 2:31 3:24 4:63 5:73 6:34 7:15 8:97 9:56\n# 1ES is for the Vulgate book called 3 Esdras\n2ES 1:40 2:48 3:36 4:52 5:55 6:59 7:139 8:63 9:47 10:60 11:46 12:51 13:58 14:47 15:63 16:78\n# 2ES is for the Vulgate book called 4 Esdras\nMAN 1:15\nPS2 1:7\n#-----------------------------------------------------\n# ODA and PSS are only in LXX and SYR and not needed in any Vulgate manuscripts or any Catholic Bibles, I am not convinced they are needed in this versification file [Studge]\n#ODA 1:19 2:43 3:10 4:19 5:12 6:8 7:20 8:37 9:22 10:9 11:11 12:15 13:4 14:46\n#PSS 1:8 2:37 3:12 4:25 5:19 6:6 7:10 8:34 9:11 10:8 11:9 12:6 13:12 14:10 15:13 16:15 17:46 18:12\n#------------------------------------------------------\n# Variant LXX books, only used in LXX, now obselete in Paratext 7, never part of Vulgate\n# if these codes were used in any Vulgate versification projects they used the wrong code, and so the definitions are not relevant [Studge]\n# JSA 1:18 2:24 3:17 4:24 5:15 6:27 7:26 8:35 9:27 10:43 11:23 12:24 13:33 14:15 15:63 16:10 17:18 18:28 19:51 20:9 21:45 22:34 23:16 24:33\n# JDB 1:36 2:23 3:31 4:24 5:31 6:40 7:25 8:35 9:57 10:18 11:40 12:15 13:25 14:20 15:20 16:31 17:13 18:31 19:30 20:48 21:25\n# TBS 1:22 2:14 3:17 4:21 5:23 6:19 7:17 8:21 9:6 10:14 11:19 12:22 13:18 14:15\n# SST 1:64\n# DNT 1:21 2:49 3:97 4:37 5:30 6:29 7:28 8:27 9:27 10:21 11:45 12:13\n# BLT 1:42\n#------------------------------------------------------\n# add in versifications for 4,5 & 6 Ezra which are in Latin manuscripts [Studge]\n5EZ 1:40 2:48 \nEZA 1:36 2:52 3:55 4:59 5:139 6:63 7:47 8:60 9:46 10:51 11:58 12:47 \n6EZ 1:63 12:78\n#------------------------------------------------------\n# XXA and XXB books in project VUL83, left for backward compatability\n# XXA was used for a variant form of Psalms, but should be in a Latin Variant project [Studge]\n# XXA 1:6 2:13 3:9 4:10 5:13 6:11 7:18 8:10 9:39 10:8 11:9 12:6 13:7 14:5 15:10 16:15 17:51 18:15 19:10 20:14 21:32 22:6 23:10 24:22 25:12 26:14 27:9 28:11 29:13 30:25 31:11 32:22 33:23 34:28 35:13 36:40 37:23 38:14 39:18 40:14 41:12 42:5 43:26 44:18 45:12 46:10 47:15 48:21 49:23 50:21 51:11 52:7 53:9 54:24 55:13 56:12 57:12 58:18 59:14 60:9 61:13 62:12 63:11 64:14 65:20 66:8 67:36 68:37 69:6 70:24 71:20 72:28 73:23 74:11 75:13 76:21 77:72 78:13 79:20 80:17 81:8 82:19 83:13 84:14 85:17 86:7 87:19 88:53 89:17 90:16 91:16 92:5 93:23 94:11 95:13 96:12 97:9 98:9 99:5 100:8 101:29 102:22 103:35 104:45 105:48 106:43 107:14 108:31 109:7 110:10 111:10 112:9 113:26 114:9 115:19 116:2 117:29 118:176 119:7 120:8 121:9 122:4 123:8 124:5 125:6 126:5 127:6 128:8 129:8 130:3 131:18 132:3 133:3 134:21 135:26 136:9 137:8 138:24 139:14 140:10 141:8 142:12 143:15 144:21 145:10 146:11 147:20 148:14 149:9 150:6\n# XXB was used for the Letter to the Laodiceans, but should be under LAO [Studge]\n# XXB 1:20\n#----------------------------------------------------------\n# Daniel Greek is currently under DAN [Studge]\nDAG 1:21 2:49 3:97 4:37 5:31 6:28 7:28 8:27 9:27 10:21 11:45 12:13 13:64 14:42\n# Letter to the Laodiceans in the VUL83 and some mediaeval translations of the Vulgate e.g. John Wycliffe's English Bible, appeared after Revelation [Studge]\nLAO 1:20\n#----------------------------------------------------------\n# Mapping\n#----------------------------------------------------------\n# Vulgate = BHS (see org.vrs)\n#\n# (Note: for performance reasons ranges must not span a chapter, e.g. 4:10-5:11 is illegal)\n#\nGEN 31:55 = GEN 32:1\nGEN 32:1-32 = GEN 32:2-33\n# missing <- GEN 49:32\nGEN 49:31 = GEN 49:31\nGEN 49:31 = GEN 49:32\nGEN 49:32 = GEN 49:33\n# GEN 50:22 <- GEN 50:22-23\nGEN 50:22 = GEN 50:22\nGEN 50:22 = GEN 50:23\nGEN 50:23-25 = GEN 50:24-26\nEXO 8:1-4 = EXO 7:26-29\nEXO 8:5-32 = EXO 8:1-28\nEXO 22:1 = EXO 21:37\nEXO 22:2-31 = EXO 22:1-30\n# EXO 40:13 <- EXO 40:13-15\nEXO 40:13 = EXO 40:13\nEXO 40:13 = EXO 40:14\nEXO 40:13 = EXO 40:15\nEXO 40:14-36 = EXO 40:16-38\nLEV 6:1-7 = LEV 5:20-26\nLEV 6:8-30 = LEV 6:1-23\n# LEV 26:45 <- LEV 26:45-46\nLEV 26:45 = LEV 26:45\nLEV 26:45 = LEV 26:46\n# NUM 11:34 <- NUM 11:34-35\nNUM 11:34 = NUM 11:34\nNUM 11:34 = NUM 11:35\nNUM 13:1 = NUM 12:16\nNUM 13:2-34 = NUM 13:1-33\nNUM 16:36-50 = NUM 17:1-15\nNUM 17:1-13 = NUM 17:16-28\n# NUM 20:28-29 -> NUM 20:28\nNUM 20:28 = NUM 20:28\nNUM 20:29 = NUM 20:28\nNUM 20:30 = NUM 20:29\n# NUM 26:1 <- NUM 25:19--26:1\nNUM 26:1 = NUM 25:19\nNUM 26:1 = NUM 26:1\nDEU 12:32 = DEU 13:1\nDEU 13:1-18 = DEU 13:2-19\nDEU 22:30 = DEU 23:1\nDEU 23:1-25 = DEU 23:2-26\nDEU 29:1 = DEU 28:69\nDEU 29:2-29 = DEU 29:1-28\n# JOS 4:23-24 -> JOS 4:23\nJOS 4:23 = JOS 4:23\nJOS 4:24 = JOS 4:23\nJOS 4:25 = JOS 4:24\n# JOS 5:14-15 -> JOS 5:14\nJOS 5:14 = JOS 5:14\nJOS 5:15 = JOS 5:14\nJOS 5:16 = JOS 5:15\n# JOS 21:36 (missing) <- JOS 21:36-37\nJOS 21:36 = JOS 21:36\nJOS 21:36 = JOS 21:37\n# JOS 21:37 <- JOS 21:38-39\nJOS 21:37 = JOS 21:38\nJOS 21:37 = JOS 21:39\nJOS 21:38-43 = JOS 21:40-45\n# JDG 5:31-32 -> JDG 5:31\nJDG 5:31 = JDG 5:31\nJDG 5:32 = JDG 5:31\n# JDG 21:24 <- JDG 21:24-25\nJDG 21:24 = JDG 21:24\nJDG 21:24 = JDG 21:25\n1SA 20:43 = 1SA 21:1\n1SA 21:1-15 = 1SA 21:2-16\n2SA 18:33 = 2SA 19:1\n2SA 19:1-43 = 2SA 19:2-44\n1KI 4:21-34 = 1KI 5:1-14\n1KI 5:1-18 = 1KI 5:15-32\n2KI 11:21 = 2KI 12:1\n2KI 12:1-21 = 2KI 12:2-22\n1CH 6:1-15 = 1CH 5:27-41\n1CH 6:16-81 = 1CH 6:1-66\n# 1CH 11:46 <- 1CH 11:46-47\n1CH 11:46 = 1CH 11:46\n1CH 11:46 = 1CH 11:47\n# 1CH 12:4 <- 1CH 12:4-5\n1CH 12:4 = 1CH 12:4\n1CH 12:4 = 1CH 12:5\n1CH 12:5-40 = 1CH 12:6-41\n# 1CH 20:7 <- 1CH 20:7-8\n1CH 20:7 = 1CH 20:7\n1CH 20:7 = 1CH 20:8\n2CH 2:1 = 2CH 1:18\n2CH 2:2-18 = 2CH 2:1-17\n2CH 14:1 = 2CH 13:23\n2CH 14:2-15 = 2CH 14:1-14\n# NEH 3:30 <- NEH 3:30-31\nNEH 3:30 = NEH 3:30\nNEH 3:30 = NEH 3:31\nNEH 3:31 = NEH 3:32\nNEH 4:1-6 = NEH 3:33-38\nNEH 4:7-23 = NEH 4:1-17\n# NEH 7:68 (missing) -> NEH 7:67b\nNEH 7:67 = NEH 7:67\nNEH 7:68 = NEH 7:67\nNEH 7:69-73 = NEH 7:68-72\nNEH 9:38 = NEH 10:1\nNEH 10:1-39 = NEH 10:2-40\n# NEH 12:33 <- NEH 12:33-34\nNEH 12:33 = NEH 12:33\nNEH 12:33 = NEH 12:34\nNEH 12:34-46 = NEH 12:35-47\n# mapping EST onto ESG, it should map ESG onto EST\n#EST 10:4-13 = ESG 1:4-13\n#EST 11:1-12 = ESG 2:1-12\n#EST 12:1-6 = ESG 3:1-6\n#EST 13:1-18 = ESG 4:1-18\n#EST 14:1-19 = ESG 5:1-19\n#EST 15:1-16 = ESG 6:1-16\n#EST 16:1-24 = ESG 7:1-24\n# JOB 16:4-5 -> JOB 16:4\nJOB 16:4 = JOB 16:4\nJOB 16:5 = JOB 16:4\nJOB 16:6-23 = JOB 16:5-22\nJOB 39:31-35 = JOB 40:1-5\nJOB 40:1-27 = JOB 40:6-32\nJOB 40:28 = JOB 41:1\nJOB 41:1-25 = JOB 41:2-26\n# JOB 42:16 <- JOB 42:16-17\nJOB 42:16 = JOB 42:16\nJOB 42:16 = JOB 42:17\n# In PSA, the equivalent mappings (in chs. 1-9; 147-150) are given too, because XXA is mapped to PSA as well !!!\n# There could still be some errors regarding the irregular mapping of psalm titles (like in PSA 12:1 <- PSA 13:1-2)\nPSA 1:0-6 = PSA 1:0-6\nPSA 2:0-11 = PSA 2:0-11\n# PSA 2:12-13 -> PSA 2:12\nPSA 2:12 = PSA 2:12\nPSA 2:13 = PSA 2:12\nPSA 3:0-9 = PSA 3:0-9\nPSA 4:0-8 = PSA 4:0-8\n# PSA 4:9-10 -> PSA 4:9\nPSA 4:9 = PSA 4:9\nPSA 4:10 = PSA 4:9\nPSA 5:0-13 = PSA 5:0-13\nPSA 6:0-11 = PSA 6:0-11\nPSA 7:0-18 = PSA 7:0-18\nPSA 8:0-10 = PSA 8:0-10\nPSA 9:0-21 = PSA 9:0-21\nPSA 9:22 = PSA 10:0\nPSA 9:22-39 = PSA 10:1-18\n# PSA 10:1-2 -> PSA 11:1\nPSA 10:0-1 = PSA 11:0-1\nPSA 10:2 = PSA 11:1\nPSA 10:3-8 = PSA 11:2-7\nPSA 11:0-9 = PSA 12:0-9\n# PSA 12:1 <- PSA 13:1-2\nPSA 12:0-1 = PSA 13:0-1\nPSA 12:1 = PSA 13:2\n# PSA 12:2-3 -> PSA 13:3\nPSA 12:2 = PSA 13:3\nPSA 12:3 = PSA 13:3\nPSA 12:4-6 = PSA 13:4-6\nPSA 13:0-7 = PSA 14:0-7\nPSA 14:0-1 = PSA 15:0-1\n# PSA 14:3a = PSA 15:2b\nPSA 14:2 = PSA 15:2\nPSA 14:3 = PSA 15:2\nPSA 14:3 = PSA 15:3\nPSA 14:4-5 = PSA 15:4-5\nPSA 15:0-9 = PSA 16:0-9\n# PSA 15:10 <- PSA 16:10-11\nPSA 15:10 = PSA 16:10\nPSA 15:10 = PSA 16:11\nPSA 16:0-15 = PSA 17:0-15\nPSA 17:0-51 = PSA 18:0-51\nPSA 18:0-15 = PSA 19:0-15\nPSA 19:0-10 = PSA 20:0-10\nPSA 20:0-14 = PSA 21:0-14\nPSA 21:0-32 = PSA 22:0-32\nPSA 22:0-6 = PSA 23:0-6\nPSA 23:0-10 = PSA 24:0-10\nPSA 24:0-22 = PSA 25:0-22\nPSA 25:0-12 = PSA 26:0-12\nPSA 26:0-14 = PSA 27:0-14\nPSA 27:0-9 = PSA 28:0-9\nPSA 28:0-11 = PSA 29:0-11\nPSA 29:0-13 = PSA 30:0-13\nPSA 30:0-25 = PSA 31:0-25\nPSA 31:0-11 = PSA 32:0-11\nPSA 32:0-22 = PSA 33:0-22\nPSA 33:0-23 = PSA 34:0-23\nPSA 34:0-28 = PSA 35:0-28\nPSA 35:0-13 = PSA 36:0-13\nPSA 36:0-40 = PSA 37:0-40\nPSA 37:0-23 = PSA 38:0-23\nPSA 38:0-14 = PSA 39:0-14\nPSA 39:0-18 = PSA 40:0-18\nPSA 40:0-14 = PSA 41:0-14\nPSA 41:0-12 = PSA 42:0-12\nPSA 42:0-5 = PSA 43:0-5\nPSA 43:0-21 = PSA 44:0-21\n# PSA 43:22 <- PSA 44:22-23\nPSA 43:22 = PSA 44:22\nPSA 43:22 = PSA 44:23\nPSA 43:23-26 = PSA 44:24-27\nPSA 44:0-18 = PSA 45:0-18\nPSA 45:0-12 = PSA 46:0-12\nPSA 46:0-10 = PSA 47:0-10\nPSA 47:0-15 = PSA 48:0-15\nPSA 48:0-21 = PSA 49:0-21\nPSA 49:0-23 = PSA 50:0-23\nPSA 50:0-21 = PSA 51:0-21\nPSA 51:0-11 = PSA 52:0-11\nPSA 52:0-7 = PSA 53:0-7\nPSA 53:0-9 = PSA 54:0-9\nPSA 54:0-24 = PSA 55:0-24\nPSA 55:0-10 = PSA 56:0-10\n# PSA 55:11 <- PSA 56:11-12\nPSA 55:11 = PSA 56:11\nPSA 55:11 = PSA 56:12\nPSA 55:12-13 = PSA 56:13-14\nPSA 56:0-12 = PSA 57:0-12\nPSA 57:0-12 = PSA 58:0-12\nPSA 58:0-18 = PSA 59:0-18\nPSA 59:0-14 = PSA 60:0-14\nPSA 60:0-9 = PSA 61:0-9\nPSA 61:0-13 = PSA 62:0-13\nPSA 62:0-12 = PSA 63:0-12\nPSA 63:0-11 = PSA 64:0-11\nPSA 64:0-14 = PSA 65:0-14\nPSA 65:0-20 = PSA 66:0-20\nPSA 66:0-8 = PSA 67:0-8\nPSA 67:0-36 = PSA 68:0-36\nPSA 68:0-37 = PSA 69:0-37\nPSA 69:0-6 = PSA 70:0-6\nPSA 70:0-24 = PSA 71:0-24\nPSA 71:0-20 = PSA 72:0-20\nPSA 72:0-28 = PSA 73:0-28\nPSA 73:0-23 = PSA 74:0-23\nPSA 74:0-11 = PSA 75:0-11\nPSA 75:0-13 = PSA 76:0-13\nPSA 76:0-21 = PSA 77:0-21\nPSA 77:0-72 = PSA 78:0-72\nPSA 78:0-13 = PSA 79:0-13\nPSA 79:0-20 = PSA 80:0-20\nPSA 80:0-17 = PSA 81:0-17\nPSA 81:0-8 = PSA 82:0-8\nPSA 82:0-19 = PSA 83:0-19\nPSA 83:0-13 = PSA 84:0-13\nPSA 84:0-14 = PSA 85:0-14\nPSA 85:0-17 = PSA 86:0-17\nPSA 86:0-7 = PSA 87:0-7\nPSA 87:0-19 = PSA 88:0-19\nPSA 88:0-53 = PSA 89:0-53\nPSA 89:0-17 = PSA 90:0-17\nPSA 90:0-16 = PSA 91:0-16\nPSA 91:0-16 = PSA 92:0-16\nPSA 92:0-5 = PSA 93:0-5\nPSA 93:0-23 = PSA 94:0-23\nPSA 94:0-11 = PSA 95:0-11\nPSA 95:0-13 = PSA 96:0-13\nPSA 96:0-12 = PSA 97:0-12\nPSA 97:0-9 = PSA 98:0-9\nPSA 98:0-9 = PSA 99:0-9\nPSA 99:0-5 = PSA 100:0-5\nPSA 100:0-8 = PSA 101:0-8\nPSA 101:0-29 = PSA 102:0-29\nPSA 102:0-22 = PSA 103:0-22\nPSA 103:0-35 = PSA 104:0-35\nPSA 104:0-45 = PSA 105:0-45\nPSA 105:0-48 = PSA 106:0-48\nPSA 106:0-43 = PSA 107:0-43\nPSA 107:0-14 = PSA 108:0-14\nPSA 108:0-31 = PSA 109:0-31\nPSA 109:0-7 = PSA 110:0-7\nPSA 110:0-10 = PSA 111:0-10\nPSA 111:0-10 = PSA 112:0-10\nPSA 112:0-9 = PSA 113:0-9\nPSA 113:0-8 = PSA 114:0-8\nPSA 113:9 = PSA 115:0\nPSA 113:9-26 = PSA 115:1-18\nPSA 114:1-9 = PSA 116:1-9\n# What does 115:1-9 map to? this seems very wrong\nPSA 115:10-19 = PSA 116:10-19\nPSA 116:0-2 = PSA 117:0-2\nPSA 117:0-29 = PSA 118:0-29\nPSA 118:0-176 = PSA 119:0-176\nPSA 119:0-7 = PSA 120:0-7\nPSA 120:0-8 = PSA 121:0-8\nPSA 121:0-9 = PSA 122:0-9\nPSA 122:0-4 = PSA 123:0-4\nPSA 123:0-8 = PSA 124:0-8\nPSA 124:0-5 = PSA 125:0-5\nPSA 125:0-6 = PSA 126:0-6\nPSA 126:0-5 = PSA 127:0-5\nPSA 127:0-6 = PSA 128:0-6\nPSA 128:0-8 = PSA 129:0-8\nPSA 129:0-8 = PSA 130:0-8\nPSA 130:0-3 = PSA 131:0-3\nPSA 131:0-18 = PSA 132:0-18\nPSA 132:0-3 = PSA 133:0-3\nPSA 133:0-3 = PSA 134:0-3\nPSA 134:0-21 = PSA 135:0-21\nPSA 135:0-26 = PSA 136:0-26\nPSA 136:0-9 = PSA 137:0-9\nPSA 137:0-8 = PSA 138:0-8\nPSA 138:0-24 = PSA 139:0-24\nPSA 139:0-14 = PSA 140:0-14\nPSA 140:0-10 = PSA 141:0-10\nPSA 141:0-8 = PSA 142:0-8\nPSA 142:0-12 = PSA 143:0-12\nPSA 143:0-15 = PSA 144:0-15\nPSA 144:0-21 = PSA 145:0-21\n# PSA 145:2a = PSA 146:1b\nPSA 145:0-1 = PSA 146:0-1\nPSA 145:2 = PSA 146:1\nPSA 145:2 = PSA 146:2\nPSA 145:3-10 = PSA 146:3-10\nPSA 146:0-11 = PSA 147:0-11\nPSA 147:12-20 = PSA 147:12-20\nPSA 148:0-14 = PSA 148:0-14\nPSA 149:0-9 = PSA 149:0-9\nPSA 150:0-6 = PSA 150:0-6\nECC 7:1 = ECC 6:12\nECC 7:2-30 = ECC 7:1-29\nSNG 1:1 = SNG 1:1\nSNG 1:1-16 = SNG 1:2-17\nSNG 5:17 = SNG 6:1\nSNG 6:1-11 = SNG 6:2-12\n# SNG 6:12 -> SNG 7:1a\n# SNG 7:1 <- SNG 7:1b-2\n# or: SNG 6:12--7:1 = SNG 7:1-2\nSNG 6:12 = SNG 7:1\nSNG 7:1 = SNG 7:1\nSNG 7:1 = SNG 7:2\nSNG 7:2-13 = SNG 7:3-14\n# ISA 8:22d = ISA 8:23a\nISA 8:22 = ISA 8:22\nISA 8:22 = ISA 8:23\nISA 9:1 = ISA 8:23\nISA 9:2-21 = ISA 9:1-20\n# ISA 9:20d = ISA 9:20ab\nISA 9:20 = ISA 9:19\nISA 9:20 = ISA 9:20\nISA 9:21 = ISA 9:20\n# ISA 64:1 -> ISA 63:19cd\nISA 63:19 = ISA 63:19\nISA 64:1 = ISA 63:19\nISA 64:2-12 = ISA 64:1-11\nJER 9:1 = JER 8:23\nJER 9:2-26 = JER 9:1-25\n# JER 37:4 <- JER 37:4-5\nJER 37:4 = JER 37:4\nJER 37:4 = JER 37:5\nJER 37:5-20 = JER 37:6-21\n# EZK 2:9 <- EZK 2:9-10\nEZK 2:9 = EZK 2:9\nEZK 2:9 = EZK 2:10\nEZK 20:45-49 = EZK 21:1-5\nEZK 21:1-32 = EZK 21:6-37\nDAN 3:24-90 = S3Y 1:1-67\nDAN 3:91-100 = DAN 3:24-33\nDAN 5:31 = DAN 6:1\nDAN 6:1-28 = DAN 6:2-29\nDAN 13:1-64 = SUS 1:1-64\nDAN 13:65 = BEL 1:1\nDAN 14:1 = BEL 1:1\nDAN 14:2-41 = BEL 1:2-41\nHOS 1:10-11 = HOS 2:1-2\nHOS 2:1-22 = HOS 2:3-24\n# HOS 2:23-24 -> HOS 2:25\nHOS 2:23 = HOS 2:25\nHOS 2:24 = HOS 2:25\nHOS 11:12 = HOS 12:1\nHOS 12:1-14 = HOS 12:2-15\nJOL 2:28-32 = JOL 3:1-5\nJOL 3:1-21 = JOL 4:1-21\n# AMO 6:10-11 -> AMO 6:10\nAMO 6:10 = AMO 6:10\nAMO 6:11 = AMO 6:10\nAMO 6:12-15 = AMO 6:11-14\nMIC 5:1 = MIC 4:14\nMIC 5:2-10 = MIC 5:1-9\n# MIC 5:11 <- MIC 5:10-11\nMIC 5:11 = MIC 5:10\nMIC 5:11 = MIC 5:11\n# MIC 5:12-14 = MIC 5:12-14\nJON 1:17 = JON 2:1\nJON 2:1-10 = JON 2:2-11\nNAM 1:15 = NAM 2:1\nNAM 2:1-13 = NAM 2:2-14\nHAG 2:1 = HAG 1:15\nHAG 2:2-24 = HAG 2:1-23\nZEC 1:18-21 = ZEC 2:1-4\nZEC 2:1-13 = ZEC 2:5-17\nMAL 4:1-6 = MAL 3:19-24\n#\n#\n# Mapping\n# Vulgate = UBS GNT\n#\n#\n# MAT 17:14 <- MAT 17:14-15\nMAT 17:15-26 = MAT 17:16-27\n# MRK 4:40 <- MRK 4:40-41\nMRK 4:40 = MRK 4:40\nMRK 4:40 = MRK 4:41\nMRK 8:39 = MRK 9:1\nMRK 9:1-49 = MRK 9:2-50\n# JHN 6:51-52 -> JHN 6:51\nJHN 6:51 = JHN 6:51\nJHN 6:52 = JHN 6:51\nJHN 6:53-72 = JHN 6:52-71\n# ACT 7:55 <- ACT 7:55-56\nACT 7:55 = ACT 7:55\nACT 7:55 = ACT 7:56\nACT 7:56-59 = ACT 7:57-60\n# ACT 14:6 <- ACT 14:6-7\nACT 14:6 = ACT 14:6\nACT 14:6 = ACT 14:7\nACT 14:7-27 = ACT 14:8-28\n#\n#\n#\n# Mapping\n# Vulgate = +/-LXX\n#\n#\n# WIS 2:24-25 -> WIS 2:24\nWIS 2:24 = WIS 2:24\nWIS 2:25 = WIS 2:24\n# WIS 5:13-14 -> WIS 5:13\nWIS 5:13 = WIS 5:13\nWIS 5:14 = WIS 5:13\nWIS 5:15-24 = WIS 5:14-23\n# WIS 6:1 -> missing\nWIS 6:2-21 = WIS 6:1-20\nWIS 6:22 = WIS 6:21\nWIS 6:23 = WIS 6:21\n# WIS 6:23 -> missing\nWIS 6:24-27 = WIS 6:22-25\n# WIS 9:18-19 -> WIS 9:18\nWIS 9:18 = WIS 9:18\nWIS 9:19 = WIS 9:18\n# WIS 11:5-6 -> WIS 11:5\nWIS 11:5 = WIS 11:5\nWIS 11:6 = WIS 11:5\nWIS 11:7-27 = WIS 11:6-26\n# WIS 19:12 <- WIS 19:12-13\nWIS 19:12 = WIS 19:12\nWIS 19:12 = WIS 19:13\nWIS 19:13-19 = WIS 19:14-20\n# WIS 19:20 <- WIS 19:21-22\nWIS 19:20 = WIS 19:21\nWIS 19:20 = WIS 19:22\nBAR 6:1-72 = LJE 1:1-72\n# 1MA 1:4-5 -> 1MA 1:4\n1MA 1:4 = 1MA 1:4\n1MA 1:5 = 1MA 1:4\n1MA 1:6-31 = 1MA 1:5-30\n# 1MA 1:31-32 -> 1MA 1:30\n1MA 1:31 = 1MA 1:30\n1MA 1:32 = 1MA 1:30\n1MA 1:33-35 = 1MA 1:31-33\n# 1MA 1:36ab <- 1MA 1:34\n# 1MA 1:36bc = 1MA 1:35a\n# 1MA 1:37 -> 1MA 1:35b\n1MA 1:36 = 1MA 1:34\n1MA 1:36 = 1MA 1:35\n1MA 1:37 = 1MA 1:35\n1MA 1:38-46 = 1MA 1:36-44\n# 1MA 1:47-48 -> 1MA 1:45\n1MA 1:47 = 1MA 1:45\n1MA 1:48 = 1MA 1:45\n1MA 1:49-67 = 1MA 1:46-64\n# 1MA 12:53-54 -> 1MA 12:53\n1MA 12:53 = 1MA 12:53\n1MA 12:54 = 1MA 12:53\n# 1MA 13:52-53 -> 1MA 13:52\n1MA 13:52 = 1MA 13:52\n1MA 13:53 = 1MA 13:52\n1MA 13:54 = 1MA 13:53\n# 2MA 2:18-19 -> 2MA 2:18\n2MA 2:18 = 2MA 2:18\n2MA 2:19 = 2MA 2:18\n2MA 2:20-33 = 2MA 2:19-32\n# 2MA 12:45-46 -> 2MA 12:45\n2MA 12:45 = 2MA 12:45\n2MA 12:46 = 2MA 12:45\n# 2MA 15:36-37 -> 2MA 15:36\n2MA 15:36 = 2MA 15:36\n2MA 15:37 = 2MA 15:36\n2MA 15:38-40 = 2MA 15:37-39\n#\n#\n# For 1ES the mapping info is taken from the Bible Works program\n# mapping Vulgate onto LXX\n#\n1ES 1:4 = 1ES 1:3\n1ES 1:4 = 1ES 1:4\n1ES 1:5 = 1ES 1:4\n1ES 1:5 = 1ES 1:5\n1ES 1:10 = 1ES 1:10\n1ES 1:10 = 1ES 1:11\n1ES 1:11 = 1ES 1:12\n1ES 1:12 = 1ES 1:13\n1ES 1:13 = 1ES 1:13\n1ES 1:13 = 1ES 1:14\n1ES 1:14 = 1ES 1:14\n1ES 1:15 = 1ES 1:15\n1ES 1:16 = 1ES 1:15\n1ES 1:17 = 1ES 1:16\n1ES 1:18 = 1ES 1:16\n1ES 1:19-50 = 1ES 1:17-48\n1ES 1:51 = 1ES 1:49\n1ES 1:52 = 1ES 1:49\n1ES 1:53-58 = 1ES 1:50-55\n1ES 2:1 = 1ES 2:1\n1ES 2:2 = 1ES 2:1\n1ES 2:3 = 1ES 2:2\n1ES 2:4 = 1ES 2:2\n1ES 2:5 = 1ES 2:3\n1ES 2:6 = 1ES 2:4\n1ES 2:7 = 1ES 2:4\n1ES 2:8 = 1ES 2:5\n1ES 2:9 = 1ES 2:6\n1ES 2:10 = 1ES 2:7\n1ES 2:11 = 1ES 2:8\n1ES 2:12 = 1ES 2:8\n1ES 2:13 = 1ES 2:9\n1ES 2:13 = 1ES 2:10\n1ES 2:14 = 1ES 2:11\n1ES 2:15 = 1ES 2:11\n1ES 2:16-19 = 1ES 2:12-15\n1ES 2:20 = 1ES 2:16\n1ES 2:21 = 1ES 2:16\n1ES 2:22 = 1ES 2:17\n1ES 2:23 = 1ES 2:17\n1ES 2:24 = 1ES 2:18\n1ES 2:25 = 1ES 2:19\n1ES 2:26 = 1ES 2:20\n1ES 2:26 = 1ES 2:21\n1ES 2:27 = 1ES 2:21\n1ES 2:27 = 1ES 2:22\n1ES 2:28 = 1ES 2:23\n1ES 2:29 = 1ES 2:24\n1ES 2:30 = 1ES 2:25\n1ES 2:30 = 1ES 2:26\n1ES 3:14 = 1ES 3:14\n1ES 3:15 = 1ES 3:14\n1ES 3:16 = 1ES 3:15\n1ES 3:17 = 1ES 3:16\n1ES 3:17 = 1ES 3:17\n1ES 4:10 = 1ES 4:10\n1ES 4:10 = 1ES 4:11\n1ES 4:11 = 1ES 4:11\n1ES 4:33 = 1ES 4:33\n1ES 4:33 = 1ES 4:34\n1ES 4:39 = 1ES 4:39\n1ES 4:40 = 1ES 4:39\n1ES 4:40 = 1ES 4:40\n1ES 5:41 = 1ES 5:41\n1ES 5:42 = 1ES 5:41\n1ES 5:43-53 = 1ES 5:42-52\n1ES 5:54 = 1ES 5:53\n1ES 5:55 = 1ES 5:53\n1ES 5:56 = 1ES 5:54\n1ES 5:57 = 1ES 5:55\n1ES 5:58 = 1ES 5:56\n1ES 5:58 = 1ES 5:57\n1ES 5:59 = 1ES 5:57\n1ES 5:60 = 1ES 5:57\n1ES 5:61-72 = 1ES 5:58-69\n1ES 5:73 = 1ES 5:70\n1ES 5:73 = 1ES 5:71\n1ES 6:8 = 1ES 6:8\n1ES 6:9 = 1ES 6:8\n1ES 6:10-34 = 1ES 6:9-33\n1ES 8:5 = 1ES 8:5\n1ES 8:6 = 1ES 8:5\n1ES 8:6 = 1ES 8:6\n1ES 8:13 = 1ES 8:13\n1ES 8:14 = 1ES 8:13\n1ES 8:14 = 1ES 8:14\n1ES 8:19 = 1ES 8:19\n1ES 8:20 = 1ES 8:19\n1ES 8:20 = 1ES 8:20\n1ES 8:43 = 1ES 8:43\n1ES 8:44 = 1ES 8:43\n1ES 8:45-49 = 1ES 8:44-48\n1ES 8:50 = 1ES 8:49\n1ES 8:50 = 1ES 8:50\n1ES 8:56 = 1ES 8:56\n1ES 8:57 = 1ES 8:56\n1ES 8:58-62 = 1ES 8:57-61\n1ES 8:63 = 1ES 8:62\n1ES 8:64 = 1ES 8:62\n1ES 8:65 = 1ES 8:63\n1ES 8:66 = 1ES 8:63\n1ES 8:67-85 = 1ES 8:64-82\n1ES 8:86 = 1ES 8:83\n1ES 8:86 = 1ES 8:84\n1ES 8:87 = 1ES 8:84\n1ES 8:88-92 = 1ES 8:85-89\n1ES 8:93 = 1ES 8:90\n1ES 8:94 = 1ES 8:90\n1ES 8:95 = 1ES 8:91\n1ES 8:96 = 1ES 8:92\n#\n#--------------------------------------------------------------------------\n# mapping XXA onto PSA, XXA should be in a variant Vulgate project [Studge]\n# Both PSA and XXA are synchronized to PSA in the original versification.\n# Is this allowed???\n# by request of RdB, XXA mapping to PSA has been deleted - [Barb] 20110127\n# XXA has been moved to PSA and the old PSA is now the Resource VULGP83 [Barb]\n# There could still be some errors regarding the irregular mapping of psalm titles (like in PSA 12:1 <- PSA 13:1-2)\n#\n#\n#-------------------------------------------------------\n# Removing the following lines (FB 52696)\n#2ES 3:1-36 = EZA 1:1-36\n#2ES 4:1-52 = EZA 2:1-52\n#2ES 5:1-56 = EZA 3:1-56\n#2ES 6:1-59 = EZA 4:1-59\n#2ES 7:1-35 = EZA 5:1-35\n#2ES 7:106-140 = EZA 5:36-70\n#2ES 8:1-63 = EZA 6:1-63\n#2ES 9:1-47 = EZA 7:1-47\n#2ES 10:1-60 = EZA 8:1-60\n#2ES 11:1-46 = EZA 9:1-46\n#2ES 12:1-51 = EZA 10:1-51\n#2ES 13:1-58 = EZA 11:1-58\n#2ES 14:1-48 = EZA 12:1-48\n#-----------------------------------------------------\n# map Letter to the Laodiceans [Studge]\n# XXB 1:1-7 = LAO 1:1-7\n#-----------------------------------------------------\n# map Esther Greek onto Hebrew Esther [Studge]\n# to be added in\n#-----------------------------------------------------\n# Mapping Additions to Daniel onto Hebrew Daniel [Studge]\nDAG 1:1-21 = DAN 1:1-21\nDAG 2:1-49 = DAN 2:1-49\nDAG 3:24-52 = S3Y 1:1-29\nDAG 3:52-23 = S3Y 1:30-31\nDAG 3:54 = S3Y 1:33\nDAG 3:55 = S3Y 1:32\nDAG 3:56-57 = S3Y 1:34-35\nDAG 3:58 = S3Y 1:37\nDAG 3:59 = S3Y 1:36\nDAG 3:60-90 = S3Y 1:38-68\nDAG 3:91-97 = DAN 3:24-30\nDAG 4:1-3 = DAN 3:31-33\nDAG 4:4-37 = DAN 4:1-34\nDAG 5:1-31 = DAN 5:1-31\nDAG 6:1-28 = DAN 6:1-28\nDAG 7:1-28 = DAN 7:1-28\nDAG 8:1-27 = DAN 8:1-27\nDAG 9:1-27 = DAN 9:1-27\nDAG 10:1-21 = DAN 10:1-21\nDAG 11:1-45 = DAN 11:1-45 \nDAG 12:1-13 = DAN 12:1-13\n# Susanna\nDAG 13:1-63 = SUS 1:63\n# Bel and the Dragon\nDAG 14:1-42 = BEL 1:42\n#-------------------------------------------------------\n"}},Sd=/^([A-Z0-9]{3}) (([0-9]+:[0-9]+) ?)*$/;for(var[yd,gd]of Object.entries(md)){gd.cv={};var vd=gd.raw.split("\n").filter((e=>e.match(Sd)));if(vd)for(var bd of vd){var Ed=bd.slice(0,3);for(var Ad of(gd.cv[Ed]={},bd.substr(4).split(" "))){var[Td,wd]=Ad.split(":");gd.cv[Ed][Td]=wd}}}const kd=md;var Pd,Id,Nd='\n"""The top level of Proskomma queries"""\ntype Query {\n """The id of the processor, which is different for each Proskomma instance"""\n id: String!\n """A string describing the processor class"""\n processor: String!\n """The NPM package version"""\n packageVersion: String!\n """The selectors used to define docSets"""\n selectors: [selectorSpec!]!\n """The number of docSets"""\n nDocSets: Int!\n """The docSets in the processor"""\n docSets(\n """A whitelist of ids of docSets to include"""\n ids: [String!]\n """Only return docSets that match the list of selector values"""\n withSelectors: [InputKeyValue!]\n """Only return docSets containing a document with the specified bookCode"""\n withBook: String\n """Only return docSets with all the specified tags"""\n withTags: [String!]\n """Only return docSets with none of the specified tags"""\n withoutTags: [String!]\n ): [DocSet!]!\n """The docSet with the specified id"""\n docSet(\n """The id of the docSet"""\n id: String!\n ): DocSet\n """The number of documents in the processor"""\n nDocuments: Int!\n """The documents in the processor"""\n documents(\n """A whitelist of ids of documents to include"""\n ids: [String!]\n """Only return documents with the specified bookCode"""\n withBook: String\n """Only return documents with the specified header key/values"""\n withHeaderValues: [InputKeyValue!]\n """Only return documents with all the specified tags"""\n withTags: [String!]\n """Only return documents with none of the specified tags"""\n withoutTags: [String!]\n """Sort returned documents by the designated method (currently '+Object.keys(pd).join(", ")+')"""\n sortedBy: String\n ): [Document!]!\n """The document with the specified id, or the specified docSet and withBook"""\n document(\n """The id of the document"""\n id: String\n """The docSet of the document (use with withBook)"""\n docSetId: String\n """The book of the document (use with docSetId)"""\n withBook: String\n ) : Document\n """Reference information about standard versifications"""\n versifications: [versification!]!\n """Reference information about a named, standard versification"""\n versification(\n """The id of the versification"""\n id: String!\n ) : versification!\n}\n',Od={id:e=>e.processorId,selectors:e=>e.selectors,docSets:(e,t)=>{var n=("withBook"in t?e.docSetsWithBook(t.withBook):Object.values(e.docSets)).filter((e=>!t.ids||t.ids.includes(e.id)));return t.withSelectors&&(n=n.filter((e=>((e,t)=>{for(var n of t)if(e.selectors[n.key].toString()!==n.value)return!1;return!0})(e,t.withSelectors)))),t.withTags&&(n=n.filter((e=>t.withTags.filter((t=>e.tags.has(t))).length===t.withTags.length))),t.withoutTags&&(n=n.filter((e=>0===t.withoutTags.filter((t=>e.tags.has(t))).length))),n},docSet:(e,t)=>e.docSetById(t.id),documents:(e,t)=>{var n=t.withBook?e.documentsWithBook(t.withBook):e.documentList();if(n=n.filter((e=>!t.ids||t.ids.includes(e.id))),t.withHeaderValues&&(n=n.filter((e=>((e,t)=>{for(var n of t||[])if(!(n.key in e)||e[n.key]!==n.value)return!1;return!0})(e.headers,t.withHeaderValues)))),t.withTags&&(n=n.filter((e=>t.withTags.filter((t=>e.tags.has(t))).length===t.withTags.length))),t.withoutTags&&(n=n.filter((e=>0===t.withoutTags.filter((t=>e.tags.has(t))).length))),t.sortedBy){if(!(t.sortedBy in pd))throw new Error("sortedBy value must be one of ["+Object.keys(pd).join(", ")+"], not "+t.sortedBy);n.sort(pd[t.sortedBy])}return n},document:(e,t)=>{if(!t.id||t.docSetId||t.withBook){if(!t.id&&t.docSetId&&t.withBook)return e.documentsWithBook(t.withBook).filter((e=>e.docSetId===t.docSetId))[0];throw new Error("document requires either id or both docSetId and withBook (but not all three)")}return e.documentById(t.id)},versifications:()=>Object.entries(kd),versification:(e,t)=>Object.entries(kd).filter((e=>e[0]===t.id))[0]},_d=(e,t,n,r)=>{for(var s=n.blocks.length,o=0;o<s;o++)t.deleteBlock(n.id,0,!1);for(var a=0;a<r.length;a++){var i=r[a];if(t.newBlock(n.id,a,i.bs.payload,null,!1),!e.updateBlockGrafts(t.id,n.id,a,i.bg))return!1;if(!e.updateOpenScopes(t.id,n.id,a,i.os))return!1;if(!e.updateIncludedScopes(t.id,n.id,a,i.is))return!1;if(!e.updateItems(t.id,n.id,a,i.items))return!1}},xd={addDocument:(e,t)=>{var n={};return t.selectors.forEach((e=>{n[e.key]=e.value})),!!e.importDocument(n,t.contentType,t.content,null,null,null,t.tags||[])},newSequence:(e,t)=>{var n=e.documents[t.documentId],r=n.processor.docSets[n.docSetId];if(!n)throw new Error("Document '"+t.documentId+"' not found");var s=n.newSequence(t.type,t.tags);if(t.blocksSpec&&(_d(r,n,n.sequences[s],t.blocksSpec),n.buildChapterVerseIndex()),t.graftToMain){r.maybeBuildPreEnums();var o=n.sequences[n.mainId].blocks[0].bg,a=r.enumForCategoryValue("graftTypes",t.type,!0),i=r.enumForCategoryValue("ids",s,!0);vi.succinct.pushSuccinctGraftBytes(o,a,i)}return s},newBlock:(e,t)=>{var n=e.documents[t.documentId];if(!n)throw new Error("Document '"+t.documentId+"' not found");return n.newBlock(t.sequenceId,t.blockN,t.blockScope)}},Cd={deleteDocSet:(e,t)=>e.deleteDocSet(t.docSetId),deleteDocument:(e,t)=>e.deleteDocument(t.docSetId,t.documentId),deleteSequence:(e,t)=>{var n=e.documents[t.documentId];if(!n)throw new Error("Document '"+t.documentId+"' not found");return n.deleteSequence(t.sequenceId)},deleteBlock:(e,t)=>{var n=e.documents[t.documentId];if(!n)throw new Error("Document '"+t.documentId+"' not found");return n.deleteBlock(t.sequenceId,t.blockN)}},Dd={addDocSetTags:(e,t)=>{var n=e.docSets[t.docSetId];for(var r of t.tags)n.addTag(r);return Array.from(n.tags)},addDocumentTags:(e,t)=>{var n=e.docSets[t.docSetId].processor.documents[t.documentId];for(var r of t.tags)n.addTag(r);return Array.from(n.tags)},addSequenceTags:(e,t)=>{var n=e.docSets[t.docSetId].processor.documents[t.documentId].sequences[t.sequenceId];for(var r of t.tags)vi.tags.addTag(n.tags,r);return Array.from(n.tags)},removeDocSetTags:(e,t)=>{var n=e.docSets[t.docSetId];for(var r of t.tags)n.removeTag(r);return Array.from(n.tags)},removeDocumentTags:(e,t)=>{var n=e.docSets[t.docSetId].processor.documents[t.documentId];for(var r of t.tags)n.removeTag(r);return Array.from(n.tags)},removeSequenceTags:(e,t)=>{var n=e.docSets[t.docSetId].processor.documents[t.documentId].sequences[t.sequenceId];for(var r of t.tags)vi.tags.removeTag(n.tags,r);return Array.from(n.tags)}},$d=n(5108);function Rd(e,t,n,r,s,o,a){try{var i=e[o](a),u=i.value}catch(e){return void n(e)}i.done?t(u):Promise.resolve(u).then(r,s)}function qd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function jd(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Md=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?qd(Object(n),!0).forEach((function(t){jd(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):qd(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},xd,Cd,{rehashDocSet:(e,t)=>e.rehashDocSet(t.docSetId)},Dd,{updateItems:(e,t)=>{var n=e.docSets[t.docSetId];if(!n)throw new Error("DocSet '"+t.docSetId+"' not found");if(!t.items)throw new Error("Must provide items");return!!n.updateItems(t.documentId,t.sequenceId,t.blockPosition,t.items)&&(!(t.blockGrafts&&!n.updateBlockGrafts(t.documentId,t.sequenceId,t.blockPosition,t.blockGrafts))&&!(t.blockScope&&!n.updateBlockScope(t.documentId,t.sequenceId,t.blockPosition,t.blockScope)))},updateAllBlocks:(e,t)=>{var n=e.docSets[t.docSetId];if(!n)throw new Error("DocSet '"+t.docSetId+"' not found");var r=e.documents[t.documentId];if(!r)throw new Error("Document '"+t.documentId+"' not found");var s=r.sequences[t.sequenceId||r.mainId];if(!s)throw new Error("Sequence '"+(t.sequenceId||r.mainId)+"' not found");return _d(n,r,s,t.blocksSpec),r.buildChapterVerseIndex(),!0},updateSequenceFromPerf:(Pd=function*(e,t){var n=e.docSets[t.docSetId];if(!n)throw new Error("DocSet '"+t.docSetId+"' not found");var r=e.documents[t.documentId];if(!r)throw new Error("Document '"+t.documentId+"' not found");var s=r.sequences[t.sequenceId||r.mainId];if(!s)throw new Error("Sequence '"+(t.sequenceId||r.mainId)+"' not found");var o=JSON.parse(t.perf),a={schema:{structure:"flat",structure_version:"0.3.0",constraints:[{name:"perf",version:"0.3.0"}]},metadata:{translation:{},document:{}},sequences:{},main_sequence_id:t.sequenceId};a.sequences[t.sequenceId]=o;var i={};try{var u=new Wi.PipelineHandler({pipelines:$u,transforms:Hu,proskomma:e}),c=yield u.runPipeline("perf2PkJsonPipeline",{perf:a});i=Object.values(c.pkJson)[0]}catch(e){return $d.error("pipelineHandler Error :\n",e),!1}return _d(n,r,s,i),r.buildChapterVerseIndex(),!0},Id=function(){var e=this,t=arguments;return new Promise((function(n,r){var s=Pd.apply(e,t);function o(e){Rd(s,n,r,o,a,"next",e)}function a(e){Rd(s,n,r,o,a,"throw",e)}o(void 0)}))},function(e,t){return Id.apply(this,arguments)}),gcSequences:(e,t)=>{var n=e.docSets[t.docSetId];if(!n)throw new Error("DocSet '"+t.docSetId+"' not found");var r=e.documents[t.documentId];if(!r)throw new Error("Document '"+t.documentId+"' not found");return!!r.gcSequences()&&(n.rehash(),!0)}},{setVerseMapping:(e,t)=>{if(t.vrsSource&&t.jsonSource)throw new Error("Cannot specify both vrsSource and jsonSource");if(!t.vrsSource&&!t.jsonSource)throw new Error("Must specify either vrsSource or jsonSource");var n,r=e.docSets[t.docSetId];if(!r)return!1;n=t.vrsSource?vi.versification.vrs2json(t.vrsSource):t.jsonSource;var s=vi.versification.succinctifyVerseMappings(n.mappedVerses),o=vi.versification.reverseVersification(n),a=vi.versification.succinctifyVerseMappings(o.reverseMappedVerses);for(var i of r.documents().filter((e=>"bookCode"in e.headers))){var u=i.headers.bookCode,c=r.documentWithBook(u);if(c){var d=c.sequences[c.mainId];d.verseMapping={},u in s&&(d.verseMapping.forward=s[u]),u in a&&(d.verseMapping.reversed=a[u])}}return r.tags.add("hasMapping"),!0},unsetVerseMapping:(e,t)=>{var n=e.docSets[t.docSetId];if(!n)return!1;for(var r of n.documents().filter((e=>"bookCode"in e.headers))){var s=r.headers.bookCode,o=n.documentWithBook(s);o&&(o.sequences[o.mainId].verseMapping={})}return n.tags.delete("hasMapping"),!0}}),Bd="\n "+Nd+'\n \ntype Mutation {\n\n """Adds a document which will be assigned to an existing or new docSet on the basis of the specified selectors"""\n addDocument(\n """The selectors for this document, the keys of which must match those of the Proskomma instance"""\n selectors: [InputKeyValue!]!\n """The format of the content (probably usfm or usx)"""\n contentType: String!\n """The document content as a string"""\n content: String!\n """A list of tags to be added"""\n tags: [String!]\n ): Boolean!\n """Creates a new, empty sequence"""\n newSequence(\n """The id of the document to which the sequence will be added"""\n documentId: String!\n """The type of the new sequence (main, heading...)"""\n type: String!\n """The JSON describing blocks, if any, for the new sequence"""\n blocksSpec: [inputBlockSpec!]\n """If true, graft to the first block of the main sequence"""\n graftToMain: Boolean\n """\'A list of tags to be added"""\n tags: [String!]\n ): String!\n """Adds a new block to a sequence"""\n newBlock(\n """The id of the document containing the sequence to which the block will be added"""\n documentId: String!\n """The id of the sequence to which the block will be added"""\n sequenceId: String!\n """The zero-indexed position at which to add the block"""\n blockN: Int!\n """The scope to be applied to the block, eg blockScope/p"""\n blockScope: String!\n ): Boolean!\n\n\n """Deletes a docSet"""\n deleteDocSet(\n """The id of the docSet containing the document to be deleted"""\n docSetId: String!\n ): Boolean\n """Deletes a document"""\n deleteDocument(\n """The id of the docSet containing the document to be deleted"""\n docSetId: String!\n """The id of the document to be deleted"""\n documentId: String!\n ): Boolean\n """Deletes a sequence from a document"""\n deleteSequence(\n """The id of the document containing the sequence to be deleted"""\n documentId: String!\n """The id of the sequence to be deleted"""\n sequenceId: String!\n ): Boolean\n """Deletes a block from a sequence"""\n deleteBlock(\n """The id of the document containing the sequence from which the block will be deleted"""\n documentId: String!\n """The id of the sequence from which the block will be deleted"""\n sequenceId: String!\n """The zero-indexed number of the block to be deleted"""\n blockN: Int!\n ): Boolean\n\n\n """Explicitly rebuild the text lookup tables for a docSet. (You probably don\'t need to do this)"""\n rehashDocSet(\n """The id of the docSet"""\n docSetId: String!\n ): Boolean!\n\n\n """Add one or more tags to a docSet, if they are not already present"""\n addDocSetTags(\n """The id of the docSet to which the tags will be added"""\n docSetId: String!\n """A list of tags to be added"""\n tags: [String]!\n ): [String!]!\n """Add one or more tags to a document, if they are not already present"""\n addDocumentTags(\n """The id of the docSet containing the document to which the tags will be added"""\n docSetId: String!\n """The id of the document to which the tags will be added"""\n documentId: String!\n """A list of tags to be added"""\n tags: [String]!\n ): [String!]\n """Add one or more tags to a sequence, if they are not already present"""\n addSequenceTags(\n """The id of the docSet containing the document containing the sequence to which the tags will be added"""\n docSetId: String!\n """The id of the document containing the sequence to which the tags will be added"""\n documentId: String!\n """The id of the sequence to which the tags will be added"""\n sequenceId: String!\n """A list of tags to be added"""\n tags: [String]!\n ) : [String!]\n """Remove one or more tags from a docSet, if they are present"""\n removeDocSetTags(\n """The id of the docSet from which the tags will be removed"""\n docSetId: String!\n """A list of tags to be removed"""\n tags: [String]!\n ): [String!]\n """Remove one or more tags from a document, if they are present"""\n removeDocumentTags(\n """The id of the docSet containing the document from which the tags will be removed"""\n docSetId: String!\n """The id of the document from which the tags will be removed"""\n documentId: String!\n """A list of tags to be removed"""\n tags: [String]!\n ): [String!]\n """Remove one or more tags from a sequence, if they are present"""\n removeSequenceTags(\n """The id of the docSet containing the document containing the sequence from which the tags will be removed"""\n docSetId: String!\n """The id of the document containing the sequence from which the tags will be removed"""\n documentId: String!\n """The id of the sequence from which the tags will be removed"""\n sequenceId: String!\n """A list of tags to be removed"""\n tags: [String]!\n ) : [String!]\n\n\n """Replaces the items of a block with a new set of items"""\n updateItems(\n """The id of the docSet containing the document containing the sequence containing the block for which the items will be updated"""\n docSetId: String!\n """The id of the document containing the sequence containing the block for which the items will be updated"""\n documentId: String!\n """The id of the sequence containing the block for which the items will be updated (defaults to the main sequence)"""\n sequenceId: String\n """The zero-indexed number of the block for which the items will be updated"""\n blockPosition: Int!\n """The new content for the block as item objects"""\n items: [InputItemObject!]\n """BlockGrafts for the block as item objects"""\n blockGrafts: [InputItemObject!]\n """Optional blockScope for the block as an item object"""\n blockScope: InputItemObject\n ): Boolean!\n """Replaces all the blocks of a sequence with a new set of blocks"""\n updateAllBlocks(\n """The id of the docSet containing the document containing the sequence for which the blocks will be updated"""\n docSetId: String!\n """The id of the document containing the sequence for which the blocks will be updated"""\n documentId: String!\n """The id of the sequence for which the blocks will be updated (defaults to the main sequence)"""\n sequenceId: String\n """The JSON describing blocks"""\n blocksSpec: [inputBlockSpec!]!\n ): Boolean!\n """Replaces all the blocks of a sequence with a new set of blocks derived from PERF"""\n updateSequenceFromPerf(\n """The id of the docSet containing the document containing the sequence for which the blocks will be updated"""\n docSetId: String!\n """The id of the document containing the sequence for which the blocks will be updated"""\n documentId: String!\n """The id of the sequence for which the blocks will be updated (defaults to the main sequence)"""\n sequenceId: String\n """The JSON describing blocks"""\n perf: String!\n ): Boolean!\n """Garbage collects unused sequences within a document. (You probably don\\\'t need to do this.)"""\n gcSequences(\n """The id of the docSet containing the document to be garbage collected"""\n docSetId: String!\n """The id of the document to be garbage collected"""\n documentId: String!\n ) : Boolean!\n \n\n\n """Adds verse mapping tables to the documents in a docSet, where the verse mapping may be provided in legacy .vrs or JSON format"""\n setVerseMapping(\n """the id of the docSet to which the verse mapping will be added"""\n docSetId: String!\n """The verse mapping, in legacy .vrs format (as a string)"""\n vrsSource: String\n """The verse mapping, in JSON format (as a string)"""\n jsonSource: String\n ): Boolean!\n """Removes verse mapping tables from the documents in a docSet"""\n unsetVerseMapping(\n """The id of the docSet from which verse mapping will be removed"""\n docSetId: String!\n ): Boolean!\n\n}\n \n"""Key/Value tuple"""\ntype KeyValue {\n """The key"""\n key: String!\n """The value"""\n value: String!\n}\n \n"""A chapter-verse reference"""\ntype cv {\n """The chapter number"""\n chapter: Int\n """The verse number"""\n verse: Int\n}\n\n \n"""Type-dependent parts of the ID header"""\ntype idParts {\n """The type of the ID"""\n type: String\n """An array of parts of the ID"""\n parts: [String]\n """A part of the ID, by index"""\n part(\n """The numeric index of the part"""\n index: Int!\n ): String\n}\n\n \n"""Attribute Specification"""\ninput AttSpec {\n"""The type of attribute, ie what type of thing it\'s connected to"""\nattType: String!\n"""The name of the USFM tag to which the attribute is connected"""\ntagName: String!\n"""The attribute key (ie the bit to the left of the equals sign in USX)"""\nattKey: String!\n"""The position of the value (which is 0 except for attributes with multiple values)"""\nvalueN: Int!\n}\n \n"""Key/Regex tuple"""\ninput KeyMatches {\n """The key"""\n key: String!\n """The regex to match"""\n matches: String!\n}\n\n \n"""Input Key/Value Object"""\ninput InputKeyValue {\n """The key"""\n key: String!\n """The value"""\n value: String!\n}\n\n \n"""Input Key/Values Object"""\ninput KeyValues {\n """The key"""\n key: String!\n """The values"""\n values: [String!]!\n}\n\n \n"""Item for arguments"""\ninput InputItemObject {\n """The basic item type (token, scope or graft)\'"""\n type: String!\n """The type-dependent subtype of the item"""\n subType: String!\n """The content of the item (the text for tokens, the label for scopes and the sequence id for grafts)"""\n payload: String!\n}\n \n"""Item"""\ntype Item {\n """The basic item type (token, scope or graft)"""\n type: String!\n """The type-dependent subtype of the item"""\n subType: String!\n """The content of the item (the text for tokens, the label for scopes and the sequence id for grafts)"""\n payload(\n """If true, turn all whitespace into a normal space"""\n normalizeSpace: Boolean\n """A whitelist of characters to include"""\n includeChars: [String!]\n """A blacklist of characters to exclude"""\n excludeChars: [String!],\n ): String!\n """If \'includeContext\' was selected, and for tokens, the index of the token from the start of the sequence"""\n position(\n """Only include scopes that begin with this value"""\n startsWith: [String!]\n ): Int\n """If \'includeContext\' was selected, a list of scopes that are open around the item"""\n scopes(\n """Only include scopes that begin with this value"""\n startsWith: [String!]\n ): [String!]\n}\n\n \n"""A collection of items, with scope context"""\ntype ItemGroup {\n """Items for this itemGroup"""\n items: [Item!]!\n """Tokens for this itemGroup"""\n tokens(\n """Return tokens whose payload is an exact match to one of the specified strings"""\n withChars: [String!]\n """Return tokens with one of the specified subTypes"""\n withSubTypes: [String!]\n ): [Item!]!\n """The text of the itemGroup as a single string"""\n text(\n """If true, converts each whitespace character to a single space"""\n normalizeSpace: Boolean\n ): String!\n """The labels of scopes that were open at the beginning of the itemGroup"""\n scopeLabels(\n """Only include scopes that begin with this value"""\n startsWith: [String!]\n ): [String!]!\n """The itemGroup content as a string in a compact eyeballable format"""\n dump: String!\n """A list of scopes from the items of the itemGroup"""\n includedScopes: [String!]!\n} \n\n \n"""Key/Items tuple"""\ntype kvEntry {\n """The key"""\n key: String!\n """The secondary keys"""\n secondaryKeys: [KeyValue!]\n """The fields as itemGroups"""\n itemGroups: [ItemGroup]!\n}\n \n"""Information about a regex match on an enum"""\ntype regexIndex {\n """The index in the enum"""\n index: String!\n """The string in the enum that matched"""\n matched: String!\n}\n \n"""Row Equals Specification"""\ninput rowEqualsSpec {\n """The position of the column in which to search a match"""\n colN: Int!\n """The values to match"""\n values: [String!]!\n}\n\n \n"""Row Match Specification"""\ninput rowMatchSpec {\n """The position of the column in which to search a match"""\n colN: Int!\n """The regex to match"""\n matching: String!\n}\n\n \n"""Information about a verse range (which may only cover one verse)"""\ntype verseRange {\n """The range, as it would be printed in a Bible"""\n range: String!\n """A list of verse numbers for this range"""\n numbers: [Int!]!\n}\n\n \n"""Mapped verse information"""\ntype orig {\n """The book code"""\n book: String\n """A list of chapter-verse references"""\n cvs: [cv!]!\n}\n\n \n"""Information about a verse number (which may be part of a verse range)"""\ntype verseNumber {\n """The verse number"""\n number: Int!\n """The verse range to which the verse number belongs"""\n range: String!\n """The reference for this verse when mapped to \'original\' versification"""\n orig: orig!\n}\n\n \n"""A table cell"""\ntype cell {\n """The row numbers"""\n rows: [Int!]!\n """The column numbers"""\n columns: [Int!]!\n """A list of items from the c (content) field of the cell"""\n items: [Item!]!\n """A list of tokens from the c (content) field of the cell"""\n tokens: [Item!]!\n """The text of the cell as a single string"""\n text(\n """If true, converts each whitespace character to a single space"""\n normalizeSpace: Boolean\n ): String!\n}\n\n \n"""A chapter index entry"""\ntype cIndex {\n """The chapter number"""\n chapter: Int!\n """The zero-indexed number of the block where the chapter starts"""\n startBlock: Int\n """The zero-indexed number of the block where the chapter ends"""\n endBlock: Int\n """The zero-indexed position of the item where the chapter starts"""\n startItem: Int\n """The zero-indexed position of the item where the chapter ends"""\n endItem: Int\n """The value of nextToken at the beginning of the chapter"""\n nextToken: Int\n """A list of items for this chapter"""\n items(\n """If true, adds scope and nextToken information to each token"""\n includeContext: Boolean\n ): [Item]!\n """The items as a string in a compact eyeballable format"""\n dumpItems: String\n """A list of tokens for this chapter"""\n tokens(\n """If true, adds scope and nextToken information to each token"""\n includeContext: Boolean\n """Return tokens whose payload is an exact match to one of the specified strings"""\n withChars: [String!]\n """Return tokens with one of the specified subTypes"""\n withSubTypes: [String!]\n ): [Item]!\n """The text of the chapter as a single string"""\n text(\n """If true, converts each whitespace character to a single space"""\n normalizeSpace: Boolean\n ): String!\n}\n\n \n""""""\ntype cvVerseElement {\n """The zero-indexed number of the block where the verse starts"""\n startBlock: Int\n """The zero-indexed number of the block where the verse ends"""\n endBlock: Int\n """The zero-indexed position of the item where the verse starts"""\n startItem: Int\n """The zero-indexed position of the item where the verse ends"""\n endItem: Int\n """The value of nextToken at the beginning of the verse"""\n nextToken: Int\n """The verse range for this verse as it would be printed in a Bible"""\n verseRange: String\n """A list of items for this verse"""\n items(\n """If true, adds scope and nextToken information to each token"""\n includeContext: Boolean\n ): [Item]!\n """The items as a string in a compact eyeballable format"""\n dumpItems: String\n """A list of tokens for this verse"""\n tokens(\n """If true, adds scope and nextToken information to each token"""\n includeContext: Boolean\n """Return tokens whose payload is an exact match to one of the specified strings"""\n withChars: [String!]\n """Return tokens with one of the specified subTypes"""\n withSubTypes: [String!]\n ): [Item]!\n """The text of the verse as a single string"""\n text(\n """If true, converts each whitespace character to a single space"""\n normalizeSpace: Boolean\n ): String!\n}\n\n \n"""Information about a verse in the chapter, which may be split into several pieces"""\ntype cvVerses {\n """The pieces of verse"""\n verse: [cvVerseElement]\n}\n\n \n"""A chapterVerse index entry"""\ntype cvIndex {\n """The chapter number"""\n chapter: Int!\n """Information about the verses in the chapter"""\n verses: [cvVerses]\n """A list of verse number and range information, organized by verse number"""\n verseNumbers: [verseNumber!]\n """A list of verse number and range information, organized by verse range"""\n verseRanges: [verseRange!]\n}\n\n \n"""Various answers to \'previous\' and \'next\' with respect to a verse"""\ntype cvNavigation {\n """The verse number for the next verse"""\n nextVerse: cv\n """The verse number for the previous verse"""\n previousVerse: cv\n """The verse number for the next verse range"""\n nextVerseRangeVerse: cv\n """The verse number for the previous verse range"""\n previousVerseRangeVerse: cv\n """The next chapter number (as a string)"""\n nextChapter: String\n """The previous chapter number (as a string)"""\n previousChapter: String\n}\n\n \n"""A specification to create or update a block"""\ninput inputBlockSpec {\n """The block scope as an item"""\n bs: InputItemObject!\n """The block grafts as items"""\n bg: [InputItemObject!]!\n """The open scopes as items"""\n os: [InputItemObject!]!\n """The included scopes as items"""\n is: [InputItemObject!]!\n """The items"""\n items: [InputItemObject!]!\n}\n\n \n"""A tree node"""\ntype node {\n """The node id"""\n id: String!\n """The node parent id"""\n parentId: String\n """The keys for content"""\n keys: [String!]!\n """The content as itemGroups"""\n itemGroups(\n """If true, adds scope and nextToken information to each token"""\n includeContext: Boolean\n ): [ItemGroup!]!\n """The node children ids"""\n childIds: [String!]!\n}\n\n \n"""A contiguous flow of content for key-values"""\ntype kvSequence {\n """The id of the sequence"""\n id: String!\n """The number of entries in the key-value sequence"""\n nEntries: Int!\n """The entries in the key-value sequence"""\n entries(\n """Only return entries whose key matches the specification"""\n keyMatches: String\n """Only return entries whose key equals one of the values in the specification"""\n keyEquals: [String!]\n """Only return entries whose secondary keys match the specification"""\n secondaryMatches: [KeyMatches!]\n """Only return entries whose secondary keys equal one of the values in the specification"""\n secondaryEquals: [KeyValues!]\n """Only return entries whose content matches the specification"""\n contentMatches: [KeyMatches!]\n """Only return entries whose content equals one of the values in the specification"""\n contentEquals: [KeyValues!]\n ): [kvEntry!]\n """A list of the tags of this sequence"""\n tags: [String!]!\n """A list of the tags of this sequence as key/value tuples"""\n tagsKv: [KeyValue!]!\n """Whether or not the sequence has the specified tag"""\n hasTag(\n """The tag name"""\n tagName: String\n ): Boolean!\n}\n\n \n"""A contiguous flow of content for a table"""\ntype tableSequence {\n """The id of the sequence"""\n id: String!\n """The number of cells in the table sequence"""\n nCells: Int!\n """The number of rows in the table sequence"""\n nRows: Int!\n """The number of columns in the table sequence"""\n nColumns: Int!\n """The cells in the table sequence"""\n cells: [cell!]!\n """The rows in the table sequence"""\n rows(\n """Only return rows whose zero-indexed position is in the list"""\n positions: [Int!]\n """Only return columns whose zero-indexed position is in the list"""\n columns: [Int!]\n """Only return rows whose cells match the specification"""\n matches: [rowMatchSpec!]\n """\'Only return rows whose cells contain one of the values in the specification"""\n equals: [rowEqualsSpec!]\n ): [[cell!]!]!\n """A list of the tags of this sequence"""\n tags: [String!]!\n """A list of the tags of this sequence as key/value tuples"""\n tagsKv: [KeyValue!]!\n """Whether or not the sequence has the specified tag"""\n hasTag(\n """The tag name"""\n tagName: String\n ): Boolean!\n """A list of column headings for this tableSequence, derived from the sequence tags"""\n headings: [String!]!\n}\n\n \n"""The nodes of a tree"""\ntype treeSequence {\n """The id of the sequence"""\n id: String!\n """The number of nodes in the tree sequence"""\n nNodes: Int!\n """The nodes in the tree sequence"""\n nodes: [node!]!\n """The JSON result for a Tribos query, as a string"""\n tribos(\n """The Tribos query string"""\n query: String!\n ): String!\n """The JSON results for the Tribos queries, as an array of strings"""\n triboi(\n """The Tribos query strings"""\n queries: [String!]!\n ): [String!]!\n """Tribos documentation"""\n tribosDoc: String!\n """A list of the tags of this sequence"""\n tags: [String!]!\n """A list of the tags of this sequence as key/value tuples"""\n tagsKv: [KeyValue!]!\n """Whether or not the sequence has the specified tag"""\n hasTag(\n """The tag name"""\n tagName: String\n ): Boolean!\n}\n\n \n"""Part of a sequence, roughly equivalent to a USFM paragraph"""\ntype Block {\n """The length in bytes of the succinct representation of c (block items)"""\n cBL: Int!\n """The length in bytes of the succinct representation of bg (block grafts)"""\n bgBL: Int!\n """The length in bytes of the succinct representation of os (open scopes)"""\n osBL: Int!\n """The length in bytes of the succinct representation of is (included scopes)"""\n isBL: Int!\n """The length in bytes of the succinct representation of nt (nextToken at the start of the block)"""\n ntBL: Int!\n """The number of items in the succinct representation of c (block items)"""\n cL: Int!\n """The number of items in the succinct representation of bg (block grafts)"""\n bgL: Int!\n """The number of items in the succinct representation of os (open scopes)"""\n osL: Int!\n """The number of items in the succinct representation of is (included scopes)"""\n isL: Int!\n """A list of included scopes for this block"""\n is: [Item!]!\n """A list of open scopes for this block"""\n os: [Item!]!\n """The block scope for this block"""\n bs: Item!\n """A list of block grafts for this block"""\n bg: [Item!]!\n """The value of nextToken at the start of this block"""\n nt: Int!\n """A list of items from the c (content) field of the block"""\n items(\n """Only return items that are within specific scopes"""\n withScopes: [String!]\n """If true, withScopes filtering matches items within at least one of the specified scopes"""\n anyScope: Boolean\n """Only return items that are within a chapterVerse range (ch or ch:v or ch:v-v or ch:v-ch:v)"""\n withScriptureCV: String\n """If true, adds scope and nextToken information to each token"""\n includeContext: Boolean\n ) : [Item!]! \n """A list of tokens from the c (content) field of the block"""\n tokens(\n """Only return tokens that are within specific scopes"""\n withScopes: [String!]\n """If true, withScopes filtering matches tokens within at least one of the specified scopes"""\n anyScope: Boolean\n """Only return tokens that are within a chapterVerse range (ch or ch:v or ch:v-v or ch:v-ch:v)"""\n withScriptureCV: String\n """If true, adds scope and nextToken information to each token"""\n includeContext: Boolean\n """Return tokens whose payload is an exact match to one of the specified strings"""\n withChars: [String!]\n """Return tokens whose payload matches one of the specified regexes"""\n withMatchingChars: [String!]\n """Return tokens with one of the specified subTypes"""\n withSubTypes: [String!]\n ) : [Item!]!\n """The text of the block as a single string"""\n text(\n """Only return text that is within a chapterVerse range (ch or ch:v or ch:v-v or ch:v-ch:v)"""\n withScriptureCV: String\n """If true, converts each whitespace character to a single space"""\n normalizeSpace: Boolean\n ): String!\n """\'Block items grouped by scopes or milestones"""\n itemGroups(\n """Produce one itemGroup for every match of the list of scopes"""\n byScopes: [String!]\n """Start a new itemGroup whenever a milestone in the list is encountered"""\n byMilestones: [String!]\n ): [ItemGroup]!\n """The block content as a string in a compact eyeballable format"""\n dump: String!\n """A list of the labels for the block\\\'s bs, os and is scopes"""\n scopeLabels(\n """Only include scopes that begin with this value"""\n startsWith: [String!]\n ): [String!]!\n}\n\n \n"""A contiguous flow of content"""\ntype Sequence {\n """The id of the sequence"""\n id: String!\n """The type of the sequence (main, heading...)"""\n type: String!\n """The number of blocks in the sequence"""\n nBlocks: Int!\n """The blocks in the sequence"""\n blocks(\n """Only return blocks where the list of scopes is open"""\n withScopes: [String!]\n """Only return blocks whose zero-indexed position is in the list"""\n positions: [Int!]\n """Only return blocks with the specified block scope (eg \'blockScope/p\'"""\n withBlockScope: String\n """Only return blocks that contain items within the specified chapter, verse or chapterVerse range"""\n withScriptureCV: String\n """Ordered list of attribute specs whose values must match those in \'attValues\'"""\n attSpecs: [[AttSpec!]!]\n """Ordered list of attribute values, used in conjunction with \\\'attSpecs\\\'"""\n attValues: [[String!]!]\n """If true, blocks where all attSpecs match will be included"""\n allAtts: Boolean\n """Return blocks containing a token whose payload is an exact match to one of the specified strings"""\n withChars: [String!]\n """Return blocks containing a token whose payload matches the specified regexes"""\n withMatchingChars: [String!]\n """If true, blocks where all regexes match will be included"""\n allChars: Boolean\n ): [Block!]!\n """The items for each block in the sequence"""\n blocksItems: [[Item!]!]\n """The tokens for each block in the sequence"""\n blocksTokens: [[Item!]!]\n """The text for each block in the sequence"""\n blocksText(\n """If true, converts each whitespace character to a single space"""\n normalizeSpace: Boolean\n ): [String!]\n """The text for the sequence"""\n text(\n """If true, converts each whitespace character to a single space"""\n normalizeSpace: Boolean\n ) : String!\n """Sequence content grouped by scopes or milestones"""\n itemGroups(\n """Produce one itemGroup for every different match of the list of scopes"""\n byScopes: [String!]\n """Start a new itemGroup whenever a milestone in the list is encountered"""\n byMilestones: [String!]\n ) : [ItemGroup!]!\n """A list of the tags of this sequence"""\n tags: [String!]!\n """A list of the tags of this sequence as key/value tuples"""\n tagsKv: [KeyValue!]!\n """Whether or not the sequence has the specified tag"""\n hasTag(\n """The specified tag"""\n tagName: String!\n ): Boolean!\n """A list of wordLike token strings in a main sequence"""\n wordLikes(\n """Whether to coerce the strings (toLower|toUpper|none)"""\n coerceCase: String\n ) : [String!]!\n """Returns true if a main sequence contains the specified tokens"""\n hasChars(\n """Token strings to be matched exactly"""\n chars: [String!]\n """If true all tokens must match"""\n allChars: Boolean\n ): Boolean!\n """Returns true if a main sequence contains a match for specified regexes"""\n hasMatchingChars(\n """Regexes to be matched"""\n chars: [String!]\n """If true all regexes must match"""\n allChars: Boolean\n ): Boolean!\n}\n\n \n"""A document, typically corresponding to USFM for one book"""\ntype Document {\n """The id of the document"""\n id: String!\n """A parsed version of the id header"""\n idParts: idParts!\n """The id of the docSet to which this document belongs"""\n docSetId: String!\n """USFM header information such as TOC"""\n headers: [KeyValue!]!\n """One USFM header"""\n header(\n """The header id, corresponding to the tag name minus any trailing \'1\'"""\n id: String!\n ): String\n """The main sequence"""\n mainSequence: Sequence!\n """The number of sequences"""\n nSequences: Int!\n """A list of sequences for this document"""\n sequences(\n """ids of sequences to include, if found"""\n ids: [String!]\n """types of sequences to include, if found"""\n types: [String!]\n """Only return sequences with all the specified tags"""\n withTags: [String!]\n """Only return sequences with none of the specified tags"""\n withoutTags: [String!]\n ): [Sequence!]!\n """A list of table sequences for this document"""\n tableSequences(\n """ids of sequences to include, if found"""\n ids: [String!]\n """Only return sequences with all the specified tags"""\n withTags: [String!]\n """Only return sequences with none of the specified tags"""\n withoutTags: [String!]\n ): [tableSequence!]!\n """A list of tree sequences for this document"""\n treeSequences(\n """ids of sequences to include, if found"""\n ids: [String!]\n """Only return sequences with all the specified tags"""\n withTags: [String!]\n """Only return sequences with none of the specified tags"""\n withoutTags: [String!]\n ): [treeSequence!]!\n """A list of key-value sequences for this document"""\n kvSequences(\n """ids of sequences to include, if found"""\n ids: [String!]\n """Only return sequences with all the specified tags"""\n withTags: [String!]\n """Only return sequences with none of the specified tags"""\n withoutTags: [String!]\n ): [kvSequence!]!\n """A list of text (ie non-table, non-tree, non-kv) sequences for this document"""\n textSequences(\n """ids of sequences to include, if found"""\n ids: [String!]\n """Only return sequences with all the specified tags"""\n withTags: [String!]\n """Only return sequences with none of the specified tags"""\n withoutTags: [String!]\n ): [Sequence!]!\n """The sequence with the specified id"""\n sequence(\n """id of the sequence"""\n id: String!\n ): Sequence\n """The table sequence with the specified id"""\n tableSequence(\n """id of the sequence"""\n id: String!\n ): tableSequence\n """The tree sequence with the specified id"""\n treeSequence(\n """id of the sequence"""\n id: String!\n ): treeSequence\n """The key-value sequence with the specified id"""\n kvSequence(\n """id of the sequence"""\n id: String!\n ): kvSequence\n """The blocks of the main sequence"""\n mainBlocks: [Block!]!\n """The items for each block of the main sequence"""\n mainBlocksItems: [[Item!]!]!\n """The tokens for each block of the main sequence"""\n mainBlocksTokens: [[Item!]!]!\n """The text for each block of the main sequence"""\n mainBlocksText(\n """If true, converts each whitespace character to a single space"""\n normalizeSpace: Boolean\n ): [String!]!\n """The text for the main sequence"""\n mainText(\n """If true, converts each whitespace character to a single space"""\n normalizeSpace: Boolean\n ): String!\n """A list of the tags of this document"""\n tags: [String!]!\n """A list of the tags of this document as key/value tuples"""\n tagsKv: [KeyValue!]!\n """\'Whether or not the document has the specified tag"""\n hasTag(\n tagName: String!\n ): Boolean!\n """Content for a Scripture reference within this document, using local versification"""\n cv(\n """The chapter number (as a string)"""\n chapter: String\n """\'A list of verse numbers (as strings)"""\n verses: [String!]\n """A chapterVerse Reference (ch:v-ch:v)"""\n chapterVerses: String\n """If true, adds scope and nextToken information to each token"""\n includeContext: Boolean\n ): [ItemGroup!]!\n """Content for a Scripture reference within this document, using the versification of the specified docSet"""\n mappedCv(\n """The chapter number (as a string)"""\n chapter: String!\n """The id of the mapped docSet"""\n mappedDocSetId: String!\n """A list of verse numbers (as strings)"""\n verses: [String!]!\n """If true, adds scope and nextToken information to each token"""\n includeContext: Boolean\n ): [ItemGroup!]!\n """Content for each verse of a chapter within this document, using the versification of the specified docSet"""\n mappedCvs(\n """The chapter number (as a string)"""\n chapter: String!\n """The id of the mapped docSet"""\n mappedDocSetId: String!\n """If true, adds scope and nextToken information to each token"""\n includeContext: Boolean\n ): [[ItemGroup!]!]!\n """What\'s previous and next with respect to the specified verse"""\n cvNavigation(\n """The chapter number (as a string)"""\n chapter: String!\n """A verse number (as a string)"""\n verse: String!\n ): cvNavigation\n """The content of the main sequence indexed by chapterVerse"""\n cvIndexes: [cvIndex]!\n """The content of the specified chapter indexed by chapterVerse"""\n cvIndex(\n """The chapter number"""\n chapter: Int!\n ): cvIndex!\n """The content of the main sequence indexed by chapter"""\n cIndexes: [cIndex]!\n """The content of a chapter"""\n cIndex(\n """\'The chapter number"""\n chapter: Int!\n ): cIndex!\n """Verses matching the arguments"""\n cvMatching(\n """Return verses containing a token whose payload is an exact match to one of the specified strings"""\n withChars: [String!]\n """Return verses containing a token whose payload matches the specified regexes"""\n withMatchingChars: [String!]\n """Only return blocks where the list of scopes is open"""\n withScopes: [String!]\n """If true, verses where all regexes match will be included"""\n allChars: Boolean\n """If true, verses where all scopes match will be included"""\n allScopes: Boolean\n ): [ItemGroup!]!\n """A string of PERF JSON for this document"""\n perf(\n """Format JSON string with this indent"""\n indent: Int\n ): String! \n """A string of USFM for this document"""\n usfm: String! \n """A string of SOFRIA JSON for this document"""\n sofria(\n """Format JSON string with this indent"""\n indent: Int\n """Return SOFRIA for this chapter only"""\n chapter: Int\n ): String! \n}\n\n '+fd+'\n \n"""Specification of a selector"""\ntype selectorSpec {\n """Name (ie the key)"""\n name: String!\n """Data type (string or integer)"""\n type: String!\n """Regex for validating string selector"""\n regex: String\n """Inclusive minimum value for integer selector"""\n min: String\n """Inclusive maximum value for integer selector"""\n max: String\n """Enum of permitted string values"""\n enum: [String!]\n}\n\n \n"""Input specification of a selector"""\ninput inputSelectorSpec {\n """Name (ie the key)"""\n name: String!\n """Data type (string or integer)"""\n type: String!\n """Regex for validating string selector"""\n regex: String\n """Inclusive minimum value for integer selector"""\n min: String\n """Inclusive maximum value for integer selector"""\n max: String\n """Enum of permitted string values"""\n enum: [String!]\n}\n\n \n"""Information about a standard versification scheme"""\ntype versification {\n """id, derived from the Paratext vrs filename"""\n id: String!\n """A string of the original vrs file"""\n vrs: String!\n """Chapter/verse information for each book"""\n cvBooks: [cvBook!]!\n """Chapter/verse information for one book"""\n cvBook(\n """The bookCode"""\n bookCode: String!\n ): cvBook!\n}\n\n \n"""Chapter/verse information for a book"""\ntype cvBook {\n """The bookCode"""\n bookCode: String!\n """The chapter records"""\n chapters: [cvChapter!]!\n}\n\n \n"""Information for a chapter"""\ntype cvChapter {\n """The chapter"""\n chapter: Int!\n """The maximum verse number"""\n maxVerse: Int!\n}\n\n ',Gd={Mutation:Md,Query:Od,KeyValue:{key:e=>e[0],value:e=>e[1]},cv:{chapter:e=>e[0],verse:e=>e[1]},idParts:{type:e=>e[0],parts:e=>e[1],part:(e,t)=>!e[1]||t.index<0||t.index>=e[1].length?null:e[1][t.index]},Item:{type:e=>e[0],subType:e=>e[1],payload:(e,t)=>{var n=e[2];if("token"===e[0]&&(t.normalizeSpace&&(n=e[2].replace(/[ \t\n\r]+/g," ")),t.includeChars||t.excludeChars)){var r=n.split("");r=r.filter((e=>!t.includeChars||t.includeChars.includes(e))),r=r.filter((e=>!t.excludeChars||!t.excludeChars.includes(e))),n=r.join("")}return n},position:e=>e[3],scopes:(e,t)=>e[4]?e[4].filter((e=>!t.startsWith||((e,t)=>{if(0===e.length)return!0;for(var n of e)if(t.startsWith(n))return!0;return!1})(t.startsWith,e))):[]},ItemGroup:_c,kvEntry:{key:e=>e[0],secondaryKeys:e=>e[1],itemGroups:e=>e[2]},regexIndex:{index:e=>e[0],matched:e=>e[1]},verseNumber:xc,cell:{rows:e=>e[0],columns:e=>e[1],items:e=>e[2],tokens:e=>e[2].filter((e=>"token"===e[0])),text:(e,t)=>{var n=e[2].filter((e=>"token"===e[0])).map((e=>e[2])).join("").trim();return t.normalizeSpace&&(n=n.replace(/[ \t\n\r]+/g," ")),n}},cIndex:Cc,cvVerseElement:Dc,cvVerses:{verse:e=>e},cvIndex:{chapter:e=>e[0],verses:e=>e[1],verseNumbers:(e,t,n)=>(n.cvIndex=e,[...e[1].entries()].filter((e=>e[1].length>0)).map((e=>({number:e[0],range:e[1][e[1].length-1].verses})))),verseRanges:e=>{var t=[];for(var[n,r]of[...e[1].entries()].filter((e=>e[1].length>0)))0===t.length||t[t.length-1].range!==r[r.length-1].verses?t.push({range:r[r.length-1].verses,numbers:[n]}):t[t.length-1].numbers.push(n);return t}},cvNavigation:qc,node:jc,kvSequence:Mc,tableSequence:Bc,treeSequence:Xc,Block:Yc,Sequence:rd,Document:ld,DocSet:hd,selectorSpec:{regex:e=>e.regex||null,min:e=>e.min||null,max:e=>e.max||null,enum:e=>e.enum||null},versification:{id:e=>e[0],vrs:e=>e[1].raw,cvBooks:e=>Object.entries(e[1].cv),cvBook:(e,t)=>Object.entries(e[1].cv).filter((e=>e[0]===t.bookCode))[0]},cvBook:{bookCode:e=>e[0],chapters:e=>Object.entries(e[1])},cvChapter:{chapter:e=>parseInt(e[0]),maxVerse:e=>parseInt(e[1])}},{labelForScope:Ld}=vi.scopeDefs,Fd=(e,t)=>{var n=[],r=e.split(/[\n\r]+/);for(var[s,o]of r.entries())if(!t||0!==s){var a=o.split("\t");for(var[i,u]of a.entries()){var c={os:[],bg:[],bs:{type:"scope",subType:"start",payload:Ld("tTableRow",[""+s])},is:[],items:[]},d="tTableCol/"+i;for(var[l,p]of(c.is.push({type:"scope",subType:"start",payload:d}),c.items.push({type:"scope",subType:"start",payload:d}),gu(u)))c.items.push({type:"token",subType:p,payload:l});c.items.push({type:"scope",subType:"end",payload:d}),n.push(c)}}return n},Vd=e=>e.split(/[\n\r]+/)[0].split("\t").map(((e,t)=>"col"+t+":"+e.trim())),Ud=e=>{var t=[];for(var n of ku(wu(e))){var r={os:[],bg:[],bs:{type:"scope",subType:"start",payload:Ld("tTreeNode",[""+n.id])},is:[],items:[]},s=Ld("tTreeParent",[""+n.parentId]);if(r.items.push({type:"scope",subType:"start",payload:s}),r.is.push({type:"scope",subType:"start",payload:s}),n.content)for(var[o,a]of Object.entries(n.content)){var i=r.items.length,u=gu(a),c=Ld("tTreeContent",[o,n.id,""+i,""+u.length]);for(var[d,l]of(r.items.push({type:"scope",subType:"start",payload:c}),r.is.push({type:"scope",subType:"start",payload:c}),u))r.items.push({type:"token",subType:l,payload:d});r.items.push({type:"scope",subType:"end",payload:c})}if(n.children)for(var[p,f]of n.children.entries()){var h=Ld("tTreeChild",[p,f]);r.items.push({type:"scope",subType:"start",payload:h}),r.is.push({type:"scope",subType:"start",payload:h}),r.items.push({type:"scope",subType:"end",payload:h})}r.items.push({type:"scope",subType:"end",payload:s}),t.push(r)}return t},Jd=e=>e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\t/g,"\\t").replace(/\r/g,"\\r"),Hd=e=>"["+e.map((e=>'\n {\n type: "'+e.type+'" \n subType: "'+e.subType+'" \n payload: "'+Jd(e.payload)+'"\n }')).join(",")+"]",Kd=e=>'{\n type: "'+e.type+'" \n subType: "'+e.subType+'" \n payload: "'+Jd(e.payload)+'"}',Wd=e=>"[\n"+e.map((e=>" {\n bs: "+Kd(e.bs)+", \n bg: "+Hd(e.bg)+", \n os: "+Hd(e.os)+", \n is: "+Hd(e.is)+", \n items: "+Hd(e.items)+"}\n"))+"]";function Xd(e,t,n,r,s,o,a){try{var i=e[o](a),u=i.value}catch(e){return void n(e)}i.done?t(u):Promise.resolve(u).then(r,s)}var Yd=e=>ku(wu(e)),zd=function({typeDefs:e,resolvers:t={},resolverValidationOptions:n={},inheritResolversFromInterfaces:r=!1,updateResolversInPlace:s=!1,schemaExtensions:o,...a}){if("object"!=typeof n)throw new Error("Expected `resolverValidationOptions` to be an object");if(!e)throw new Error("Must provide typeDefs");let i;return i=Rt(e)?e:(null==a?void 0:a.commentDescriptions)?function(e,t){return Rr(un(e,{noLocation:null==t?void 0:t.noLocation,allowLegacyFragmentVariables:null==t?void 0:t.allowLegacyFragmentVariables}),{assumeValidSDL:null==t?void 0:t.assumeValidSDL,assumeValid:null==t?void 0:t.assumeValid})}(ko(e,{...a,commentDescriptions:!0}),a):Rr(ko(e,a),a),i=function({schema:e,resolvers:t,defaultFieldResolver:n,resolverValidationOptions:r={},inheritResolversFromInterfaces:s=!1,updateResolversInPlace:o=!1}){const{requireResolversToMatchSchema:a="error",requireResolversForResolveType:i}=r,u=s?function(e,t){const n={},r=e.getTypeMap();for(const e in r){const s=r[e];if("getInterfaces"in s){n[e]={};for(const r of s.getInterfaces())if(t[r.name])for(const s in t[r.name])"__isTypeOf"!==s&&s.startsWith("__")||(n[e][s]=t[r.name][s]);const r=t[e];n[e]={...n[e],...r}}else{const r=t[e];null!=r&&(n[e]=r)}}return n}(e,t):t;for(const t in u){const n=u[t];if("object"!=typeof n)throw new Error(`"${t}" defined in resolvers, but has invalid value "${n}". The resolver's value must be of type object.`);const r=e.getType(t);if(null==r){if("ignore"===a)continue;throw new Error(`"${t}" defined in resolvers, but not in schema`)}if(ut(r))for(const e in n)e.startsWith("__")?r[e.substring(2)]=n[e]:r[e]=n[e];else if(ve(r)){const e=r.getValues();for(const t in n)if(!t.startsWith("__")&&!e.some((e=>e.name===t))&&a&&"ignore"!==a)throw new Error(`${r.name}.${t} was defined in resolvers, but not present within ${r.name}`)}else if(ge(r)){for(const e in n)if(!e.startsWith("__")&&a&&"ignore"!==a)throw new Error(`${r.name}.${e} was defined in resolvers, but ${r.name} is not an object or interface type`)}else if(Se(r)||ye(r))for(const e in n)if(!e.startsWith("__"))if(null==r.getFields()[e]){if(a&&"ignore"!==a)throw new Error(`${t}.${e} defined in resolvers, but not in schema`)}else{const r=n[e];if("function"!=typeof r&&"object"!=typeof r)throw new Error(`Resolver ${t}.${e} must be object or function`)}}return e=o?function(e,t,n){var r,s,o,a,i,u,c,d,l,p,f,h;const m=e.getTypeMap();for(const n in t){const S=e.getType(n),y=t[n];if(me(S))for(const e in y)e.startsWith("__")?S[e.substring(2)]=y[e]:"astNode"===e&&null!=S.astNode?S.astNode={...S.astNode,description:null!==(s=null===(r=null==y?void 0:y.astNode)||void 0===r?void 0:r.description)&&void 0!==s?s:S.astNode.description,directives:(null!==(o=S.astNode.directives)&&void 0!==o?o:[]).concat(null!==(i=null===(a=null==y?void 0:y.astNode)||void 0===a?void 0:a.directives)&&void 0!==i?i:[])}:"extensionASTNodes"===e&&null!=S.extensionASTNodes?S.extensionASTNodes=S.extensionASTNodes.concat(null!==(u=null==y?void 0:y.extensionASTNodes)&&void 0!==u?u:[]):"extensions"===e&&null!=S.extensions&&null!=y.extensions?S.extensions=Object.assign(Object.create(null),S.extensions,y.extensions):S[e]=y[e];else if(ve(S)){const e=S.toConfig(),t=e.values;for(const n in y)n.startsWith("__")?e[n.substring(2)]=y[n]:"astNode"===n&&null!=e.astNode?e.astNode={...e.astNode,description:null!==(d=null===(c=null==y?void 0:y.astNode)||void 0===c?void 0:c.description)&&void 0!==d?d:e.astNode.description,directives:(null!==(l=e.astNode.directives)&&void 0!==l?l:[]).concat(null!==(f=null===(p=null==y?void 0:y.astNode)||void 0===p?void 0:p.directives)&&void 0!==f?f:[])}:"extensionASTNodes"===n&&null!=e.extensionASTNodes?e.extensionASTNodes=e.extensionASTNodes.concat(null!==(h=null==y?void 0:y.extensionASTNodes)&&void 0!==h?h:[]):"extensions"===n&&null!=S.extensions&&null!=y.extensions?S.extensions=Object.assign(Object.create(null),S.extensions,y.extensions):t[n]&&(t[n].value=y[n]);m[n]=new We(e)}else if(ge(S))for(const e in y)e.startsWith("__")&&(S[e.substring(2)]=y[e]);else if(Se(S)||ye(S))for(const e in y){if(e.startsWith("__")){S[e.substring(2)]=y[e];continue}const t=S.getFields()[e];if(null!=t){const n=y[e];"function"==typeof n?t.resolve=n.bind(y):is(t,n)}}}return Gr(e,Fr),Hr(e),Gr(e,Vr),null!=n&&Kr(e,(e=>{e.resolve||(e.resolve=n)})),e}(e,u,n):function(e,t,n){return e=Yr(e,{[Ur.SCALAR_TYPE]:e=>{var n,r,s,o,a,i;const u=e.toConfig(),c=t[e.name];if(!ut(e)&&null!=c){for(const t in c)t.startsWith("__")?u[t.substring(2)]=c[t]:"astNode"===t&&null!=u.astNode?u.astNode={...u.astNode,description:null!==(r=null===(n=null==c?void 0:c.astNode)||void 0===n?void 0:n.description)&&void 0!==r?r:u.astNode.description,directives:(null!==(s=u.astNode.directives)&&void 0!==s?s:[]).concat(null!==(a=null===(o=null==c?void 0:c.astNode)||void 0===o?void 0:o.directives)&&void 0!==a?a:[])}:"extensionASTNodes"===t&&null!=u.extensionASTNodes?u.extensionASTNodes=u.extensionASTNodes.concat(null!==(i=null==c?void 0:c.extensionASTNodes)&&void 0!==i?i:[]):"extensions"===t&&null!=u.extensions&&null!=c.extensions?u.extensions=Object.assign(Object.create(null),e.extensions,c.extensions):u[t]=c[t];return new qe(u)}},[Ur.ENUM_TYPE]:e=>{var n,r,s,o,a,i;const u=t[e.name],c=e.toConfig(),d=c.values;if(null!=u){for(const t in u)t.startsWith("__")?c[t.substring(2)]=u[t]:"astNode"===t&&null!=c.astNode?c.astNode={...c.astNode,description:null!==(r=null===(n=null==u?void 0:u.astNode)||void 0===n?void 0:n.description)&&void 0!==r?r:c.astNode.description,directives:(null!==(s=c.astNode.directives)&&void 0!==s?s:[]).concat(null!==(a=null===(o=null==u?void 0:u.astNode)||void 0===o?void 0:o.directives)&&void 0!==a?a:[])}:"extensionASTNodes"===t&&null!=c.extensionASTNodes?c.extensionASTNodes=c.extensionASTNodes.concat(null!==(i=null==u?void 0:u.extensionASTNodes)&&void 0!==i?i:[]):"extensions"===t&&null!=c.extensions&&null!=u.extensions?c.extensions=Object.assign(Object.create(null),e.extensions,u.extensions):d[t]&&(d[t].value=u[t]);return new We(c)}},[Ur.UNION_TYPE]:e=>{const n=t[e.name];if(null!=n){const t=e.toConfig();return n.__resolveType&&(t.resolveType=n.__resolveType),new He(t)}},[Ur.OBJECT_TYPE]:e=>{const n=t[e.name];if(null!=n){const t=e.toConfig();return n.__isTypeOf&&(t.isTypeOf=n.__isTypeOf),new je(t)}},[Ur.INTERFACE_TYPE]:e=>{const n=t[e.name];if(null!=n){const t=e.toConfig();return n.__resolveType&&(t.resolveType=n.__resolveType),new Je(t)}},[Ur.COMPOSITE_FIELD]:(e,n,r)=>{const s=t[r];if(null!=s){const t=s[n];if(null!=t){const n={...e};return"function"==typeof t?n.resolve=t.bind(s):is(n,t),n}}}}),null!=n&&(e=Yr(e,{[Ur.OBJECT_FIELD]:e=>({...e,resolve:null!=e.resolve?e.resolve:n})})),e}(e,u,n),i&&"ignore"!==i&&function(e,t){Yr(e,{[Ur.ABSTRACT_TYPE]:e=>{if(!e.resolveType){const n=`Type "${e.name}" is missing a "__resolveType" resolver. Pass 'ignore' into "resolverValidationOptions.requireResolversForResolveType" to disable this error.`;if("error"===t)throw new Error(n);"warn"===t&&as.warn(n)}}})}(e,i),e}({schema:i,resolvers:_o(t),resolverValidationOptions:n,inheritResolversFromInterfaces:r,updateResolversInPlace:s}),Object.keys(n).length>0&&function(e,t={}){const{requireResolversForArgs:n,requireResolversForNonScalar:r,requireResolversForAllFields:s}=t;if(s&&(n||r))throw new TypeError("requireResolversForAllFields takes precedence over the more specific assertions. Please configure either requireResolversForAllFields or requireResolversForArgs / requireResolversForNonScalar, but not a combination of them.");Kr(e,((e,t,o)=>{s&&ds("requireResolversForAllFields",s,e,t,o),n&&e.args.length>0&&ds("requireResolversForArgs",n,e,t,o),"ignore"===r||me(De(e.type))||ds("requireResolversForNonScalar",r,e,t,o)}))}(i,n),o&&function(e,t){xo(e,t.schemaExtensions);for(const[n,r]of Object.entries(t.types||{})){const t=e.getType(n);if(t)if(xo(t,r.extensions),"object"===r.type||"interface"===r.type)for(const[e,n]of Object.entries(r.fields)){const r=t.getFields()[e];if(r){xo(r,n.extensions);for(const[e,t]of Object.entries(n.arguments))xo(r.args.find((t=>t.name===e)),t)}}else if("input"===r.type)for(const[e,n]of Object.entries(r.fields))xo(t.getFields()[e],n.extensions);else if("enum"===r.type)for(const[e,n]of Object.entries(r.values))xo(t.getValue(e),n)}}(i,o=No(qr(o))),i}({typeDefs:Bd,resolvers:Gd});class Zd{constructor(e){this.processorId=vi.generateId(),this.documents={},this.docSetsBySelector={},this.docSets={},this.filters={},this.customTags={heading:[],paragraph:[],char:[],word:[],intro:[],introHeading:[]},this.emptyBlocks=[],this.selectors=e||[{name:"lang",type:"string",regex:"[a-z]{3}"},{name:"abbr",type:"string"}],this.validateSelectorSpec(this.selectors),this.mutex=new $o,this.nextPeriph=0,this.nextTable=0,this.nextNodes=0}validateSelectors(){if(0===this.selectors.length)throw new Error("No selectors found");for(var[e,t]of this.selectors.entries()){if(!("name"in t))throw new Error("Selector "+e+" has no name");if(!("type"in t))throw new Error("Selector "+e+" has no type");if(!["string","integer"].includes(t.type))throw new Error("Type for selector "+e+" must be string or number, not "+t.type);if("string"===t.type){if("min"in t)throw new Error("String selector should not include 'min'");if("max"in t)throw new Error("String selector should not include 'max'");if("regex"in t)try{(0,l.default)(t.regex)}catch(e){throw new Error("Regex '"+t.regex+"' is not valid: "+e)}if("enum"in t)for(var n of t.enum)if("string"!=typeof n)throw new Error("Enum values for selector "+t.name+" should be strings, not '"+n+"'")}else{if("regex"in t)throw new Error("Integer selector should not include 'regex'");if("min"in t&&"number"!=typeof t.min)throw new Error("'min' must be a number, not '"+t.min+"'");if("max"in t&&"number"!=typeof t.max)throw new Error("'max' must be a number, not '"+t.max+"'");if("min"in t&&"max"in t&&t.min>t.max)throw new Error("'min' cannot be greater than 'max' ("+t.min+" > "+t.max+")");if("enum"in t)for(var r of t.enum)if("number"!=typeof r)throw new Error("Enum values for selector "+t.name+" should be numbers, not '"+r+"'")}for(var s of Object.keys(t))if(!["name","type","regex","min","max","enum"].includes(s))throw new Error("Unexpected key '"+s+"' in selector "+e)}}validateSelectorSpec(e){for(var t of e){if(!t.name)throw new Error("name not found in selector spec element '"+JSON.stringify(t)+"'");if(!t.type)throw new Error("type not found in selector spec element '"+JSON.stringify(t)+"'");if(!["string","integer"].includes(t.type))throw new Error("Type for spec element must be string or number, not "+t.type);for(var n of Object.keys(t))if(!["name","type","regex","min","max","enum"].includes(n))throw new Error("Unexpected key '"+n+"' in selectorSpec")}}selectorString(e){return this.selectors.map((e=>e.name)).map((t=>""+e[t])).join("_")}processor(){return"Proskomma JS"}packageVersion(){return"0.9.5"}docSetList(){return Object.values(this.docSets)}docSetsById(e){return Object.values(this.docSets).filter((t=>e.includes(t.id)))}docSetById(e){return this.docSets[e]}docSetsWithBook(e){var t=Object.values(this.documents).filter((t=>"bookCode"in t.headers&&t.headers.bookCode===e)).map((e=>e.id));return Object.values(this.docSets).filter((e=>(e=>{for(var n of t)if(e.docIds.includes(n))return!0;return!1})(e)))}nDocSets(){return this.docSetList().length}nDocuments(){return this.documentList().length}documentList(){return Object.values(this.documents)}documentById(e){return this.documents[e]}documentsById(e){return Object.values(this.documents).filter((t=>e.includes(t.id)))}documentsWithBook(e){return Object.values(this.documents).filter((t=>"bookCode"in t.headers&&t.headers.bookCode===e))}importDocument(e,t,n,r,s,o,a){return this.importDocuments(e,t,[n],r,s,o,a)[0]}importDocuments(e,t,n,r,s,o,a){r||(r=this.filters),s||(s=this.customTags),o||(o=this.emptyBlocks),a||(a=[]);var i=this.findOrMakeDocSet(e),u=this.docSets[i];u.buildPreEnums();var c=[];for(var d of n){var l=new Nc(this,i,t,d,r,s,o,a),p=l.headers.bookCode;if(Object.values(this.documents).filter((e=>u.docIds.includes(e.id))).map((e=>e.headers.bookCode)).includes(p))throw new Error("Attempt to import document with bookCode '"+p+"' which already exists in docSet "+i);this.addDocument(l,i),c.push(l)}return u.preEnums={},c}importUsfmPeriph(e,t,n,r,s,o){var a=t.toString().split(/[\n\r]+/),i=a[0].substring(4,7);if(!["FRT","BAK","INT"].includes(i))throw new Error("importUsfmInt() expected bookCode of FRT, BAK or INT, not '"+i+"'");var u=[];for(var c of a)if("\\periph"===c.substring(0,7)){var d=l.default.exec(c,(0,l.default)('^\\\\periph (.*)\\|\\s*id\\s*=\\s*"([^"]+)"\\s*$'));if(!d)throw new Error("Unable to parse periph line '"+c+"'");var p=d[1],f=d[2],h="\\id P"+(this.nextPeriph>9?this.nextPeriph:"0"+this.nextPeriph);u.push([h+" INT "+f+" - "+p]),this.nextPeriph++}else u.length>0&&"\\id"!==c.substring(0,3)&&u[u.length-1].push(c);this.importDocuments(e,"usfm",u.map((e=>e.join("\n"))),n,r,s,o)}cleanUsfm(e,t){t=t||{};var n=e.toString().split(/[\n\r]+/),r=[],s=!0,o=["\\id","\\ide","\\usfm","\\sts","\\rem","\\h","\\toc"];for(var a of n){var i=a.split(" ")[0].replace(/[0-9]+/g,"");if(!("remove"in t)||!t.remove.includes(i)){var u=o.includes(i);s&&!u&&"\\mt"!==i&&r.push("\\mt1 USFM"),r.push(a),u||(s=!1)}}return r.join("\n")}deleteDocSet(e){if(!(e in this.docSets))return!1;for(var t of Object.entries(this.documents).filter((t=>t[1].docSetId===e)).map((e=>e[0])))this.deleteDocument(e,t,!1,!1);var n=this.docSetsBySelector,r=this.selectors.slice(0,this.selectors.length-1);for(var s of r)n=n[this.docSets[e].selectors[s.name]];var o=this.selectors[this.selectors.length-1].name,a=this.docSets[e].selectors[o];if(!n[a])throw new Error("Could not find docSetId '"+e+"' in docSetsBySelector in deleteDocSet");return delete n[a],delete this.docSets[e],!0}deleteDocument(e,t,n,r){return n=void 0===n||n,r=void 0===r||r,e in this.docSets&&t in this.documents&&(delete this.documents[t],this.docSets[e].docIds.length>1?(this.docSets[e].docIds=this.docSets[e].docIds.filter((e=>e!==t)),r&&this.rehashDocSet(e)):n&&this.deleteDocSet(e),!0)}rehashDocSet(e){return e in this.docSets&&this.docSets[e].rehash()}addDocument(e,t){this.documents[e.id]=e,this.docSets[t].docIds.push(e.id),this.docSets[t].buildEnumIndexes()}loadSuccinctDocSet(e){var t=e.id;if(t in this.docSets)throw new Error("Attempting to succinct load docSet "+t+" which is already loaded");var n=new Hi(this,null,null,e),r=n.id;this.docSets[r]=n;var s=this.docSetsBySelector,o=e.metadata.selectors;for(var a of this.selectors)a.name===this.selectors[this.selectors.length-1].name?o[a.name]in s||(s[o[a.name]]=n,this.docSets[n.id]=n):(o[a.name]in s||(s[o[a.name]]={}),s=s[o[a.name]]);n.buildPreEnums();var i=[];for(var u of Object.keys(e.docs)){var c=this.newDocumentFromSuccinct(u,e);i.push(c)}return n.preEnums={},i}newDocumentFromSuccinct(e,t){var n=new Nc(this,t.id);n.id=e;var r=t.docs[e];for(var[s,o]of(n.filterOptions={},n.customTags=[],n.emptyBlocks=[],n.tags=new Set(r.tags),n.headers=r.headers,n.mainId=r.mainId,n.sequences={},Object.entries(r.sequences))){if(n.sequences[s]={id:s,type:o.type,tags:new Set(o.tags),blocks:[]},"main"===o.type){if(n.sequences[s].chapters={},!("chapters"in o))throw new Error("chapters not found in main sequence");for(var[a,i]of Object.entries(o.chapters)){var u=new vi.ByteArray;u.fromBase64(i),n.sequences[s].chapters[a]=u}if(n.sequences[s].chapterVerses={},!("chapterVerses"in o))throw new Error("chapterVerses not found in main sequence");for(var[c,d]of Object.entries(o.chapterVerses)){var l=new vi.ByteArray;l.fromBase64(d),n.sequences[s].chapterVerses[c]=l}if(!("tokensPresent"in o))throw new Error("tokensPresent not found in main sequence");n.sequences[s].tokensPresent=new(ra())(o.tokensPresent)}for(var p of o.blocks){var f={};for(var[h,m]of Object.entries(p)){var S=new vi.ByteArray(256);S.fromBase64(m),f[h]=S}n.sequences[s].blocks.push(f)}}return this.addDocument(n,t.id),n}findOrMakeDocSet(e){var t,n=this.docSetsBySelector;for(var r of this.selectors)r.name===this.selectors[this.selectors.length-1].name?e[r.name]in n?t=n[e[r.name]]:(t=new Hi(this,e),n[e[r.name]]=t,this.docSets[t.id]=t):(e[r.name]in n||(n[e[r.name]]={}),n=n[e[r.name]]);return t.id}gqlQuery(e,t){var n=this;return function(e){return function(){var t=this,n=arguments;return new Promise((function(r,s){var o=e.apply(t,n);function a(e){Xd(o,r,s,a,i,"next",e)}function i(e){Xd(o,r,s,a,i,"throw",e)}a(void 0)}))}}((function*(){var r,s=yield n.mutex.acquire();try{var o=yield(r={schema:zd,source:e,rootValue:n,contextValue:{}},new Promise((e=>e(ta(r)))));return t&&t(o),o}finally{s()}}))()}gqlQuerySync(e,t){var n=function(e){const t=ta(e);if(jo(t))throw new Error("GraphQL execution failed to complete synchronously.");return t}({schema:zd,source:e,rootValue:this,contextValue:{}});return t&&t(n),n}serializeSuccinct(e){return this.docSets[e].serializeSuccinct()}checksum(){var e=Object.values(this.docSets).map((e=>e.checksum())).sort().join(" ");return qo()(e)}}})(),module.exports=r})();
|