bible-ref-parse 3.3.1 → 3.3.2

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.
Files changed (129) hide show
  1. package/dist/am-bcv-parser.js +15 -47
  2. package/dist/am-bcv-parser.min.js +1 -1
  3. package/dist/ar-bcv-parser.js +15 -47
  4. package/dist/ar-bcv-parser.min.js +1 -1
  5. package/dist/bb-bcv-parser.js +15 -47
  6. package/dist/bb-bcv-parser.min.js +1 -1
  7. package/dist/bg-bcv-parser.js +15 -47
  8. package/dist/bg-bcv-parser.min.js +1 -1
  9. package/dist/bn-bcv-parser.js +15 -47
  10. package/dist/bn-bcv-parser.min.js +2 -2
  11. package/dist/ceb-bcv-parser.js +15 -47
  12. package/dist/ceb-bcv-parser.min.js +1 -1
  13. package/dist/cs-bcv-parser.js +15 -47
  14. package/dist/cs-bcv-parser.min.js +1 -1
  15. package/dist/da-bcv-parser.js +15 -47
  16. package/dist/da-bcv-parser.min.js +1 -1
  17. package/dist/de-bcv-parser.js +15 -47
  18. package/dist/de-bcv-parser.min.js +1 -1
  19. package/dist/ee-bcv-parser.js +15 -47
  20. package/dist/ee-bcv-parser.min.js +2 -2
  21. package/dist/el-bcv-parser.js +15 -47
  22. package/dist/el-bcv-parser.min.js +1 -1
  23. package/dist/en-bcv-parser.js +15 -47
  24. package/dist/en-bcv-parser.min.js +1 -1
  25. package/dist/es-bcv-parser.js +15 -47
  26. package/dist/es-bcv-parser.min.js +1 -1
  27. package/dist/fa-bcv-parser.js +15 -47
  28. package/dist/fa-bcv-parser.min.js +2 -2
  29. package/dist/fi-bcv-parser.js +15 -47
  30. package/dist/fi-bcv-parser.min.js +1 -1
  31. package/dist/fr-bcv-parser.js +15 -47
  32. package/dist/fr-bcv-parser.min.js +2 -2
  33. package/dist/he-bcv-parser.js +15 -47
  34. package/dist/he-bcv-parser.min.js +1 -1
  35. package/dist/hi-bcv-parser.js +15 -47
  36. package/dist/hi-bcv-parser.min.js +2 -2
  37. package/dist/hl-bcv-parser.js +15 -47
  38. package/dist/hl-bcv-parser.min.js +1 -1
  39. package/dist/hr-bcv-parser.js +15 -47
  40. package/dist/hr-bcv-parser.min.js +1 -1
  41. package/dist/ht-bcv-parser.js +15 -47
  42. package/dist/ht-bcv-parser.min.js +1 -1
  43. package/dist/hu-bcv-parser.js +15 -47
  44. package/dist/hu-bcv-parser.min.js +1 -1
  45. package/dist/id-bcv-parser.js +16 -48
  46. package/dist/id-bcv-parser.min.js +2 -2
  47. package/dist/il-bcv-parser.js +15 -47
  48. package/dist/il-bcv-parser.min.js +1 -1
  49. package/dist/is-bcv-parser.js +15 -47
  50. package/dist/is-bcv-parser.min.js +1 -1
  51. package/dist/it-bcv-parser.js +15 -47
  52. package/dist/it-bcv-parser.min.js +1 -1
  53. package/dist/ja-bcv-parser.js +15 -47
  54. package/dist/ja-bcv-parser.min.js +1 -1
  55. package/dist/jv-bcv-parser.js +15 -47
  56. package/dist/jv-bcv-parser.min.js +1 -1
  57. package/dist/ko-bcv-parser.js +15 -47
  58. package/dist/ko-bcv-parser.min.js +2 -2
  59. package/dist/la-bcv-parser.js +15 -47
  60. package/dist/la-bcv-parser.min.js +1 -1
  61. package/dist/lu-bcv-parser.js +15 -47
  62. package/dist/lu-bcv-parser.min.js +1 -1
  63. package/dist/mg-bcv-parser.js +15 -47
  64. package/dist/mg-bcv-parser.min.js +1 -1
  65. package/dist/mk-bcv-parser.js +15 -47
  66. package/dist/mk-bcv-parser.min.js +1 -1
  67. package/dist/mq-bcv-parser.js +15 -47
  68. package/dist/mq-bcv-parser.min.js +1 -1
  69. package/dist/mr-bcv-parser.js +15 -47
  70. package/dist/mr-bcv-parser.min.js +1 -1
  71. package/dist/nd-bcv-parser.js +15 -47
  72. package/dist/nd-bcv-parser.min.js +1 -1
  73. package/dist/ne-bcv-parser.js +15 -47
  74. package/dist/ne-bcv-parser.min.js +2 -2
  75. package/dist/nl-bcv-parser.js +15 -47
  76. package/dist/nl-bcv-parser.min.js +1 -1
  77. package/dist/no-bcv-parser.js +15 -47
  78. package/dist/no-bcv-parser.min.js +2 -2
  79. package/dist/ny-bcv-parser.js +15 -47
  80. package/dist/ny-bcv-parser.min.js +1 -1
  81. package/dist/or-bcv-parser.js +15 -47
  82. package/dist/or-bcv-parser.min.js +1 -1
  83. package/dist/pa-bcv-parser.js +15 -47
  84. package/dist/pa-bcv-parser.min.js +1 -1
  85. package/dist/pl-bcv-parser.js +15 -47
  86. package/dist/pl-bcv-parser.min.js +2 -2
  87. package/dist/pt-bcv-parser.js +15 -47
  88. package/dist/pt-bcv-parser.min.js +1 -1
  89. package/dist/ro-bcv-parser.js +15 -47
  90. package/dist/ro-bcv-parser.min.js +1 -1
  91. package/dist/ru-bcv-parser.js +15 -47
  92. package/dist/ru-bcv-parser.min.js +1 -1
  93. package/dist/rw-bcv-parser.js +15 -47
  94. package/dist/rw-bcv-parser.min.js +1 -1
  95. package/dist/si-bcv-parser.js +15 -47
  96. package/dist/si-bcv-parser.min.js +1 -1
  97. package/dist/sk-bcv-parser.js +15 -47
  98. package/dist/sk-bcv-parser.min.js +1 -1
  99. package/dist/so-bcv-parser.js +15 -47
  100. package/dist/so-bcv-parser.min.js +2 -2
  101. package/dist/sq-bcv-parser.js +15 -47
  102. package/dist/sq-bcv-parser.min.js +1 -1
  103. package/dist/sr-bcv-parser.js +15 -47
  104. package/dist/sr-bcv-parser.min.js +1 -1
  105. package/dist/sv-bcv-parser.js +15 -47
  106. package/dist/sv-bcv-parser.min.js +1 -1
  107. package/dist/sw-bcv-parser.js +15 -47
  108. package/dist/sw-bcv-parser.min.js +1 -1
  109. package/dist/ta-bcv-parser.js +15 -47
  110. package/dist/ta-bcv-parser.min.js +2 -2
  111. package/dist/test/en.spec.js +5 -0
  112. package/dist/test/id.spec.js +2 -0
  113. package/dist/th-bcv-parser.js +15 -47
  114. package/dist/th-bcv-parser.min.js +1 -1
  115. package/dist/tl-bcv-parser.js +15 -47
  116. package/dist/tl-bcv-parser.min.js +1 -1
  117. package/dist/tr-bcv-parser.js +15 -47
  118. package/dist/tr-bcv-parser.min.js +2 -2
  119. package/dist/uk-bcv-parser.js +15 -47
  120. package/dist/uk-bcv-parser.min.js +2 -2
  121. package/dist/ur-bcv-parser.js +15 -47
  122. package/dist/ur-bcv-parser.min.js +2 -2
  123. package/dist/vi-bcv-parser.js +15 -47
  124. package/dist/vi-bcv-parser.min.js +1 -1
  125. package/dist/zh-bcv-parser.js +15 -47
  126. package/dist/zh-bcv-parser.min.js +1 -1
  127. package/dist/zu-bcv-parser.js +15 -47
  128. package/dist/zu-bcv-parser.min.js +1 -1
  129. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- const root=this;class bcv_parser{static initClass(){this.prototype.s="",this.prototype.entities=[],this.prototype.passage=null,this.prototype.regexps={},this.prototype.options={consecutive_combination_strategy:"combine",osis_compaction_strategy:"b",book_sequence_strategy:"ignore",invalid_sequence_strategy:"ignore",sequence_combination_strategy:"combine",punctuation_strategy:"us",invalid_passage_strategy:"ignore",non_latin_digits_strategy:"ignore",passage_existence_strategy:"bcv",zero_chapter_strategy:"error",zero_verse_strategy:"error",single_chapter_1_strategy:"chapter",book_alone_strategy:"ignore",book_range_strategy:"ignore",captive_end_digits_strategy:"delete",end_range_digits_strategy:"verse",include_apocrypha:!1,ps151_strategy:"c",versification_system:"default",case_sensitive:"none"}}constructor(){for(var s of(this.options={},Object.keys(bcv_parser.prototype.options||{}))){var a=bcv_parser.prototype.options[s];this.options[s]=a}this.versification_system(this.options.versification_system)}parse(s){return this.reset(),this.s=s,s=this.replace_control_characters(s),[s,this.passage.books]=Array.from(this.match_books(s)),[this.entities]=Array.from(this.match_passages(s)),this}parse_with_context(s,a){let e;return this.reset(),[a,this.passage.books]=Array.from(this.match_books(this.replace_control_characters(a))),[e,a]=Array.from(this.match_passages(a)),this.reset(),this.s=s,s=this.replace_control_characters(s),[s,this.passage.books]=Array.from(this.match_books(s)),this.passage.books.push({value:"",parsed:[],start_index:0,type:"context",context:a}),s=""+(this.passage.books.length-1)+"/9"+s,[this.entities]=Array.from(this.match_passages(s)),this}reset(){return this.s="",this.entities=[],this.passage?(this.passage.books=[],this.passage.indices={}):(this.passage=new bcv_passage,this.passage.options=this.options,this.passage.translations=this.translations)}set_options(s){for(var a of Object.keys(s||{})){var e=s[a];"include_apocrypha"===a||"versification_system"===a||"case_sensitive"===a?this[a](e):this.options[a]=e}return this}include_apocrypha(s){if(null==s||!0!==s&&!1!==s)return this;for(var a of(this.options.include_apocrypha=s,this.regexps.books=this.regexps.get_books(s,this.options.case_sensitive),Object.keys(this.translations||{}))){var e;if("aliases"!==a&&"alternates"!==a)if(null==this.translations[a].chapters&&(this.translations[a].chapters={}),null==this.translations[a].chapters.Ps&&(this.translations[a].chapters.Ps=bcv_utils.shallow_clone_array(this.translations.default.chapters.Ps)),!0===s)e=null!=this.translations[a].chapters.Ps151?this.translations[a].chapters.Ps151[0]:this.translations.default.chapters.Ps151[0],this.translations[a].chapters.Ps[150]=e;else 151===this.translations[a].chapters.Ps.length&&this.translations[a].chapters.Ps.pop()}return this}versification_system(s){let a,e;if(null==s||null==this.translations[s])return this;if(null!=this.translations.alternates.default)if("default"===s)for(a of(null!=this.translations.alternates.default.order&&(this.translations.default.order=bcv_utils.shallow_clone(this.translations.alternates.default.order)),Object.keys(this.translations.alternates.default.chapters||{})))e=this.translations.alternates.default.chapters[a],this.translations.default.chapters[a]=bcv_utils.shallow_clone_array(e);else this.versification_system("default");if(null==this.translations.alternates.default&&(this.translations.alternates.default={order:null,chapters:{}}),"default"!==s&&null!=this.translations[s].order&&(null==this.translations.alternates.default.order&&(this.translations.alternates.default.order=bcv_utils.shallow_clone(this.translations.default.order)),this.translations.default.order=bcv_utils.shallow_clone(this.translations[s].order)),"default"!==s&&null!=this.translations[s].chapters)for(a of Object.keys(this.translations[s].chapters||{}))e=this.translations[s].chapters[a],null==this.translations.alternates.default.chapters[a]&&(this.translations.alternates.default.chapters[a]=bcv_utils.shallow_clone_array(this.translations.default.chapters[a])),this.translations.default.chapters[a]=bcv_utils.shallow_clone_array(e);return this.options.versification_system=s,this.include_apocrypha(this.options.include_apocrypha),this}case_sensitive(s){return null==s||"none"!==s&&"books"!==s||s===this.options.case_sensitive||(this.options.case_sensitive=s,this.regexps.books=this.regexps.get_books(this.options.include_apocrypha,s)),this}translation_info(s){let a;null==s&&(s="default"),null!=s&&null!=(null!=this.translations.aliases[s]?this.translations.aliases[s].alias:void 0)&&(s=this.translations.aliases[s].alias),null!=s&&null!=this.translations[s]||(s="default");const e=this.options.versification_system;s!==e&&this.versification_system(s);const t={alias:s,books:[],chapters:{},order:bcv_utils.shallow_clone(this.translations.default.order)};for(a of Object.keys(this.translations.default.chapters||{})){var r=this.translations.default.chapters[a];t.chapters[a]=bcv_utils.shallow_clone_array(r)}for(a of Object.keys(t.order||{})){var n=t.order[a];t.books[n-1]=a}return s!==e&&this.versification_system(e),t}replace_control_characters(s){return s=(s=(s=s.replace(this.regexps.control," ")).replace(/\uFF1A/g,":")).replace(/\uFF1B/g,";"),"replace"===this.options.non_latin_digits_strategy&&(s=(s=(s=(s=(s=(s=(s=(s=(s=(s=s.replace(/[٠۰߀०০੦૦୦0౦೦൦๐໐༠၀႐០᠐᥆᧐᪀᪐᭐᮰᱀᱐꘠꣐꤀꧐꩐꯰0]/g,"0")).replace(/[١۱߁१১੧૧୧௧౧೧൧๑໑༡၁႑១᠑᥇᧑᪁᪑᭑᮱᱁᱑꘡꣑꤁꧑꩑꯱1]/g,"1")).replace(/[٢۲߂२২੨૨୨௨౨೨൨๒໒༢၂႒២᠒᥈᧒᪂᪒᭒᮲᱂᱒꘢꣒꤂꧒꩒꯲2]/g,"2")).replace(/[٣۳߃३৩੩૩୩௩౩೩൩๓໓༣၃႓៣᠓᥉᧓᪃᪓᭓᮳᱃᱓꘣꣓꤃꧓꩓꯳3]/g,"3")).replace(/[٤۴߄४৪੪૪୪௪౪೪൪๔໔༤၄႔៤᠔᥊᧔᪄᪔᭔᮴᱄᱔꘤꣔꤄꧔꩔꯴4]/g,"4")).replace(/[٥۵߅५৫੫૫୫௫౫೫൫๕໕༥၅႕៥᠕᥋᧕᪅᪕᭕᮵᱅᱕꘥꣕꤅꧕꩕꯵5]/g,"5")).replace(/[٦۶߆६৬੬૬୬௬౬೬൬๖໖༦၆႖៦᠖᥌᧖᪆᪖᭖᮶᱆᱖꘦꣖꤆꧖꩖꯶6]/g,"6")).replace(/[٧۷߇७৭੭૭୭௭౭೭൭๗໗༧၇႗៧᠗᥍᧗᪇᪗᭗᮷᱇᱗꘧꣗꤇꧗꩗꯷7]/g,"7")).replace(/[٨۸߈८৮੮૮୮௮౮೮൮๘໘༨၈႘៨᠘᥎᧘᪈᪘᭘᮸᱈᱘꘨꣘꤈꧘꩘꯸8]/g,"8")).replace(/[٩۹߉९৯੯૯୯௯౯೯൯๙໙༩၉႙៩᠙᥏᧙᪉᪙᭙᮹᱉᱙꘩꣙꤉꧙꩙꯹9]/g,"9")),s}match_books(s){const a=[];for(var e of Array.from(this.regexps.books)){var t=!1;if(s=s.replace(e.regexp,(function(s,r,n){t=!0,a.push({value:n,parsed:e.osis,type:"book"});const i=null!=e.extra?`/${e.extra}`:"";return`${r}${a.length-1}${i}`})),!0===t&&/^[\s\x1f\d:.,;\-\u2013\u2014]+$/.test(s))break}return[s=s.replace(this.regexps.translations,(function(s){return a.push({value:s,parsed:s.toLowerCase(),type:"translation"}),`${a.length-1}`})),this.get_book_indices(a,s)]}get_book_indices(s,a){let e,t=0;const r=new RegExp("([\\x1f\\x1e])(\\d+)(?:/\\d+)?\\1","g");for(;e=r.exec(a);)s[e[2]].start_index=e.index+t,t+=s[e[2]].value.length-e[0].length;return s}match_passages(s){let a,e=[],t={};for(;a=this.regexps.escaped_passage.exec(s);){let p;var[r,n,i]=Array.from(a),x=n.length;if(a.index+=r.length-x,/\s[2-9]\d\d\s*$|\s\d{4,}\s*$/.test(n)&&(n=n.replace(/\s+\d+\s*$/,"")),/[\d\x1f\x1e)]$/.test(n)||(n=this.replace_match_end(n)),"delete"===this.options.captive_end_digits_strategy){var o=a.index+n.length;s.length>o&&/^\w/.test(s.substr(o,1))&&(n=n.replace(/[\s*]+\d+$/,"")),n=n.replace(/(\x1e[)\]]?)[\s*]*\d+$/,"$1")}var l=""===(n=n.replace(/[A-Z]+/g,(s=>s.toLowerCase()))).substr(0,1)?0:n.split("")[0].length,u={value:grammar.parse(n,{punctuation_strategy:this.options.punctuation_strategy}),type:"base",start_index:this.passage.books[i].start_index-l,match:n};"full"===this.options.book_alone_strategy&&"include"===this.options.book_range_strategy&&"b"===u.value[0].type&&(1===u.value.length||u.value.length>1&&"translation_sequence"===u.value[1].type)&&0===l&&(1===this.passage.books[i].parsed.length||this.passage.books[i].parsed.length>1&&"translation"===this.passage.books[i].parsed[1].type)&&/^[234]/.test(this.passage.books[i].parsed[0])&&this.create_book_range(s,u,i),[p,t]=Array.from(this.passage.handle_obj(u)),e=e.concat(p);var c=this.adjust_regexp_end(p,x,n.length);c>0&&(this.regexps.escaped_passage.lastIndex-=c)}return[e,t]}adjust_regexp_end(s,a,e){let t=0;return s.length>0?t=a-s[s.length-1].indices[1]-1:a!==e&&(t=a-e),t}replace_match_end(s){let a,e=s.length;for(;a=this.regexps.match_end_split.exec(s);)e=a.index+a[0].length;return e<s.length&&(s=s.substr(0,e)),s}create_book_range(s,a,e){const t=[bcv_parser.prototype.regexps.first,bcv_parser.prototype.regexps.second,bcv_parser.prototype.regexps.third],r=parseInt(this.passage.books[e].parsed[0].substr(0,1),10);for(let x=1,o=r,l=1<=o;l?x<o:x>o;l?x++:x--){var n=x===r-1?bcv_parser.prototype.regexps.range_and:bcv_parser.prototype.regexps.range_only,i=s.match(new RegExp(`(?:^|\\W)(${t[x-1]}\\s*${n}\\s*)\\x1f${e}\\x1f`,"i"));if(null!=i)return this.add_book_range_object(a,i,x)}return!1}add_book_range_object(s,a,e){const{length:t}=a[1];if(s.value[0]={type:"b_range_pre",value:[{type:"b_pre",value:e.toString(),indices:[a.index,a.index+t]},s.value[0]],indices:[0,s.value[0].indices[1]+t]},s.value[0].value[1].indices[0]+=t,s.value[0].value[1].indices[1]+=t,s.start_index-=t,s.match=a[1]+s.match,1!==s.value.length)return(()=>{const a=[];for(let e=1,r=s.value.length,n=1<=r;n?e<r:e>r;n?e++:e--)null!=s.value[e].value&&(null!=(null!=s.value[e].value[0]?s.value[e].value[0].indices:void 0)&&(s.value[e].value[0].indices[0]+=t,s.value[e].value[0].indices[1]+=t),s.value[e].indices[0]+=t,a.push(s.value[e].indices[1]+=t));return a})()}osis(){const s=[];for(var a of Array.from(this.parsed_entities()))a.osis.length>0&&s.push(a.osis);return s.join(",")}osis_and_translations(){const s=[];for(var a of Array.from(this.parsed_entities()))a.osis.length>0&&s.push([a.osis,a.translations.join(",")]);return s}osis_and_indices(){const s=[];for(var a of Array.from(this.parsed_entities()))if(a.osis.length>0){const e={osis:a.osis,translations:a.translations,indices:a.indices};null!=a.osises&&(e.osises=a.osises),s.push(e)}return s}parsed_entities(){let s=[];for(let d=0,v=this.entities.length,b=0<=v;b?d<v:d>v;b?d++:d--){var a=this.entities[d];if(a.type&&"translation_sequence"===a.type&&s.length>0&&d===s[s.length-1].entity_id+1&&(s[s.length-1].indices[1]=a.absolute_indices[1]),null!=a.passages){if("separate-chapters"===this.options.consecutive_combination_strategy){const e=this.split_text_by_semicolon(a.absolute_indices);if(e.length>1){for(const a of Array.from(e)){const e=new bcv_parser;e.set_options({...this.options}),e.parse(a.text);for(const t of Array.from(e.parsed_entities())){if(0===t.osis.length)continue;const e=[t.indices[0]+a.offset,t.indices[1]+a.offset],r={osis:t.osis,translations:t.translations,indices:e,entity_id:d};null!=t.osises&&(r.osises=t.osises),s.push(r)}}continue}}if(!("b"===a.type&&"ignore"===this.options.book_alone_strategy||"b_range"===a.type&&"ignore"===this.options.book_range_strategy||"context"===a.type)){var e=[],t=null;if(null!=a.passages[0].translations)for(var r of Array.from(a.passages[0].translations)){var n=(null!=r.osis?r.osis.length:void 0)>0?r.osis:"";null==t&&(t=r.alias),e.push(n)}else e=[""],t="default";for(var i=[],x=[],{length:o}=a.passages,l=0,u=l,c=o,p=0<=c;p?l<c:l>c;p?l++:l--,u=l){var g=a.passages[u];null==g.type&&(g.type=a.type),!1===g.valid.valid&&("ignore"===this.options.invalid_sequence_strategy&&"sequence"===a.type&&this.snap_sequence("ignore",a,i,u,o),"ignore"===this.options.invalid_passage_strategy)||("b"!==g.type&&"b_range"!==g.type||"ignore"!==this.options.book_sequence_strategy||"sequence"!==a.type?("b_range_start"!==g.type&&"range_end_b"!==g.type||"ignore"!==this.options.book_range_strategy||this.snap_range(a,u),null==g.absolute_indices&&(g.absolute_indices=a.absolute_indices),"separate-chapters"===this.options.consecutive_combination_strategy&&g.start.c!==g.end.c?i.push({osis:g.valid.valid?this.to_osis(g.start,g.end,t):"",osises:this.get_osises_by_chapter({osis:"",start:g.start,end:g.end},t),type:g.type,indices:g.absolute_indices,translations:e,start:g.start,end:g.end,enclosed_indices:g.enclosed_absolute_indices,entity_id:d,entities:[g]}):i.push({osis:g.valid.valid?this.to_osis(g.start,g.end,t):"",type:g.type,indices:g.absolute_indices,translations:e,start:g.start,end:g.end,enclosed_indices:g.enclosed_absolute_indices,entity_id:d,entities:[g]})):this.snap_sequence("book",a,i,u,o))}if(0!==i.length||0!==x.length){if("combine"!==this.options.consecutive_combination_strategy&&"separate-chapters"!==this.options.consecutive_combination_strategy||(i.length>1&&(i=this.combine_consecutive_passages(i,t)),i=i.concat(x).sort(((s,a)=>s.indices[0]-a.indices[0]))),"separate-chapters"===this.options.consecutive_combination_strategy)for(_ of Array.from(i)){if(0===_.osis.length)continue;const s=this.get_osises_by_chapter(_,t);s.length>1&&(_.osises=s)}if("separate"===this.options.sequence_combination_strategy)s=s.concat(i);else{if("separate-chapters"===this.options.consecutive_combination_strategy&&"sequence"===a.type){const a=this.group_osises_by_semicolon(i);if(a.length>1){for(const t of Array.from(a)){if(0===t.length)continue;const a=t.length-1,r=[t[0].indices[0],t[a].indices[1]];null!=t[a].enclosed_indices&&t[a].enclosed_indices[1]>=0&&(r[1]=t[a].enclosed_indices[1]);const n=[];let i=[];for(_ of Array.from(t))_.osis.length>0&&n.push(_.osis),null!=_.osises&&(i=i.concat(_.osises));const x={osis:n.join(","),indices:r,translations:e,entity_id:d,entities:t};i.length>0&&(x.osises=i),s.push(x)}continue}}var _,h=[],f=i.length-1;for(_ of(null!=i[f].enclosed_indices&&i[f].enclosed_indices[1]>=0&&(a.absolute_indices[1]=i[f].enclosed_indices[1]),Array.from(i)))_.osis.length>0&&h.push(_.osis);let t=[];if("separate-chapters"===this.options.consecutive_combination_strategy)for(_ of Array.from(i))null!=_.osises&&(t=t.concat(_.osises));const r={osis:h.join(","),indices:a.absolute_indices,translations:e,entity_id:d,entities:i};t.length>0&&(r.osises=t),s.push(r)}}}}}return s}to_osis(s,a,e){let t;null==a.c&&null==a.v&&s.b===a.b&&null==s.c&&null==s.v&&"first_chapter"===this.options.book_alone_strategy&&(a.c=1);const r={start:"",end:""};return null==s.c&&(s.c=1),null==s.v&&(s.v=1),null==a.c&&(this.options.passage_existence_strategy.indexOf("c")>=0||null!=this.passage.translations[e].chapters[a.b]&&1===this.passage.translations[e].chapters[a.b].length?a.c=this.passage.translations[e].chapters[a.b].length:a.c=999),null==a.v&&(null!=this.passage.translations[e].chapters[a.b][a.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0?a.v=this.passage.translations[e].chapters[a.b][a.c-1]:a.v=999),this.options.include_apocrypha&&"b"===this.options.ps151_strategy&&(151===s.c&&"Ps"===s.b||151===a.c&&"Ps"===a.b)&&this.fix_ps151(s,a,e),"b"===this.options.osis_compaction_strategy&&1===s.c&&1===s.v&&(999===a.c&&999===a.v||a.c===this.passage.translations[e].chapters[a.b].length&&this.options.passage_existence_strategy.indexOf("c")>=0&&(999===a.v||a.v===this.passage.translations[e].chapters[a.b][a.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0))?(r.start=s.b,r.end=a.b):this.options.osis_compaction_strategy.length<=2&&1===s.v&&(999===a.v||a.v===this.passage.translations[e].chapters[a.b][a.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0)?(r.start=s.b+"."+s.c.toString(),r.end=a.b+"."+a.c.toString()):(r.start=s.b+"."+s.c.toString()+"."+s.v.toString(),r.end=a.b+"."+a.c.toString()+"."+a.v.toString()),t=r.start===r.end?r.start:r.start+"-"+r.end,null!=s.extra&&(t=s.extra+","+t),null!=a.extra&&(t+=","+a.extra),t}get_osises_by_chapter(s,a){if(null==s||null==s.start||null==s.end)return[];if(null==s.start.b||null==s.end.b||null==s.start.c||null==s.end.c)return null!=s.osis&&s.osis.length>0?[s.osis]:[];if(s.start.b!==s.end.b||s.start.c===s.end.c)return null!=s.osis&&s.osis.length>0?[s.osis]:[];const e=[];for(let t=s.start.c,r=s.end.c,n=s.start.c<=r;n?t<=r:t>=r;n?t++:t--){const r=t===s.start.c?s.start.v:1,n=t===s.end.c?s.end.v:this.translations[a].chapters[s.start.b][t-1],i={b:s.start.b,c:t,v:"bcv"===s.start.type?r:null,type:s.start.type},x={b:s.end.b,c:t,v:"bcv"===s.start.type?n:null,type:s.start.type};e.push(this.to_osis(i,x,a))}return e}get_separator_between(s,a){if(null==this.s||null==s||null==a)return"";const e=s[1]+1,t=a[0];return t<=e?"":this.s.slice(e,t)}has_semicolon_separator(s,a){const e=this.get_separator_between(s.indices,a.indices);return/[;;]/.test(e)}group_osises_by_semicolon(s){const a=[];let e=[];for(const t of Array.from(s))0!==e.length&&this.has_semicolon_separator(e[e.length-1],t)?(a.push(e),e=[t]):e.push(t);return e.length>0&&a.push(e),a}split_text_by_semicolon(s){if(null==this.s||null==s||null==s[0]||null==s[1])return[];const a=this.s.slice(s[0],s[1]);if(!/[;;]/.test(a))return[{text:a,offset:s[0]}];const e=[];let t=0;for(let r=0,n=a.length;r<n;r++){const n=a[r];";"!==n&&";"!==n||(r>t&&e.push({text:a.slice(t,r),offset:s[0]+t}),t=r+1)}return t<a.length&&e.push({text:a.slice(t),offset:s[0]+t}),e}fix_ps151(s,a,e){return"default"!==e&&null==(null!=this.translations[e]?this.translations[e].chapters.Ps151:void 0)&&this.passage.promote_book_to_translation("Ps151",e),151===s.c&&"Ps"===s.b?151===a.c&&"Ps"===a.b?(s.b="Ps151",s.c=1,a.b="Ps151",a.c=1):(s.extra=this.to_osis({b:"Ps151",c:1,v:s.v},{b:"Ps151",c:1,v:this.passage.translations[e].chapters.Ps151[0]},e),s.b="Prov",s.c=1,s.v=1):(a.extra=this.to_osis({b:"Ps151",c:1,v:1},{b:"Ps151",c:1,v:a.v},e),a.c=150,a.v=this.passage.translations[e].chapters.Ps[149])}combine_consecutive_passages(s,a){const e=[];let t={};const r=s.length-1;let n=-1,i=!1;for(let u=0,c=r,p=0<=c;p?u<=c:u>=c;p?u++:u--){var x=s[u];if(x.osis.length>0){var o=e.length-1,l=!1;if(o>=0&&this.has_semicolon_separator(e[o],x)){e.push(x),t={b:x.end.b,c:x.end.c,v:x.end.v};continue}x.enclosed_indices[0]!==n&&(n=x.enclosed_indices[0]),n>=0&&(u===r||s[u+1].enclosed_indices[0]!==x.enclosed_indices[0])&&(l=!0,i=!0),this.is_verse_consecutive(t,x.start,a)?(e[o].end=x.end,e[o].is_enclosed_last=l,e[o].indices[1]=x.indices[1],e[o].enclosed_indices[1]=x.enclosed_indices[1],e[o].osis=this.to_osis(e[o].start,x.end,a)):e.push(x),t={b:x.end.b,c:x.end.c,v:x.end.v}}else e.push(x),t={}}return i&&this.snap_enclosed_indices(e),e}snap_enclosed_indices(s){for(var a of Array.from(s))null!=a.is_enclosed_last&&(a.enclosed_indices[0]<0&&a.is_enclosed_last&&(a.indices[1]=a.enclosed_indices[1]),delete a.is_enclosed_last);return s}is_verse_consecutive(s,a,e){if(null==s.b)return!1;const t=null!=this.passage.translations[e].order?this.passage.translations[e].order:this.passage.translations.default.order;if(s.b===a.b){if(s.c===a.c){if(s.v===a.v-1)return!0}else if(1===a.v&&s.c===a.c-1&&s.v===this.passage.translations[e].chapters[s.b][s.c-1])return!0}else if(1===a.c&&1===a.v&&t[s.b]===t[a.b]-1&&s.c===this.passage.translations[e].chapters[s.b].length&&s.v===this.passage.translations[e].chapters[s.b][s.c-1])return!0;return!1}snap_range(s,a){let e,t,r;"b_range_start"===s.type||"sequence"===s.type&&"b_range_start"===s.passages[a].type?(e=1,t="end",r="b_range_start"):(e=0,t="start",r="range_end_b");const n="end"===t?"start":"end";for(var i of Object.keys(s.passages[a][n]||{}))s.passages[a][n][i]=s.passages[a][t][i];if("sequence"===s.type){a>=s.value.length&&(a=s.value.length-1);const e=this.passage.pluck(r,s.value[a]);if(null!=e){const t=this.snap_range(e,0);0===a?s.absolute_indices[0]=t.absolute_indices[0]:s.absolute_indices[1]=t.absolute_indices[1]}}else s.original_type=s.type,s.type=s.value[e].type,s.absolute_indices=[s.value[e].absolute_indices[0],s.value[e].absolute_indices[1]];return s}snap_sequence(s,a,e,t,r){const n=a.passages[t];return n.absolute_indices[0]===a.absolute_indices[0]&&t<r-1&&this.get_snap_sequence_i(a.passages,t,r)!==t?(a.absolute_indices[0]=a.passages[t+1].absolute_indices[0],this.remove_absolute_indices(a.passages,t+1)):n.absolute_indices[1]===a.absolute_indices[1]&&t>0?a.absolute_indices[1]=e.length>0?e[e.length-1].indices[1]:a.passages[t-1].absolute_indices[1]:"book"===s&&t<r-1&&!this.starts_with_book(a.passages[t+1])&&(a.passages[t+1].absolute_indices[0]=n.absolute_indices[0]),a}get_snap_sequence_i(s,a,e){for(let t=a+1,r=t,n=e,i=t<=n;i?r<n:r>n;i?r++:r--){if(this.starts_with_book(s[r]))return r;if(s[r].valid.valid)return a}return a}starts_with_book(s){return"b"===s.type.substr(0,1)||("range"===s.type||"ff"===s.type)&&"b"===s.start.type.substr(0,1)}remove_absolute_indices(s,a){if(s[a].enclosed_absolute_indices[0]<0)return!1;const[e,t]=Array.from(s[a].enclosed_absolute_indices);for(var r of Array.from(s.slice(a))){if(r.enclosed_absolute_indices[0]!==e||r.enclosed_absolute_indices[1]!==t)break;r.enclosed_absolute_indices=[-1,-1]}return!0}}bcv_parser.initClass(),this.bcv_parser=bcv_parser;class bcv_passage{static initClass(){this.prototype.books=[],this.prototype.indices={},this.prototype.options={},this.prototype.translations={}}handle_array(s,a,e){for(var t of(null==a&&(a=[]),null==e&&(e={}),Array.from(s)))if(null!=t){if("stop"===t.type)break;[a,e]=Array.from(this.handle_obj(t,a,e))}return[a,e]}handle_obj(s,a,e){return null!=s.type&&null!=this[s.type]?this[s.type](s,a,e):[a,e]}b(s,a,e){let t;s.start_context=bcv_utils.shallow_clone(e),s.passages=[];const r=[];for(t of Array.from(this.books[s.value].parsed)){var n=this.validate_ref(s.start_context.translations,{b:t}),i={start:{b:t},end:{b:t},valid:n};0===s.passages.length&&n.valid?s.passages.push(i):r.push(i)}return 0===s.passages.length&&s.passages.push(r.shift()),r.length>0&&(s.passages[0].alternates=r),null!=s.start_context.translations&&(s.passages[0].translations=s.start_context.translations),null==s.absolute_indices&&(s.absolute_indices=this.get_absolute_indices(s.indices)),a.push(s),e={b:s.passages[0].start.b},null!=s.start_context.translations&&(e.translations=s.start_context.translations),[a,e]}b_range(s,a,e){return this.range(s,a,e)}b_range_pre(s,a,e){let t,r;s.start_context=bcv_utils.shallow_clone(e),s.passages=[];const n=this.pluck("b",s.value);t=this.b(n,[],e),[r]=Array.from(t[0]),e=t[1],null==s.absolute_indices&&(s.absolute_indices=this.get_absolute_indices(s.indices));const i={b:s.value[0].value+r.passages[0].start.b.substr(1),type:"b"};return s.passages=[{start:i,end:r.passages[0].end,valid:r.passages[0].valid}],null!=s.start_context.translations&&(s.passages[0].translations=s.start_context.translations),a.push(s),[a,e]}b_range_start(s,a,e){return this.range(s,a,e)}base(s,a,e){return this.indices=this.calculate_indices(s.match,s.start_index),this.handle_array(s.value,a,e)}bc(s,a,e){s.start_context=bcv_utils.shallow_clone(e),s.passages=[],this.reset_context(e,["b","c","v"]);const t=this.pluck("c",s.value).value,r=[];for(var n of Array.from(this.books[this.pluck("b",s.value).value].parsed)){var i="c",x=this.validate_ref(s.start_context.translations,{b:n,c:t}),o={start:{b:n},end:{b:n},valid:x};(x.messages.start_chapter_not_exist_in_single_chapter_book||x.messages.start_chapter_1)&&(o.valid=this.validate_ref(s.start_context.translations,{b:n,v:t}),x.messages.start_chapter_not_exist_in_single_chapter_book&&(o.valid.messages.start_chapter_not_exist_in_single_chapter_book=1),o.start.c=1,o.end.c=1,i="v"),o.start[i]=t,[o.start.c,o.start.v]=Array.from(this.fix_start_zeroes(o.valid,o.start.c,o.start.v)),null==o.start.v&&delete o.start.v,o.end[i]=o.start[i],0===s.passages.length&&o.valid.valid?s.passages.push(o):r.push(o)}return 0===s.passages.length&&s.passages.push(r.shift()),r.length>0&&(s.passages[0].alternates=r),null!=s.start_context.translations&&(s.passages[0].translations=s.start_context.translations),null==s.absolute_indices&&(s.absolute_indices=this.get_absolute_indices(s.indices)),this.set_context_from_object(e,["b","c","v"],s.passages[0].start),a.push(s),[a,e]}bc_title(s,a,e){let t,r;if(s.start_context=bcv_utils.shallow_clone(e),t=this.bc(this.pluck("bc",s.value),[],e),[r]=Array.from(t[0]),e=t[1],"Ps"!==r.passages[0].start.b.substr(0,2)&&null!=r.passages[0].alternates)for(let s=0,a=r.passages[0].alternates.length,e=0<=a;e?s<a:s>a;e?s++:s--)if("Ps"===r.passages[0].alternates[s].start.b.substr(0,2)){r.passages[0]=r.passages[0].alternates[s];break}if("Ps"!==r.passages[0].start.b.substr(0,2))return a.push(r),[a,e];this.books[this.pluck("b",r.value).value].parsed=["Ps"];let n=this.pluck("title",s.value);return null==n&&(n=this.pluck("v",s.value)),s.value[1]={type:"v",value:[{type:"integer",value:1,indices:n.indices}],indices:n.indices},s.type="bcv",this.bcv(s,a,s.start_context)}bcv(s,a,e){s.start_context=bcv_utils.shallow_clone(e),s.passages=[],this.reset_context(e,["b","c","v"]);const t=this.pluck("bc",s.value);let r=this.pluck("c",t.value).value,n=this.pluck("v",s.value).value;const i=[];for(var x of Array.from(this.books[this.pluck("b",t.value).value].parsed)){var o=this.validate_ref(s.start_context.translations,{b:x,c:r,v:n});[r,n]=Array.from(this.fix_start_zeroes(o,r,n));var l={start:{b:x,c:r,v:n},end:{b:x,c:r,v:n},valid:o};0===s.passages.length&&o.valid?s.passages.push(l):i.push(l)}return 0===s.passages.length&&s.passages.push(i.shift()),i.length>0&&(s.passages[0].alternates=i),null!=s.start_context.translations&&(s.passages[0].translations=s.start_context.translations),null==s.absolute_indices&&(s.absolute_indices=this.get_absolute_indices(s.indices)),this.set_context_from_object(e,["b","c","v"],s.passages[0].start),a.push(s),[a,e]}bv(s,a,e){let t;s.start_context=bcv_utils.shallow_clone(e);const[r,n]=Array.from(s.value);let i={indices:s.indices,value:[{type:"bc",value:[r,{type:"c",value:[{type:"integer",value:1}]}]},n]};return t=this.bcv(i,[],e),[i]=Array.from(t[0]),e=t[1],s.passages=i.passages,null==s.absolute_indices&&(s.absolute_indices=this.get_absolute_indices(s.indices)),a.push(s),[a,e]}c(s,a,e){s.start_context=bcv_utils.shallow_clone(e);let t="integer"===s.type?s.value:this.pluck("integer",s.value).value;const r=this.validate_ref(s.start_context.translations,{b:e.b,c:t});return!r.valid&&r.messages.start_chapter_not_exist_in_single_chapter_book?this.v(s,a,e):([t]=Array.from(this.fix_start_zeroes(r,t)),s.passages=[{start:{b:e.b,c:t},end:{b:e.b,c:t},valid:r}],null!=s.start_context.translations&&(s.passages[0].translations=s.start_context.translations),a.push(s),e.c=t,this.reset_context(e,["v"]),null==s.absolute_indices&&(s.absolute_indices=this.get_absolute_indices(s.indices)),[a,e])}c_psalm(s,a,e){s.type="bc";const t=parseInt(this.books[s.value].value.match(/^\d+/)[0],10);return s.value=[{type:"b",value:s.value,indices:s.indices},{type:"c",value:[{type:"integer",value:t,indices:s.indices}],indices:s.indices}],this.bc(s,a,e)}c_title(s,a,e){if(s.start_context=bcv_utils.shallow_clone(e),"Ps"!==e.b)return this.c(s.value[0],a,e);const t=this.pluck("title",s.value);return s.value[1]={type:"v",value:[{type:"integer",value:1,indices:t.indices}],indices:t.indices},s.type="cv",this.cv(s,a,s.start_context)}cv(s,a,e){s.start_context=bcv_utils.shallow_clone(e);let t=this.pluck("c",s.value).value,r=this.pluck("v",s.value).value;const n=this.validate_ref(s.start_context.translations,{b:e.b,c:t,v:r});return[t,r]=Array.from(this.fix_start_zeroes(n,t,r)),s.passages=[{start:{b:e.b,c:t,v:r},end:{b:e.b,c:t,v:r},valid:n}],null!=s.start_context.translations&&(s.passages[0].translations=s.start_context.translations),a.push(s),e.c=t,e.v=r,null==s.absolute_indices&&(s.absolute_indices=this.get_absolute_indices(s.indices)),[a,e]}cb_range(s,a,e){s.type="range";const[t,r,n]=Array.from(s.value);return s.value=[{type:"bc",value:[t,r],indices:s.indices},n],n.indices[1]=s.indices[1],this.range(s,a,e)}context(s,a,e){for(var t of(s.start_context=bcv_utils.shallow_clone(e),s.passages=[],Object.keys(this.books[s.value].context||{})))e[t]=this.books[s.value].context[t];return a.push(s),[a,e]}cv_psalm(s,a,e){s.start_context=bcv_utils.shallow_clone(e),s.type="bcv";const[t,r]=Array.from(s.value),n=this.c_psalm(t,[],s.start_context),[i]=Array.from(n[0]);return s.value=[i,r],this.bcv(s,a,e)}ff(s,a,e){let t;return s.start_context=bcv_utils.shallow_clone(e),s.value.push({type:"integer",indices:s.indices,value:999}),t=this.range(s,[],s.start_context),[s]=Array.from(t[0]),e=t[1],s.value[0].indices=s.value[1].indices,s.value[0].absolute_indices=s.value[1].absolute_indices,s.value.pop(),null!=s.passages[0].valid.messages.end_verse_not_exist&&delete s.passages[0].valid.messages.end_verse_not_exist,null!=s.passages[0].valid.messages.end_chapter_not_exist&&delete s.passages[0].valid.messages.end_chapter_not_exist,null!=s.passages[0].end.original_c&&delete s.passages[0].end.original_c,a.push(s),[a,e]}integer_title(s,a,e){return s.start_context=bcv_utils.shallow_clone(e),"Ps"!==e.b?this.integer(s.value[0],a,e):(s.value[0]={type:"c",value:[s.value[0]],indices:[s.value[0].indices[0],s.value[0].indices[1]]},s.value[1].type="v",s.value[1].original_type="title",s.value[1].value=[{type:"integer",value:1,indices:s.value[1].value.indices}],s.type="cv",this.cv(s,a,s.start_context))}integer(s,a,e){return null!=e.v?this.v(s,a,e):this.c(s,a,e)}next_v(s,a,e){let t,r;s.start_context=bcv_utils.shallow_clone(e);let n=this.pluck_last_recursively("integer",s.value);if(null==n&&(n={value:1}),s.value.push({type:"integer",indices:s.indices,value:n.value+1}),t=this.range(s,[],s.start_context),[r]=Array.from(t[0]),e=t[1],null!=r.passages[0].valid.messages.end_verse_not_exist&&null==r.passages[0].valid.messages.start_verse_not_exist&&null==r.passages[0].valid.messages.start_chapter_not_exist&&null!=e.c){let a;s.value.pop(),s.value.push({type:"cv",indices:s.indices,value:[{type:"c",value:[{type:"integer",value:e.c+1,indices:s.indices}],indices:s.indices},{type:"v",value:[{type:"integer",value:1,indices:s.indices}],indices:s.indices}]}),a=this.range(s,[],s.start_context),[r]=Array.from(a[0]),e=a[1]}return r.value[0].indices=r.value[1].indices,r.value[0].absolute_indices=r.value[1].absolute_indices,r.value.pop(),null!=r.passages[0].valid.messages.end_verse_not_exist&&delete r.passages[0].valid.messages.end_verse_not_exist,null!=r.passages[0].valid.messages.end_chapter_not_exist&&delete r.passages[0].valid.messages.end_chapter_not_exist,null!=r.passages[0].end.original_c&&delete r.passages[0].end.original_c,a.push(r),[a,e]}sequence(s,a,e){for(var t of(s.start_context=bcv_utils.shallow_clone(e),s.passages=[],Array.from(s.value))){var r,n;for(var i of(r=this.handle_array(t,[],e),[n]=Array.from(r[0]),e=r[1],Array.from(n.passages)))null==i.type&&(i.type=n.type),null==i.absolute_indices&&(i.absolute_indices=n.absolute_indices),null!=n.start_context.translations&&(i.translations=n.start_context.translations),i.enclosed_absolute_indices="sequence_post_enclosed"===n.type?n.absolute_indices:[-1,-1],s.passages.push(i)}return null==s.absolute_indices&&(s.passages.length>0&&"sequence"===s.type?s.absolute_indices=[s.passages[0].absolute_indices[0],s.passages[s.passages.length-1].absolute_indices[1]]:s.absolute_indices=this.get_absolute_indices(s.indices)),a.push(s),[a,e]}sequence_post_enclosed(s,a,e){return this.sequence(s,a,e)}v(s,a,e){let t,r="integer"===s.type?s.value:this.pluck("integer",s.value).value;s.start_context=bcv_utils.shallow_clone(e);const n=null!=e.c?e.c:1,i=this.validate_ref(s.start_context.translations,{b:e.b,c:n,v:r});return[t,r]=Array.from(this.fix_start_zeroes(i,0,r)),s.passages=[{start:{b:e.b,c:n,v:r},end:{b:e.b,c:n,v:r},valid:i}],null!=s.start_context.translations&&(s.passages[0].translations=s.start_context.translations),null==s.absolute_indices&&(s.absolute_indices=this.get_absolute_indices(s.indices)),a.push(s),e.v=r,[a,e]}range(s,a,e){let t,r;s.start_context=bcv_utils.shallow_clone(e);let[n,i]=Array.from(s.value);if(t=this.handle_obj(n,[],e),[n]=Array.from(t[0]),e=t[1],"v"===i.type&&("bc"===n.type&&!__guard__(__guard__(__guard__(null!=n.passages?n.passages[0]:void 0,(s=>s.valid)),(s=>s.messages)),(s=>s.start_chapter_not_exist_in_single_chapter_book))||"c"===n.type)&&"verse"===this.options.end_range_digits_strategy)return s.value[0]=n,this.range_change_integer_end(s,a);r=this.handle_obj(i,[],e),[i]=Array.from(r[0]),e=r[1],s.value=[n,i],s.indices=[n.indices[0],i.indices[1]],delete s.absolute_indices;const x={b:n.passages[0].start.b,c:n.passages[0].start.c,v:n.passages[0].start.v,type:n.type},o={b:i.passages[0].end.b,c:i.passages[0].end.c,v:i.passages[0].end.v,type:i.type};i.passages[0].valid.messages.start_chapter_is_zero&&(o.c=0),i.passages[0].valid.messages.start_verse_is_zero&&(o.v=0);const l=this.validate_ref(s.start_context.translations,x,o);if(!l.valid)return this.range_handle_invalid(l,s,n,x,i,o,a);{const[e,t]=Array.from(this.range_handle_valid(l,s,n,x,i,o,a));if(e)return t}return null==s.absolute_indices&&(s.absolute_indices=this.get_absolute_indices(s.indices)),s.passages=[{start:x,end:o,valid:l}],null!=s.start_context.translations&&(s.passages[0].translations=s.start_context.translations),"b"===x.type?"b"===o.type?s.type="b_range":s.type="b_range_start":"b"===o.type&&(s.type="range_end_b"),a.push(s),[a,e]}range_change_end(s,a,e){let t;const[r,n]=Array.from(s.value);return"integer"===n.type?(n.original_value=n.value,n.value=e):"v"===n.type?(t=this.pluck("integer",n.value),t.original_value=t.value,t.value=e):"cv"===n.type&&(t=this.pluck("c",n.value),t.original_value=t.value,t.value=e),this.handle_obj(s,a,s.start_context)}range_change_integer_end(s,a){const[e,t]=Array.from(s.value);return null==s.original_type&&(s.original_type=s.type),null==s.original_value&&(s.original_value=[e,t]),s.type="integer"===e.type?"cv":e.type+"v","integer"===e.type&&(s.value[0]={type:"c",value:[e],indices:e.indices}),"integer"===t.type&&(s.value[1]={type:"v",value:[t],indices:t.indices}),this.handle_obj(s,a,s.start_context)}range_check_new_end(s,a,e,t){let r=0,n=null;if(t.messages.end_chapter_before_start?n="c":t.messages.end_verse_before_start&&(n="v"),null!=n&&(r=this.range_get_new_end_value(a,e,t,n)),r>0){const a={b:e.b,c:e.c,v:e.v};a[n]=r;this.validate_ref(s,a).valid||(r=0)}return r}range_end_b(s,a,e){return this.range(s,a,e)}range_get_new_end_value(s,a,e,t){let r=0;return"c"===t&&e.messages.end_chapter_is_zero||"v"===t&&e.messages.end_verse_is_zero||(s[t]>=10&&a[t]<10&&s[t]-10*Math.floor(s[t]/10)<a[t]?r=a[t]+10*Math.floor(s[t]/10):s[t]>=100&&a[t]<100&&s[t]-100<a[t]&&(r=a[t]+100)),r}range_handle_invalid(s,a,e,t,r,n,i){if(!1===s.valid&&(s.messages.end_chapter_before_start||s.messages.end_verse_before_start)&&("integer"===r.type||"v"===r.type)||!1===s.valid&&s.messages.end_chapter_before_start&&"cv"===r.type){const e=this.range_check_new_end(a.start_context.translations,t,n,s);if(e>0)return this.range_change_end(a,i,e)}if("verse"===this.options.end_range_digits_strategy&&null==t.v&&("integer"===r.type||"v"===r.type)){const s="v"===r.type?this.pluck("integer",r.value):r.value;if(this.validate_ref(a.start_context.translations,{b:t.b,c:t.c,v:s}).valid)return this.range_change_integer_end(a,i)}return null==a.original_type&&(a.original_type=a.type),a.type="sequence",[a.original_value,a.value]=Array.from([[e,r],[[e],[r]]]),this.sequence(a,i,a.start_context)}range_handle_valid(s,a,e,t,r,n,i){if(s.messages.end_chapter_not_exist&&"verse"===this.options.end_range_digits_strategy&&null==t.v&&("integer"===r.type||"v"===r.type)&&this.options.passage_existence_strategy.indexOf("v")>=0){const s="v"===r.type?this.pluck("integer",r.value):r.value;if(this.validate_ref(a.start_context.translations,{b:t.b,c:t.c,v:s}).valid)return[!0,this.range_change_integer_end(a,i)]}return this.range_validate(s,t,n,a),[!1,null]}range_validate(s,a,e,t){return s.messages.end_chapter_not_exist||s.messages.end_chapter_not_exist_in_single_chapter_book?(e.original_c=e.c,e.c=s.messages.end_chapter_not_exist?s.messages.end_chapter_not_exist:s.messages.end_chapter_not_exist_in_single_chapter_book,null!=e.v&&(e.v=this.validate_ref(t.start_context.translations,{b:e.b,c:e.c,v:999}).messages.end_verse_not_exist,delete s.messages.end_verse_is_zero)):s.messages.end_verse_not_exist&&(e.original_v=e.v,e.v=s.messages.end_verse_not_exist),s.messages.end_verse_is_zero&&"allow"!==this.options.zero_verse_strategy&&(e.v=s.messages.end_verse_is_zero),s.messages.end_chapter_is_zero&&(e.c=s.messages.end_chapter_is_zero),[a.c,a.v]=Array.from(this.fix_start_zeroes(s,a.c,a.v)),!0}translation_sequence(s,a,e){s.start_context=bcv_utils.shallow_clone(e);const t=[];for(var r of(t.push({translation:this.books[s.value[0].value].parsed}),Array.from(s.value[1])))null!=(r=this.books[this.pluck("translation",r).value].parsed)&&t.push({translation:r});for(var n of Array.from(t))null!=this.translations.aliases[n.translation]?(n.alias=this.translations.aliases[n.translation].alias,n.osis=this.translations.aliases[n.translation].osis||n.translation.toUpperCase()):(n.alias="default",n.osis=n.translation.toUpperCase());return a.length>0&&(e=this.translation_sequence_apply(a,t)),null==s.absolute_indices&&(s.absolute_indices=this.get_absolute_indices(s.indices)),a.push(s),this.reset_context(e,["translations"]),[a,e]}translation_sequence_apply(s,a){let e,t=0;for(let a=s.length-1,e=a,r=a<=0;r?e<=0:e>=0;r?e++:e--)if(null!=s[e].original_type&&(s[e].type=s[e].original_type),null!=s[e].original_value&&(s[e].value=s[e].original_value),"translation_sequence"===s[e].type){t=e+1;break}if(t<s.length){let r;s[t].start_context.translations=a,[r,e]=Array.from(this.handle_array(s.slice(t),[],s[t].start_context))}else e=bcv_utils.shallow_clone(s[s.length-1].start_context);return e}pluck(s,a){for(var e of Array.from(a))if(null!=e&&null!=e.type&&e.type===s)return"c"===s||"v"===s?this.pluck("integer",e.value):e;return null}pluck_last_recursively(s,a){for(let r=a.length-1;r>=0;r--){var e=a[r];if(null!=e&&null!=e.type){if(e.type===s)return this.pluck(s,[e]);var t=this.pluck_last_recursively(s,e.value);if(null!=t)return t}}return null}set_context_from_object(s,a,e){return(()=>{const t=[];for(var r of Array.from(a))null!=e[r]&&t.push(s[r]=e[r]);return t})()}reset_context(s,a){return Array.from(a).map((a=>delete s[a]))}fix_start_zeroes(s,a,e){return s.messages.start_chapter_is_zero&&"upgrade"===this.options.zero_chapter_strategy&&(a=s.messages.start_chapter_is_zero),s.messages.start_verse_is_zero&&"upgrade"===this.options.zero_verse_strategy&&(e=s.messages.start_verse_is_zero),[a,e]}calculate_indices(s,a){let e,t="book";const r=[];let n=0;a=parseInt(a,10);let i=[s];for(var x of["",""]){var o=[];for(e of Array.from(i))o=o.concat(e.split(x));i=o}for(e of Array.from(i)){var l;t="book"===t?"rest":"book";var u=e.length;0!==u&&("book"===t?(e=e.replace(/\/\d+$/,""),l=n+u,r.length>0&&r[r.length-1].index===a?r[r.length-1].end=l:r.push({start:n,end:l,index:a}),n+=u+2,a=this.books[e].start_index+this.books[e].value.length-n,r.push({start:l+1,end:l+1,index:a})):(l=n+u-1,r.length>0&&r[r.length-1].index===a?r[r.length-1].end=l:r.push({start:n,end:l,index:a}),n+=u))}return r}get_absolute_indices(...s){const[a,e]=Array.from(s[0]);let t=null,r=null;for(var n of Array.from(this.indices))if(null===t&&n.start<=a&&a<=n.end&&(t=a+n.index),n.start<=e&&e<=n.end){r=e+n.index+1;break}return[t,r]}validate_ref(s,a,e){null!=s&&s.length>0||(s=[{translation:"default",osis:"",alias:"default"}]);let t=!1;const r={};for(var n of Array.from(s))if(null==n.alias&&(n.alias="default"),null!=n.alias){null==this.translations.aliases[n.alias]&&(n.alias="default",null==r.translation_unknown&&(r.translation_unknown=[]),r.translation_unknown.push(n));var[i]=Array.from(this.validate_start_ref(n.alias,a,r));e&&([i]=Array.from(this.validate_end_ref(n.alias,a,e,i,r))),!0===i&&(t=!0)}else null==r.translation_invalid&&(r.translation_invalid=[]),r.translation_invalid.push(n);return{valid:t,messages:r}}validate_start_ref(s,a,e){let t=!0;"default"!==s&&null==(null!=this.translations[s]?this.translations[s].chapters[a.b]:void 0)&&this.promote_book_to_translation(a.b,s);const r=null!=(null!=this.translations[s]?this.translations[s].order:void 0)?s:"default";if(null!=a.v&&(a.v=parseInt(a.v,10)),null!=this.translations[r].order[a.b]){if(null==a.c&&(a.c=1),a.c=parseInt(a.c,10),isNaN(a.c))return t=!1,e.start_chapter_not_numeric=!0,[t,e];0===a.c&&(e.start_chapter_is_zero=1,"error"===this.options.zero_chapter_strategy?t=!1:a.c=1),null!=a.v&&0===a.v&&(e.start_verse_is_zero=1,"error"===this.options.zero_verse_strategy?t=!1:"upgrade"===this.options.zero_verse_strategy&&(a.v=1)),a.c>0&&null!=this.translations[s].chapters[a.b][a.c-1]?null!=a.v?isNaN(a.v)?(t=!1,e.start_verse_not_numeric=!0):a.v>this.translations[s].chapters[a.b][a.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0&&(t=!1,e.start_verse_not_exist=this.translations[s].chapters[a.b][a.c-1]):1===a.c&&"verse"===this.options.single_chapter_1_strategy&&1===this.translations[s].chapters[a.b].length&&(e.start_chapter_1=1):1!==a.c&&1===this.translations[s].chapters[a.b].length?(t=!1,e.start_chapter_not_exist_in_single_chapter_book=1):a.c>0&&this.options.passage_existence_strategy.indexOf("c")>=0&&(t=!1,e.start_chapter_not_exist=this.translations[s].chapters[a.b].length)}else null==a.b?(t=!1,e.start_book_not_defined=!0):(this.options.passage_existence_strategy.indexOf("b")>=0&&(t=!1),e.start_book_not_exist=!0);return[t,e]}validate_end_ref(s,a,e,t,r){const n=null!=(null!=this.translations[s]?this.translations[s].order:void 0)?s:"default";return null!=e.c&&(e.c=parseInt(e.c,10),isNaN(e.c)?(t=!1,r.end_chapter_not_numeric=!0):0===e.c&&(r.end_chapter_is_zero=1,"error"===this.options.zero_chapter_strategy?t=!1:e.c=1)),null!=e.v&&(e.v=parseInt(e.v,10),isNaN(e.v)?(t=!1,r.end_verse_not_numeric=!0):0===e.v&&(r.end_verse_is_zero=1,"error"===this.options.zero_verse_strategy?t=!1:"upgrade"===this.options.zero_verse_strategy&&(e.v=1))),null!=this.translations[n].order[e.b]?(null==e.c&&1===this.translations[s].chapters[e.b].length&&(e.c=1),null!=this.translations[n].order[a.b]&&this.translations[n].order[a.b]>this.translations[n].order[e.b]&&(this.options.passage_existence_strategy.indexOf("b")>=0&&(t=!1),r.end_book_before_start=!0),a.b!==e.b||null==e.c||isNaN(e.c)||(null==a.c&&(a.c=1),!isNaN(parseInt(a.c,10))&&a.c>e.c?(t=!1,r.end_chapter_before_start=!0):a.c!==e.c||null==e.v||isNaN(e.v)||(null==a.v&&(a.v=1),!isNaN(parseInt(a.v,10))&&a.v>e.v&&(t=!1,r.end_verse_before_start=!0))),null==e.c||isNaN(e.c)||null==this.translations[s].chapters[e.b][e.c-1]&&(1===this.translations[s].chapters[e.b].length?r.end_chapter_not_exist_in_single_chapter_book=1:e.c>0&&this.options.passage_existence_strategy.indexOf("c")>=0&&(r.end_chapter_not_exist=this.translations[s].chapters[e.b].length)),null==e.v||isNaN(e.v)||(null==e.c&&(e.c=this.translations[s].chapters[e.b].length),e.v>this.translations[s].chapters[e.b][e.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0&&(r.end_verse_not_exist=this.translations[s].chapters[e.b][e.c-1]))):(t=!1,r.end_book_not_exist=!0),[t,r]}promote_book_to_translation(s,a){if(null==this.translations[a]&&(this.translations[a]={}),null==this.translations[a].chapters&&(this.translations[a].chapters={}),null==this.translations[a].chapters[s])return this.translations[a].chapters[s]=bcv_utils.shallow_clone_array(this.translations.default.chapters[s])}}function __guard__(s,a){return null!=s?a(s):void 0}bcv_passage.initClass();const bcv_utils={shallow_clone(s){if(null==s)return s;const a={};for(const e of Object.keys(s||{})){const t=s[e];a[e]=t}return a},shallow_clone_array(s){if(null==s)return s;const a=[];for(let e=0,t=s.length,r=0<=t;r?e<=t:e>=t;r?e++:e--)void 0!==s[e]&&(a[e]=s[e]);return a}};bcv_parser.prototype.regexps.translations=RegExp("(?:(?:ERV))\\b","gi"),bcv_parser.prototype.translations={aliases:{default:{osis:"",alias:"default"}},alternates:{},default:{order:{Gen:1,Exod:2,Lev:3,Num:4,Deut:5,Josh:6,Judg:7,Ruth:8,"1Sam":9,"2Sam":10,"1Kgs":11,"2Kgs":12,"1Chr":13,"2Chr":14,Ezra:15,Neh:16,Esth:17,Job:18,Ps:19,Prov:20,Eccl:21,Song:22,Isa:23,Jer:24,Lam:25,Ezek:26,Dan:27,Hos:28,Joel:29,Amos:30,Obad:31,Jonah:32,Mic:33,Nah:34,Hab:35,Zeph:36,Hag:37,Zech:38,Mal:39,Matt:40,Mark:41,Luke:42,John:43,Acts:44,Rom:45,"1Cor":46,"2Cor":47,Gal:48,Eph:49,Phil:50,Col:51,"1Thess":52,"2Thess":53,"1Tim":54,"2Tim":55,Titus:56,Phlm:57,Heb:58,Jas:59,"1Pet":60,"2Pet":61,"1John":62,"2John":63,"3John":64,Jude:65,Rev:66,Tob:67,Jdt:68,GkEsth:69,Wis:70,Sir:71,Bar:72,PrAzar:73,Sus:74,Bel:75,SgThree:76,EpJer:77,"1Macc":78,"2Macc":79,"3Macc":80,"4Macc":81,"1Esd":82,"2Esd":83,PrMan:84},chapters:{Gen:[31,25,24,26,32,22,24,22,29,32,32,20,18,24,21,16,27,33,38,18,34,24,20,67,34,35,46,22,35,43,55,32,20,31,29,43,36,30,23,23,57,38,34,34,28,34,31,22,33,26],Exod:[22,25,22,31,23,30,25,32,35,29,10,51,22,31,27,36,16,27,25,26,36,31,33,18,40,37,21,43,46,38,18,35,23,35,35,38,29,31,43,38],Lev:[17,16,17,35,19,30,38,36,24,20,47,8,59,57,33,34,16,30,37,27,24,33,44,23,55,46,34],Num:[54,34,51,49,31,27,89,26,23,36,35,16,33,45,41,50,13,32,22,29,35,41,30,25,18,65,23,31,40,16,54,42,56,29,34,13],Deut:[46,37,29,49,33,25,26,20,29,22,32,32,18,29,23,22,20,22,21,20,23,30,25,22,19,19,26,68,29,20,30,52,29,12],Josh:[18,24,17,24,15,27,26,35,27,43,23,24,33,15,63,10,18,28,51,9,45,34,16,33],Judg:[36,23,31,24,31,40,25,35,57,18,40,15,25,20,20,31,13,31,30,48,25],Ruth:[22,23,18,22],"1Sam":[28,36,21,22,12,21,17,22,27,27,15,25,23,52,35,23,58,30,24,42,15,23,29,22,44,25,12,25,11,31,13],"2Sam":[27,32,39,12,25,23,29,18,13,19,27,31,39,33,37,23,29,33,43,26,22,51,39,25],"1Kgs":[53,46,28,34,18,38,51,66,28,29,43,33,34,31,34,34,24,46,21,43,29,53],"2Kgs":[18,25,27,44,27,33,20,29,37,36,21,21,25,29,38,20,41,37,37,21,26,20,37,20,30],"1Chr":[54,55,24,43,26,81,40,40,44,14,47,40,14,17,29,43,27,17,19,8,30,19,32,31,31,32,34,21,30],"2Chr":[17,18,17,22,14,42,22,18,31,19,23,16,22,15,19,14,19,34,11,37,20,12,21,27,28,23,9,27,36,27,21,33,25,33,27,23],Ezra:[11,70,13,24,17,22,28,36,15,44],Neh:[11,20,32,23,19,19,73,18,38,39,36,47,31],Esth:[22,23,15,17,14,14,10,17,32,3],Job:[22,13,26,21,27,30,21,22,35,22,20,25,28,22,35,22,16,21,29,29,34,30,17,25,6,14,23,28,25,31,40,22,33,37,16,33,24,41,30,24,34,17],Ps:[6,12,8,8,12,10,17,9,20,18,7,8,6,7,5,11,15,50,14,9,13,31,6,10,22,12,14,9,11,12,24,11,22,22,28,12,40,22,13,17,13,11,5,26,17,11,9,14,20,23,19,9,6,7,23,13,11,11,17,12,8,12,11,10,13,20,7,35,36,5,24,20,28,23,10,12,20,72,13,19,16,8,18,12,13,17,7,18,52,17,16,15,5,23,11,13,12,9,9,5,8,28,22,35,45,48,43,13,31,7,10,10,9,8,18,19,2,29,176,7,8,9,4,8,5,6,5,6,8,8,3,18,3,3,21,26,9,8,24,13,10,7,12,15,21,10,20,14,9,6],Prov:[33,22,35,27,23,35,27,36,18,32,31,28,25,35,33,33,28,24,29,30,31,29,35,34,28,28,27,28,27,33,31],Eccl:[18,26,22,16,20,12,29,17,18,20,10,14],Song:[17,17,11,16,16,13,13,14],Isa:[31,22,26,6,30,13,25,22,21,34,16,6,22,32,9,14,14,7,25,6,17,25,18,23,12,21,13,29,24,33,9,20,24,17,10,22,38,22,8,31,29,25,28,28,25,13,15,22,26,11,23,15,12,17,13,12,21,14,21,22,11,12,19,12,25,24],Jer:[19,37,25,31,31,30,34,22,26,25,23,17,27,22,21,21,27,23,15,18,14,30,40,10,38,24,22,17,32,24,40,44,26,22,19,32,21,28,18,16,18,22,13,30,5,28,7,47,39,46,64,34],Lam:[22,22,66,22,22],Ezek:[28,10,27,17,17,14,27,18,11,22,25,28,23,23,8,63,24,32,14,49,32,31,49,27,17,21,36,26,21,26,18,32,33,31,15,38,28,23,29,49,26,20,27,31,25,24,23,35],Dan:[21,49,30,37,31,28,28,27,27,21,45,13],Hos:[11,23,5,19,15,11,16,14,17,15,12,14,16,9],Joel:[20,32,21],Amos:[15,16,15,13,27,14,17,14,15],Obad:[21],Jonah:[17,10,10,11],Mic:[16,13,12,13,15,16,20],Nah:[15,13,19],Hab:[17,20,19],Zeph:[18,15,20],Hag:[15,23],Zech:[21,13,10,14,11,15,14,23,17,12,17,14,9,21],Mal:[14,17,18,6],Matt:[25,23,17,25,48,34,29,34,38,42,30,50,58,36,39,28,27,35,30,34,46,46,39,51,46,75,66,20],Mark:[45,28,35,41,43,56,37,38,50,52,33,44,37,72,47,20],Luke:[80,52,38,44,39,49,50,56,62,42,54,59,35,35,32,31,37,43,48,47,38,71,56,53],John:[51,25,36,54,47,71,53,59,41,42,57,50,38,31,27,33,26,40,42,31,25],Acts:[26,47,26,37,42,15,60,40,43,48,30,25,52,28,41,40,34,28,41,38,40,30,35,27,27,32,44,31],Rom:[32,29,31,25,21,23,25,39,33,21,36,21,14,23,33,27],"1Cor":[31,16,23,21,13,20,40,13,27,33,34,31,13,40,58,24],"2Cor":[24,17,18,18,21,18,16,24,15,18,33,21,14],Gal:[24,21,29,31,26,18],Eph:[23,22,21,32,33,24],Phil:[30,30,21,23],Col:[29,23,25,18],"1Thess":[10,20,13,18,28],"2Thess":[12,17,18],"1Tim":[20,15,16,16,25,21],"2Tim":[18,26,17,22],Titus:[16,15,15],Phlm:[25],Heb:[14,18,19,16,14,20,28,13,28,39,40,29,25],Jas:[27,26,18,17,20],"1Pet":[25,25,22,19,14],"2Pet":[21,22,18],"1John":[10,29,24,21,21],"2John":[13],"3John":[15],Jude:[25],Rev:[20,29,22,11,14,17,17,13,21,11,19,17,18,20,8,21,18,24,21,15,27,21],Tob:[22,14,17,21,22,18,16,21,6,13,18,22,17,15],Jdt:[16,28,10,15,24,21,32,36,14,23,23,20,20,19,14,25],GkEsth:[22,23,15,17,14,14,10,17,32,13,12,6,18,19,16,24],Wis:[16,24,19,20,23,25,30,21,18,21,26,27,19,31,19,29,21,25,22],Sir:[30,18,31,31,15,37,36,19,18,31,34,18,26,27,20,30,32,33,30,31,28,27,27,34,26,29,30,26,28,25,31,24,33,31,26,31,31,34,35,30,22,25,33,23,26,20,25,25,16,29,30],Bar:[22,35,37,37,9],PrAzar:[68],Sus:[64],Bel:[42],SgThree:[39],EpJer:[73],"1Macc":[64,70,60,61,68,63,50,32,73,89,74,53,53,49,41,24],"2Macc":[36,32,40,50,27,31,42,36,29,38,38,45,26,46,39],"3Macc":[29,33,30,21,51,41,23],"4Macc":[35,24,21,26,38,35,23,29,32,21,27,19,27,20,32,25,24,24],"1Esd":[58,30,24,63,73,34,15,96,55],"2Esd":[40,48,36,52,56,59,70,63,47,59,46,51,58,48,63,78],PrMan:[15],Ps151:[7]}},vulgate:{chapters:{Gen:[31,25,24,26,32,22,24,22,29,32,32,20,18,24,21,16,27,33,38,18,34,24,20,67,34,35,46,22,35,43,55,32,20,31,29,43,36,30,23,23,57,38,34,34,28,34,31,22,32,25],Exod:[22,25,22,31,23,30,25,32,35,29,10,51,22,31,27,36,16,27,25,26,36,31,33,18,40,37,21,43,46,38,18,35,23,35,35,38,29,31,43,36],Lev:[17,16,17,35,19,30,38,36,24,20,47,8,59,57,33,34,16,30,37,27,24,33,44,23,55,45,34],Num:[54,34,51,49,31,27,89,26,23,36,34,15,34,45,41,50,13,32,22,30,35,41,30,25,18,65,23,31,39,17,54,42,56,29,34,13],Josh:[18,24,17,25,16,27,26,35,27,44,23,24,33,15,63,10,18,28,51,9,43,34,16,33],Judg:[36,23,31,24,32,40,25,35,57,18,40,15,25,20,20,31,13,31,30,48,24],"1Sam":[28,36,21,22,12,21,17,22,27,27,15,25,23,52,35,23,58,30,24,43,15,23,28,23,44,25,12,25,11,31,13],"1Kgs":[53,46,28,34,18,38,51,66,28,29,43,33,34,31,34,34,24,46,21,43,29,54],"1Chr":[54,55,24,43,26,81,40,40,44,14,46,40,14,17,29,43,27,17,19,7,30,19,32,31,31,32,34,21,30],Neh:[11,20,31,23,19,19,73,18,38,39,36,46,31],Job:[22,13,26,21,27,30,21,22,35,22,20,25,28,22,35,23,16,21,29,29,34,30,17,25,6,14,23,28,25,31,40,22,33,37,16,33,24,41,35,28,25,16],Ps:[6,13,9,10,13,11,18,10,39,8,9,6,7,5,10,15,51,15,10,14,32,6,10,22,12,14,9,11,13,25,11,22,23,28,13,40,23,14,18,14,12,5,26,18,12,10,15,21,23,21,11,7,9,24,13,12,12,18,14,9,13,12,11,14,20,8,36,37,6,24,20,28,23,11,13,21,72,13,20,17,8,19,13,14,17,7,19,53,17,16,16,5,23,11,13,12,9,9,5,8,29,22,35,45,48,43,14,31,7,10,10,9,26,9,10,2,29,176,7,8,9,4,8,5,6,5,6,8,8,3,18,3,3,21,26,9,8,24,14,10,8,12,15,21,10,11,9,14,9,6],Eccl:[18,26,22,17,19,11,30,17,18,20,10,14],Song:[16,17,11,16,17,12,13,14],Jer:[19,37,25,31,31,30,34,22,26,25,23,17,27,22,21,21,27,23,15,18,14,30,40,10,38,24,22,17,32,24,40,44,26,22,19,32,20,28,18,16,18,22,13,30,5,28,7,47,39,46,64,34],Ezek:[28,9,27,17,17,14,27,18,11,22,25,28,23,23,8,63,24,32,14,49,32,31,49,27,17,21,36,26,21,26,18,32,33,31,15,38,28,23,29,49,26,20,27,31,25,24,23,35],Dan:[21,49,100,34,31,28,28,27,27,21,45,13,65,42],Hos:[11,24,5,19,15,11,16,14,17,15,12,14,15,10],Amos:[15,16,15,13,27,15,17,14,14],Jonah:[16,11,10,11],Mic:[16,13,12,13,14,16,20],Hag:[14,24],Matt:[25,23,17,25,48,34,29,34,38,42,30,50,58,36,39,28,26,35,30,34,46,46,39,51,46,75,66,20],Mark:[45,28,35,40,43,56,37,39,49,52,33,44,37,72,47,20],John:[51,25,36,54,47,72,53,59,41,42,57,50,38,31,27,33,26,40,42,31,25],Acts:[26,47,26,37,42,15,59,40,43,48,30,25,52,27,41,40,34,28,40,38,40,30,35,27,27,32,44,31],"2Cor":[24,17,18,18,21,18,16,24,15,18,33,21,13],Rev:[20,29,22,11,14,17,17,13,21,11,19,18,18,20,8,21,18,24,21,15,27,21],Tob:[25,23,25,23,28,22,20,24,12,13,21,22,23,17],Jdt:[12,18,15,17,29,21,25,34,19,20,21,20,31,18,15,31],Wis:[16,25,19,20,24,27,30,21,19,21,27,27,19,31,19,29,20,25,20],Sir:[40,23,34,36,18,37,40,22,25,34,36,19,32,27,22,31,31,33,28,33,31,33,38,47,36,28,33,30,35,27,42,28,33,31,26,28,34,39,41,32,28,26,37,27,31,23,31,28,19,31,38,13],Bar:[22,35,38,37,9,72],"1Macc":[67,70,60,61,68,63,50,32,73,89,74,54,54,49,41,24],"2Macc":[36,33,40,50,27,31,42,36,29,38,38,46,26,46,40]}},ceb:{chapters:{"2Cor":[24,17,18,18,21,18,16,24,15,18,33,21,13],Rev:[20,29,22,11,14,17,17,13,21,11,19,18,18,20,8,21,18,24,21,15,27,21],Tob:[22,14,17,21,22,18,16,21,6,13,18,22,18,15],PrAzar:[67],EpJer:[72],"1Esd":[55,26,24,63,71,33,15,92,55]}},kjv:{chapters:{"3John":[14]}},nab:{order:{Gen:1,Exod:2,Lev:3,Num:4,Deut:5,Josh:6,Judg:7,Ruth:8,"1Sam":9,"2Sam":10,"1Kgs":11,"2Kgs":12,"1Chr":13,"2Chr":14,PrMan:15,Ezra:16,Neh:17,"1Esd":18,"2Esd":19,Tob:20,Jdt:21,Esth:22,GkEsth:23,"1Macc":24,"2Macc":25,"3Macc":26,"4Macc":27,Job:28,Ps:29,Prov:30,Eccl:31,Song:32,Wis:33,Sir:34,Isa:35,Jer:36,Lam:37,Bar:38,EpJer:39,Ezek:40,Dan:41,PrAzar:42,Sus:43,Bel:44,SgThree:45,Hos:46,Joel:47,Amos:48,Obad:49,Jonah:50,Mic:51,Nah:52,Hab:53,Zeph:54,Hag:55,Zech:56,Mal:57,Matt:58,Mark:59,Luke:60,John:61,Acts:62,Rom:63,"1Cor":64,"2Cor":65,Gal:66,Eph:67,Phil:68,Col:69,"1Thess":70,"2Thess":71,"1Tim":72,"2Tim":73,Titus:74,Phlm:75,Heb:76,Jas:77,"1Pet":78,"2Pet":79,"1John":80,"2John":81,"3John":82,Jude:83,Rev:84},chapters:{Gen:[31,25,24,26,32,22,24,22,29,32,32,20,18,24,21,16,27,33,38,18,34,24,20,67,34,35,46,22,35,43,54,33,20,31,29,43,36,30,23,23,57,38,34,34,28,34,31,22,33,26],Exod:[22,25,22,31,23,30,29,28,35,29,10,51,22,31,27,36,16,27,25,26,37,30,33,18,40,37,21,43,46,38,18,35,23,35,35,38,29,31,43,38],Lev:[17,16,17,35,26,23,38,36,24,20,47,8,59,57,33,34,16,30,37,27,24,33,44,23,55,46,34],Num:[54,34,51,49,31,27,89,26,23,36,35,16,33,45,41,35,28,32,22,29,35,41,30,25,19,65,23,31,39,17,54,42,56,29,34,13],Deut:[46,37,29,49,33,25,26,20,29,22,32,31,19,29,23,22,20,22,21,20,23,29,26,22,19,19,26,69,28,20,30,52,29,12],"1Sam":[28,36,21,22,12,21,17,22,27,27,15,25,23,52,35,23,58,30,24,42,16,23,28,23,44,25,12,25,11,31,13],"2Sam":[27,32,39,12,25,23,29,18,13,19,27,31,39,33,37,23,29,32,44,26,22,51,39,25],"1Kgs":[53,46,28,20,32,38,51,66,28,29,43,33,34,31,34,34,24,46,21,43,29,54],"2Kgs":[18,25,27,44,27,33,20,29,37,36,20,22,25,29,38,20,41,37,37,21,26,20,37,20,30],"1Chr":[54,55,24,43,41,66,40,40,44,14,47,41,14,17,29,43,27,17,19,8,30,19,32,31,31,32,34,21,30],"2Chr":[18,17,17,22,14,42,22,18,31,19,23,16,23,14,19,14,19,34,11,37,20,12,21,27,28,23,9,27,36,27,21,33,25,33,27,23],Neh:[11,20,38,17,19,19,72,18,37,40,36,47,31],Job:[22,13,26,21,27,30,21,22,35,22,20,25,28,22,35,22,16,21,29,29,34,30,17,25,6,14,23,28,25,31,40,22,33,37,16,33,24,41,30,32,26,17],Ps:[6,11,9,9,13,11,18,10,21,18,7,9,6,7,5,11,15,51,15,10,14,32,6,10,22,12,14,9,11,13,25,11,22,23,28,13,40,23,14,18,14,12,5,27,18,12,10,15,21,23,21,11,7,9,24,14,12,12,18,14,9,13,12,11,14,20,8,36,37,6,24,20,28,23,11,13,21,72,13,20,17,8,19,13,14,17,7,19,53,17,16,16,5,23,11,13,12,9,9,5,8,29,22,35,45,48,43,14,31,7,10,10,9,8,18,19,2,29,176,7,8,9,4,8,5,6,5,6,8,8,3,18,3,3,21,26,9,8,24,14,10,8,12,15,21,10,20,14,9,6],Eccl:[18,26,22,17,19,12,29,17,18,20,10,14],Song:[17,17,11,16,16,12,14,14],Isa:[31,22,26,6,30,13,25,23,20,34,16,6,22,32,9,14,14,7,25,6,17,25,18,23,12,21,13,29,24,33,9,20,24,17,10,22,38,22,8,31,29,25,28,28,25,13,15,22,26,11,23,15,12,17,13,12,21,14,21,22,11,12,19,11,25,24],Jer:[19,37,25,31,31,30,34,23,25,25,23,17,27,22,21,21,27,23,15,18,14,30,40,10,38,24,22,17,32,24,40,44,26,22,19,32,21,28,18,16,18,22,13,30,5,28,7,47,39,46,64,34],Ezek:[28,10,27,17,17,14,27,18,11,22,25,28,23,23,8,63,24,32,14,44,37,31,49,27,17,21,36,26,21,26,18,32,33,31,15,38,28,23,29,49,26,20,27,31,25,24,23,35],Dan:[21,49,100,34,30,29,28,27,27,21,45,13,64,42],Hos:[9,25,5,19,15,11,16,14,17,15,11,15,15,10],Joel:[20,27,5,21],Jonah:[16,11,10,11],Mic:[16,13,12,14,14,16,20],Nah:[14,14,19],Zech:[17,17,10,14,11,15,14,23,17,12,17,14,9,21],Mal:[14,17,24],Acts:[26,47,26,37,42,15,60,40,43,49,30,25,52,28,41,40,34,28,40,38,40,30,35,27,27,32,44,31],"2Cor":[24,17,18,18,21,18,16,24,15,18,33,21,13],Rev:[20,29,22,11,14,17,17,13,21,11,19,18,18,20,8,21,18,24,21,15,27,21],Tob:[22,14,17,21,22,18,17,21,6,13,18,22,18,15],Sir:[30,18,31,31,15,37,36,19,18,31,34,18,26,27,20,30,32,33,30,31,28,27,27,33,26,29,30,26,28,25,31,24,33,31,26,31,31,34,35,30,22,25,33,23,26,20,25,25,16,29,30],Bar:[22,35,38,37,9,72],"2Macc":[36,32,40,50,27,31,42,36,29,38,38,46,26,46,39]}},nlt:{chapters:{Rev:[20,29,22,11,14,17,17,13,21,11,19,18,18,20,8,21,18,24,21,15,27,21]}},nrsv:{chapters:{"2Cor":[24,17,18,18,21,18,16,24,15,18,33,21,13],Rev:[20,29,22,11,14,17,17,13,21,11,19,18,18,20,8,21,18,24,21,15,27,21]}}},bcv_parser.prototype.languages=["uk"];const heregex=s=>{let a="",e=!1,t=!1;for(let r=0;r<s.length;r++){const n=s[r];if(t)a+=n,t=!1;else if("\\"!==n)if(e||"["!==n)if(e&&"]"===n)e=!1,a+=n;else if(e||"#"!==n)!e&&/\s/.test(n)||(a+=n);else for(;r<s.length&&"\n"!==s[r];)r+=1;else e=!0,a+=n;else a+=n,t=!0}return a};var grammar;bcv_parser.prototype.regexps.space="[\\s\\xa0]",bcv_parser.prototype.regexps.escaped_passage=RegExp(heregex(String.raw`
1
+ const root=this;class bcv_parser{static initClass(){this.prototype.s="",this.prototype.entities=[],this.prototype.passage=null,this.prototype.regexps={},this.prototype.options={consecutive_combination_strategy:"combine",osis_compaction_strategy:"b",book_sequence_strategy:"ignore",invalid_sequence_strategy:"ignore",sequence_combination_strategy:"combine",punctuation_strategy:"us",invalid_passage_strategy:"ignore",non_latin_digits_strategy:"ignore",passage_existence_strategy:"bcv",zero_chapter_strategy:"error",zero_verse_strategy:"error",single_chapter_1_strategy:"chapter",book_alone_strategy:"ignore",book_range_strategy:"ignore",captive_end_digits_strategy:"delete",end_range_digits_strategy:"verse",include_apocrypha:!1,ps151_strategy:"c",versification_system:"default",case_sensitive:"none"}}constructor(){for(var s of(this.options={},Object.keys(bcv_parser.prototype.options||{}))){var a=bcv_parser.prototype.options[s];this.options[s]=a}this.versification_system(this.options.versification_system)}parse(s){return this.reset(),this.s=s,s=this.replace_control_characters(s),[s,this.passage.books]=Array.from(this.match_books(s)),[this.entities]=Array.from(this.match_passages(s)),this}parse_with_context(s,a){let e;return this.reset(),[a,this.passage.books]=Array.from(this.match_books(this.replace_control_characters(a))),[e,a]=Array.from(this.match_passages(a)),this.reset(),this.s=s,s=this.replace_control_characters(s),[s,this.passage.books]=Array.from(this.match_books(s)),this.passage.books.push({value:"",parsed:[],start_index:0,type:"context",context:a}),s=""+(this.passage.books.length-1)+"/9"+s,[this.entities]=Array.from(this.match_passages(s)),this}reset(){return this.s="",this.entities=[],this.passage?(this.passage.books=[],this.passage.indices={}):(this.passage=new bcv_passage,this.passage.options=this.options,this.passage.translations=this.translations)}set_options(s){for(var a of Object.keys(s||{})){var e=s[a];"include_apocrypha"===a||"versification_system"===a||"case_sensitive"===a?this[a](e):this.options[a]=e}return this}include_apocrypha(s){if(null==s||!0!==s&&!1!==s)return this;for(var a of(this.options.include_apocrypha=s,this.regexps.books=this.regexps.get_books(s,this.options.case_sensitive),Object.keys(this.translations||{}))){var e;if("aliases"!==a&&"alternates"!==a)if(null==this.translations[a].chapters&&(this.translations[a].chapters={}),null==this.translations[a].chapters.Ps&&(this.translations[a].chapters.Ps=bcv_utils.shallow_clone_array(this.translations.default.chapters.Ps)),!0===s)e=null!=this.translations[a].chapters.Ps151?this.translations[a].chapters.Ps151[0]:this.translations.default.chapters.Ps151[0],this.translations[a].chapters.Ps[150]=e;else 151===this.translations[a].chapters.Ps.length&&this.translations[a].chapters.Ps.pop()}return this}versification_system(s){let a,e;if(null==s||null==this.translations[s])return this;if(null!=this.translations.alternates.default)if("default"===s)for(a of(null!=this.translations.alternates.default.order&&(this.translations.default.order=bcv_utils.shallow_clone(this.translations.alternates.default.order)),Object.keys(this.translations.alternates.default.chapters||{})))e=this.translations.alternates.default.chapters[a],this.translations.default.chapters[a]=bcv_utils.shallow_clone_array(e);else this.versification_system("default");if(null==this.translations.alternates.default&&(this.translations.alternates.default={order:null,chapters:{}}),"default"!==s&&null!=this.translations[s].order&&(null==this.translations.alternates.default.order&&(this.translations.alternates.default.order=bcv_utils.shallow_clone(this.translations.default.order)),this.translations.default.order=bcv_utils.shallow_clone(this.translations[s].order)),"default"!==s&&null!=this.translations[s].chapters)for(a of Object.keys(this.translations[s].chapters||{}))e=this.translations[s].chapters[a],null==this.translations.alternates.default.chapters[a]&&(this.translations.alternates.default.chapters[a]=bcv_utils.shallow_clone_array(this.translations.default.chapters[a])),this.translations.default.chapters[a]=bcv_utils.shallow_clone_array(e);return this.options.versification_system=s,this.include_apocrypha(this.options.include_apocrypha),this}case_sensitive(s){return null==s||"none"!==s&&"books"!==s||s===this.options.case_sensitive||(this.options.case_sensitive=s,this.regexps.books=this.regexps.get_books(this.options.include_apocrypha,s)),this}translation_info(s){let a;null==s&&(s="default"),null!=s&&null!=(null!=this.translations.aliases[s]?this.translations.aliases[s].alias:void 0)&&(s=this.translations.aliases[s].alias),null!=s&&null!=this.translations[s]||(s="default");const e=this.options.versification_system;s!==e&&this.versification_system(s);const t={alias:s,books:[],chapters:{},order:bcv_utils.shallow_clone(this.translations.default.order)};for(a of Object.keys(this.translations.default.chapters||{})){var r=this.translations.default.chapters[a];t.chapters[a]=bcv_utils.shallow_clone_array(r)}for(a of Object.keys(t.order||{})){var n=t.order[a];t.books[n-1]=a}return s!==e&&this.versification_system(e),t}replace_control_characters(s){return s=(s=(s=s.replace(this.regexps.control," ")).replace(/\uFF1A/g,":")).replace(/\uFF1B/g,";"),"replace"===this.options.non_latin_digits_strategy&&(s=(s=(s=(s=(s=(s=(s=(s=(s=(s=s.replace(/[٠۰߀०০੦૦୦0౦೦൦๐໐༠၀႐០᠐᥆᧐᪀᪐᭐᮰᱀᱐꘠꣐꤀꧐꩐꯰0]/g,"0")).replace(/[١۱߁१১੧૧୧௧౧೧൧๑໑༡၁႑១᠑᥇᧑᪁᪑᭑᮱᱁᱑꘡꣑꤁꧑꩑꯱1]/g,"1")).replace(/[٢۲߂२২੨૨୨௨౨೨൨๒໒༢၂႒២᠒᥈᧒᪂᪒᭒᮲᱂᱒꘢꣒꤂꧒꩒꯲2]/g,"2")).replace(/[٣۳߃३৩੩૩୩௩౩೩൩๓໓༣၃႓៣᠓᥉᧓᪃᪓᭓᮳᱃᱓꘣꣓꤃꧓꩓꯳3]/g,"3")).replace(/[٤۴߄४৪੪૪୪௪౪೪൪๔໔༤၄႔៤᠔᥊᧔᪄᪔᭔᮴᱄᱔꘤꣔꤄꧔꩔꯴4]/g,"4")).replace(/[٥۵߅५৫੫૫୫௫౫೫൫๕໕༥၅႕៥᠕᥋᧕᪅᪕᭕᮵᱅᱕꘥꣕꤅꧕꩕꯵5]/g,"5")).replace(/[٦۶߆६৬੬૬୬௬౬೬൬๖໖༦၆႖៦᠖᥌᧖᪆᪖᭖᮶᱆᱖꘦꣖꤆꧖꩖꯶6]/g,"6")).replace(/[٧۷߇७৭੭૭୭௭౭೭൭๗໗༧၇႗៧᠗᥍᧗᪇᪗᭗᮷᱇᱗꘧꣗꤇꧗꩗꯷7]/g,"7")).replace(/[٨۸߈८৮੮૮୮௮౮೮൮๘໘༨၈႘៨᠘᥎᧘᪈᪘᭘᮸᱈᱘꘨꣘꤈꧘꩘꯸8]/g,"8")).replace(/[٩۹߉९৯੯૯୯௯౯೯൯๙໙༩၉႙៩᠙᥏᧙᪉᪙᭙᮹᱉᱙꘩꣙꤉꧙꩙꯹9]/g,"9")),s}match_books(s){const a=[];for(var e of Array.from(this.regexps.books)){var t=!1;if(s=s.replace(e.regexp,(function(s,r,n){t=!0,a.push({value:n,parsed:e.osis,type:"book"});const i=null!=e.extra?`/${e.extra}`:"";return`${r}${a.length-1}${i}`})),!0===t&&/^[\s\x1f\d:.,;\-\u2013\u2014]+$/.test(s))break}return[s=s.replace(this.regexps.translations,(function(s){return a.push({value:s,parsed:s.toLowerCase(),type:"translation"}),`${a.length-1}`})),this.get_book_indices(a,s)]}get_book_indices(s,a){let e,t=0;const r=new RegExp("([\\x1f\\x1e])(\\d+)(?:/\\d+)?\\1","g");for(;e=r.exec(a);)s[e[2]].start_index=e.index+t,t+=s[e[2]].value.length-e[0].length;return s}match_passages(s){let a,e=[],t={};for(;a=this.regexps.escaped_passage.exec(s);){let p;var[r,n,i]=Array.from(a),x=n.length;if(a.index+=r.length-x,/\s[2-9]\d\d\s*$|\s\d{4,}\s*$/.test(n)&&(n=n.replace(/\s+\d+\s*$/,"")),/[\d\x1f\x1e)]$/.test(n)||(n=this.replace_match_end(n)),"delete"===this.options.captive_end_digits_strategy){var o=a.index+n.length;s.length>o&&/^\w/.test(s.substr(o,1))&&(n=n.replace(/[\s*]+\d+$/,"")),n=n.replace(/(\x1e[)\]]?)[\s*]*\d+$/,"$1")}var l=""===(n=n.replace(/[A-Z]+/g,(s=>s.toLowerCase()))).substr(0,1)?0:n.split("")[0].length,u={value:grammar.parse(n,{punctuation_strategy:this.options.punctuation_strategy}),type:"base",start_index:this.passage.books[i].start_index-l,match:n};"full"===this.options.book_alone_strategy&&"include"===this.options.book_range_strategy&&"b"===u.value[0].type&&(1===u.value.length||u.value.length>1&&"translation_sequence"===u.value[1].type)&&0===l&&(1===this.passage.books[i].parsed.length||this.passage.books[i].parsed.length>1&&"translation"===this.passage.books[i].parsed[1].type)&&/^[234]/.test(this.passage.books[i].parsed[0])&&this.create_book_range(s,u,i),[p,t]=Array.from(this.passage.handle_obj(u)),e=e.concat(p);var c=this.adjust_regexp_end(p,x,n.length);c>0&&(this.regexps.escaped_passage.lastIndex-=c)}return[e,t]}adjust_regexp_end(s,a,e){let t=0;return s.length>0?t=a-s[s.length-1].indices[1]-1:a!==e&&(t=a-e),t}replace_match_end(s){let a,e=s.length;for(;a=this.regexps.match_end_split.exec(s);)e=a.index+a[0].length;return e<s.length&&(s=s.substr(0,e)),s}create_book_range(s,a,e){const t=[bcv_parser.prototype.regexps.first,bcv_parser.prototype.regexps.second,bcv_parser.prototype.regexps.third],r=parseInt(this.passage.books[e].parsed[0].substr(0,1),10);for(let x=1,o=r,l=1<=o;l?x<o:x>o;l?x++:x--){var n=x===r-1?bcv_parser.prototype.regexps.range_and:bcv_parser.prototype.regexps.range_only,i=s.match(new RegExp(`(?:^|\\W)(${t[x-1]}\\s*${n}\\s*)\\x1f${e}\\x1f`,"i"));if(null!=i)return this.add_book_range_object(a,i,x)}return!1}add_book_range_object(s,a,e){const{length:t}=a[1];if(s.value[0]={type:"b_range_pre",value:[{type:"b_pre",value:e.toString(),indices:[a.index,a.index+t]},s.value[0]],indices:[0,s.value[0].indices[1]+t]},s.value[0].value[1].indices[0]+=t,s.value[0].value[1].indices[1]+=t,s.start_index-=t,s.match=a[1]+s.match,1!==s.value.length)return(()=>{const a=[];for(let e=1,r=s.value.length,n=1<=r;n?e<r:e>r;n?e++:e--)null!=s.value[e].value&&(null!=(null!=s.value[e].value[0]?s.value[e].value[0].indices:void 0)&&(s.value[e].value[0].indices[0]+=t,s.value[e].value[0].indices[1]+=t),s.value[e].indices[0]+=t,a.push(s.value[e].indices[1]+=t));return a})()}osis(){const s=[];for(var a of Array.from(this.parsed_entities()))a.osis.length>0&&s.push(a.osis);return s.join(",")}osis_and_translations(){const s=[];for(var a of Array.from(this.parsed_entities()))a.osis.length>0&&s.push([a.osis,a.translations.join(",")]);return s}osis_and_indices(){const s=[];for(var a of Array.from(this.parsed_entities()))if(a.osis.length>0){const e={osis:a.osis,translations:a.translations,indices:a.indices};null!=a.osises&&(e.osises=a.osises),s.push(e)}return s}parsed_entities(){let s=[];for(let d=0,v=this.entities.length,b=0<=v;b?d<v:d>v;b?d++:d--){var a=this.entities[d];if(a.type&&"translation_sequence"===a.type&&s.length>0&&d===s[s.length-1].entity_id+1&&(s[s.length-1].indices[1]=a.absolute_indices[1]),null!=a.passages&&!("b"===a.type&&"ignore"===this.options.book_alone_strategy||"b_range"===a.type&&"ignore"===this.options.book_range_strategy||"context"===a.type)){var e=[],t=null;if(null!=a.passages[0].translations)for(var r of Array.from(a.passages[0].translations)){var n=(null!=r.osis?r.osis.length:void 0)>0?r.osis:"";null==t&&(t=r.alias),e.push(n)}else e=[""],t="default";for(var i=[],x=[],{length:o}=a.passages,l=0,u=l,c=o,p=0<=c;p?l<c:l>c;p?l++:l--,u=l){var g=a.passages[u];null==g.type&&(g.type=a.type),!1===g.valid.valid&&("ignore"===this.options.invalid_sequence_strategy&&"sequence"===a.type&&this.snap_sequence("ignore",a,i,u,o),"ignore"===this.options.invalid_passage_strategy)||("b"!==g.type&&"b_range"!==g.type||"ignore"!==this.options.book_sequence_strategy||"sequence"!==a.type?("b_range_start"!==g.type&&"range_end_b"!==g.type||"ignore"!==this.options.book_range_strategy||this.snap_range(a,u),null==g.absolute_indices&&(g.absolute_indices=a.absolute_indices),"separate-chapters"===this.options.consecutive_combination_strategy&&g.start.c!==g.end.c?i.push({osis:g.valid.valid?this.to_osis(g.start,g.end,t):"",osises:this.get_osises_by_chapter({osis:"",start:g.start,end:g.end},t),type:g.type,indices:g.absolute_indices,translations:e,start:g.start,end:g.end,enclosed_indices:g.enclosed_absolute_indices,entity_id:d,entities:[g]}):i.push({osis:g.valid.valid?this.to_osis(g.start,g.end,t):"",type:g.type,indices:g.absolute_indices,translations:e,start:g.start,end:g.end,enclosed_indices:g.enclosed_absolute_indices,entity_id:d,entities:[g]})):this.snap_sequence("book",a,i,u,o))}if(0!==i.length||0!==x.length){if("combine"!==this.options.consecutive_combination_strategy&&"separate-chapters"!==this.options.consecutive_combination_strategy||(i.length>1&&(i=this.combine_consecutive_passages(i,t)),i=i.concat(x).sort(((s,a)=>s.indices[0]-a.indices[0]))),"separate-chapters"===this.options.consecutive_combination_strategy)for(h of Array.from(i)){if(0===h.osis.length)continue;const s=this.get_osises_by_chapter(h,t);s.length>1&&(h.osises=s)}if("separate"===this.options.sequence_combination_strategy)s=s.concat(i);else{if("separate-chapters"===this.options.consecutive_combination_strategy&&"sequence"===a.type){const a=this.group_osises_by_semicolon(i);if(a.length>1){for(const t of Array.from(a)){if(0===t.length)continue;if(t.length>1){for(h of Array.from(t)){if(0===h.osis.length)continue;const a={osis:h.osis,indices:h.indices,translations:e,entity_id:d,entities:[h]};null!=h.osises&&(a.osises=h.osises),s.push(a)}continue}const a=t.length-1,r=[t[0].indices[0],t[a].indices[1]];null!=t[a].enclosed_indices&&t[a].enclosed_indices[1]>=0&&(r[1]=t[a].enclosed_indices[1]);const n=[];let i=[];for(h of Array.from(t))h.osis.length>0&&n.push(h.osis),null!=h.osises&&(i=i.concat(h.osises));const x={osis:n.join(","),indices:r,translations:e,entity_id:d,entities:t};i.length>0&&(x.osises=i),s.push(x)}continue}}var h,_=[],f=i.length-1;for(h of(null!=i[f].enclosed_indices&&i[f].enclosed_indices[1]>=0&&(a.absolute_indices[1]=i[f].enclosed_indices[1]),Array.from(i)))h.osis.length>0&&_.push(h.osis);let t=[];if("separate-chapters"===this.options.consecutive_combination_strategy)for(h of Array.from(i))null!=h.osises&&(t=t.concat(h.osises));const r={osis:_.join(","),indices:a.absolute_indices,translations:e,entity_id:d,entities:i};t.length>0&&(r.osises=t),s.push(r)}}}}return s}to_osis(s,a,e){let t;null==a.c&&null==a.v&&s.b===a.b&&null==s.c&&null==s.v&&"first_chapter"===this.options.book_alone_strategy&&(a.c=1);const r={start:"",end:""};return null==s.c&&(s.c=1),null==s.v&&(s.v=1),null==a.c&&(this.options.passage_existence_strategy.indexOf("c")>=0||null!=this.passage.translations[e].chapters[a.b]&&1===this.passage.translations[e].chapters[a.b].length?a.c=this.passage.translations[e].chapters[a.b].length:a.c=999),null==a.v&&(null!=this.passage.translations[e].chapters[a.b][a.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0?a.v=this.passage.translations[e].chapters[a.b][a.c-1]:a.v=999),this.options.include_apocrypha&&"b"===this.options.ps151_strategy&&(151===s.c&&"Ps"===s.b||151===a.c&&"Ps"===a.b)&&this.fix_ps151(s,a,e),"b"===this.options.osis_compaction_strategy&&1===s.c&&1===s.v&&(999===a.c&&999===a.v||a.c===this.passage.translations[e].chapters[a.b].length&&this.options.passage_existence_strategy.indexOf("c")>=0&&(999===a.v||a.v===this.passage.translations[e].chapters[a.b][a.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0))?(r.start=s.b,r.end=a.b):this.options.osis_compaction_strategy.length<=2&&1===s.v&&(999===a.v||a.v===this.passage.translations[e].chapters[a.b][a.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0)?(r.start=s.b+"."+s.c.toString(),r.end=a.b+"."+a.c.toString()):(r.start=s.b+"."+s.c.toString()+"."+s.v.toString(),r.end=a.b+"."+a.c.toString()+"."+a.v.toString()),t=r.start===r.end?r.start:r.start+"-"+r.end,null!=s.extra&&(t=s.extra+","+t),null!=a.extra&&(t+=","+a.extra),t}get_osises_by_chapter(s,a){if(null==s||null==s.start||null==s.end)return[];if(null==s.start.b||null==s.end.b||null==s.start.c||null==s.end.c)return null!=s.osis&&s.osis.length>0?[s.osis]:[];if(s.start.b!==s.end.b||s.start.c===s.end.c)return null!=s.osis&&s.osis.length>0?[s.osis]:[];const e=[];for(let t=s.start.c,r=s.end.c,n=s.start.c<=r;n?t<=r:t>=r;n?t++:t--){const r=t===s.start.c?s.start.v:1,n=t===s.end.c?s.end.v:this.translations[a].chapters[s.start.b][t-1],i={b:s.start.b,c:t,v:"bcv"===s.start.type?r:null,type:s.start.type},x={b:s.end.b,c:t,v:"bcv"===s.start.type?n:null,type:s.start.type};e.push(this.to_osis(i,x,a))}return e}get_separator_between(s,a){if(null==this.s||null==s||null==a)return"";const e=s[1],t=a[0];return t<=e?"":this.s.slice(e,t)}has_semicolon_separator(s,a){const e=this.get_separator_between(s.indices,a.indices);return/[;;]/.test(e)}group_osises_by_semicolon(s){const a=[];let e=[];for(const t of Array.from(s))0!==e.length&&this.has_semicolon_separator(e[e.length-1],t)?(a.push(e),e=[t]):e.push(t);return e.length>0&&a.push(e),a}fix_ps151(s,a,e){return"default"!==e&&null==(null!=this.translations[e]?this.translations[e].chapters.Ps151:void 0)&&this.passage.promote_book_to_translation("Ps151",e),151===s.c&&"Ps"===s.b?151===a.c&&"Ps"===a.b?(s.b="Ps151",s.c=1,a.b="Ps151",a.c=1):(s.extra=this.to_osis({b:"Ps151",c:1,v:s.v},{b:"Ps151",c:1,v:this.passage.translations[e].chapters.Ps151[0]},e),s.b="Prov",s.c=1,s.v=1):(a.extra=this.to_osis({b:"Ps151",c:1,v:1},{b:"Ps151",c:1,v:a.v},e),a.c=150,a.v=this.passage.translations[e].chapters.Ps[149])}combine_consecutive_passages(s,a){const e=[];let t={};const r=s.length-1;let n=-1,i=!1;for(let u=0,c=r,p=0<=c;p?u<=c:u>=c;p?u++:u--){var x=s[u];if(x.osis.length>0){var o=e.length-1,l=!1;if(o>=0&&this.has_semicolon_separator(e[o],x)){e.push(x),t={b:x.end.b,c:x.end.c,v:x.end.v};continue}x.enclosed_indices[0]!==n&&(n=x.enclosed_indices[0]),n>=0&&(u===r||s[u+1].enclosed_indices[0]!==x.enclosed_indices[0])&&(l=!0,i=!0),this.is_verse_consecutive(t,x.start,a)?(e[o].end=x.end,e[o].is_enclosed_last=l,e[o].indices[1]=x.indices[1],e[o].enclosed_indices[1]=x.enclosed_indices[1],e[o].osis=this.to_osis(e[o].start,x.end,a)):e.push(x),t={b:x.end.b,c:x.end.c,v:x.end.v}}else e.push(x),t={}}return i&&this.snap_enclosed_indices(e),e}snap_enclosed_indices(s){for(var a of Array.from(s))null!=a.is_enclosed_last&&(a.enclosed_indices[0]<0&&a.is_enclosed_last&&(a.indices[1]=a.enclosed_indices[1]),delete a.is_enclosed_last);return s}is_verse_consecutive(s,a,e){if(null==s.b)return!1;const t=null!=this.passage.translations[e].order?this.passage.translations[e].order:this.passage.translations.default.order;if(s.b===a.b){if(s.c===a.c){if(s.v===a.v-1)return!0}else if(1===a.v&&s.c===a.c-1&&s.v===this.passage.translations[e].chapters[s.b][s.c-1])return!0}else if(1===a.c&&1===a.v&&t[s.b]===t[a.b]-1&&s.c===this.passage.translations[e].chapters[s.b].length&&s.v===this.passage.translations[e].chapters[s.b][s.c-1])return!0;return!1}snap_range(s,a){let e,t,r;"b_range_start"===s.type||"sequence"===s.type&&"b_range_start"===s.passages[a].type?(e=1,t="end",r="b_range_start"):(e=0,t="start",r="range_end_b");const n="end"===t?"start":"end";for(var i of Object.keys(s.passages[a][n]||{}))s.passages[a][n][i]=s.passages[a][t][i];if("sequence"===s.type){a>=s.value.length&&(a=s.value.length-1);const e=this.passage.pluck(r,s.value[a]);if(null!=e){const t=this.snap_range(e,0);0===a?s.absolute_indices[0]=t.absolute_indices[0]:s.absolute_indices[1]=t.absolute_indices[1]}}else s.original_type=s.type,s.type=s.value[e].type,s.absolute_indices=[s.value[e].absolute_indices[0],s.value[e].absolute_indices[1]];return s}snap_sequence(s,a,e,t,r){const n=a.passages[t];return n.absolute_indices[0]===a.absolute_indices[0]&&t<r-1&&this.get_snap_sequence_i(a.passages,t,r)!==t?(a.absolute_indices[0]=a.passages[t+1].absolute_indices[0],this.remove_absolute_indices(a.passages,t+1)):n.absolute_indices[1]===a.absolute_indices[1]&&t>0?a.absolute_indices[1]=e.length>0?e[e.length-1].indices[1]:a.passages[t-1].absolute_indices[1]:"book"===s&&t<r-1&&!this.starts_with_book(a.passages[t+1])&&(a.passages[t+1].absolute_indices[0]=n.absolute_indices[0]),a}get_snap_sequence_i(s,a,e){for(let t=a+1,r=t,n=e,i=t<=n;i?r<n:r>n;i?r++:r--){if(this.starts_with_book(s[r]))return r;if(s[r].valid.valid)return a}return a}starts_with_book(s){return"b"===s.type.substr(0,1)||("range"===s.type||"ff"===s.type)&&"b"===s.start.type.substr(0,1)}remove_absolute_indices(s,a){if(s[a].enclosed_absolute_indices[0]<0)return!1;const[e,t]=Array.from(s[a].enclosed_absolute_indices);for(var r of Array.from(s.slice(a))){if(r.enclosed_absolute_indices[0]!==e||r.enclosed_absolute_indices[1]!==t)break;r.enclosed_absolute_indices=[-1,-1]}return!0}}bcv_parser.initClass(),this.bcv_parser=bcv_parser;class bcv_passage{static initClass(){this.prototype.books=[],this.prototype.indices={},this.prototype.options={},this.prototype.translations={}}handle_array(s,a,e){for(var t of(null==a&&(a=[]),null==e&&(e={}),Array.from(s)))if(null!=t){if("stop"===t.type)break;[a,e]=Array.from(this.handle_obj(t,a,e))}return[a,e]}handle_obj(s,a,e){return null!=s.type&&null!=this[s.type]?this[s.type](s,a,e):[a,e]}b(s,a,e){let t;s.start_context=bcv_utils.shallow_clone(e),s.passages=[];const r=[];for(t of Array.from(this.books[s.value].parsed)){var n=this.validate_ref(s.start_context.translations,{b:t}),i={start:{b:t},end:{b:t},valid:n};0===s.passages.length&&n.valid?s.passages.push(i):r.push(i)}return 0===s.passages.length&&s.passages.push(r.shift()),r.length>0&&(s.passages[0].alternates=r),null!=s.start_context.translations&&(s.passages[0].translations=s.start_context.translations),null==s.absolute_indices&&(s.absolute_indices=this.get_absolute_indices(s.indices)),a.push(s),e={b:s.passages[0].start.b},null!=s.start_context.translations&&(e.translations=s.start_context.translations),[a,e]}b_range(s,a,e){return this.range(s,a,e)}b_range_pre(s,a,e){let t,r;s.start_context=bcv_utils.shallow_clone(e),s.passages=[];const n=this.pluck("b",s.value);t=this.b(n,[],e),[r]=Array.from(t[0]),e=t[1],null==s.absolute_indices&&(s.absolute_indices=this.get_absolute_indices(s.indices));const i={b:s.value[0].value+r.passages[0].start.b.substr(1),type:"b"};return s.passages=[{start:i,end:r.passages[0].end,valid:r.passages[0].valid}],null!=s.start_context.translations&&(s.passages[0].translations=s.start_context.translations),a.push(s),[a,e]}b_range_start(s,a,e){return this.range(s,a,e)}base(s,a,e){return this.indices=this.calculate_indices(s.match,s.start_index),this.handle_array(s.value,a,e)}bc(s,a,e){s.start_context=bcv_utils.shallow_clone(e),s.passages=[],this.reset_context(e,["b","c","v"]);const t=this.pluck("c",s.value).value,r=[];for(var n of Array.from(this.books[this.pluck("b",s.value).value].parsed)){var i="c",x=this.validate_ref(s.start_context.translations,{b:n,c:t}),o={start:{b:n},end:{b:n},valid:x};(x.messages.start_chapter_not_exist_in_single_chapter_book||x.messages.start_chapter_1)&&(o.valid=this.validate_ref(s.start_context.translations,{b:n,v:t}),x.messages.start_chapter_not_exist_in_single_chapter_book&&(o.valid.messages.start_chapter_not_exist_in_single_chapter_book=1),o.start.c=1,o.end.c=1,i="v"),o.start[i]=t,[o.start.c,o.start.v]=Array.from(this.fix_start_zeroes(o.valid,o.start.c,o.start.v)),null==o.start.v&&delete o.start.v,o.end[i]=o.start[i],0===s.passages.length&&o.valid.valid?s.passages.push(o):r.push(o)}return 0===s.passages.length&&s.passages.push(r.shift()),r.length>0&&(s.passages[0].alternates=r),null!=s.start_context.translations&&(s.passages[0].translations=s.start_context.translations),null==s.absolute_indices&&(s.absolute_indices=this.get_absolute_indices(s.indices)),this.set_context_from_object(e,["b","c","v"],s.passages[0].start),a.push(s),[a,e]}bc_title(s,a,e){let t,r;if(s.start_context=bcv_utils.shallow_clone(e),t=this.bc(this.pluck("bc",s.value),[],e),[r]=Array.from(t[0]),e=t[1],"Ps"!==r.passages[0].start.b.substr(0,2)&&null!=r.passages[0].alternates)for(let s=0,a=r.passages[0].alternates.length,e=0<=a;e?s<a:s>a;e?s++:s--)if("Ps"===r.passages[0].alternates[s].start.b.substr(0,2)){r.passages[0]=r.passages[0].alternates[s];break}if("Ps"!==r.passages[0].start.b.substr(0,2))return a.push(r),[a,e];this.books[this.pluck("b",r.value).value].parsed=["Ps"];let n=this.pluck("title",s.value);return null==n&&(n=this.pluck("v",s.value)),s.value[1]={type:"v",value:[{type:"integer",value:1,indices:n.indices}],indices:n.indices},s.type="bcv",this.bcv(s,a,s.start_context)}bcv(s,a,e){s.start_context=bcv_utils.shallow_clone(e),s.passages=[],this.reset_context(e,["b","c","v"]);const t=this.pluck("bc",s.value);let r=this.pluck("c",t.value).value,n=this.pluck("v",s.value).value;const i=[];for(var x of Array.from(this.books[this.pluck("b",t.value).value].parsed)){var o=this.validate_ref(s.start_context.translations,{b:x,c:r,v:n});[r,n]=Array.from(this.fix_start_zeroes(o,r,n));var l={start:{b:x,c:r,v:n},end:{b:x,c:r,v:n},valid:o};0===s.passages.length&&o.valid?s.passages.push(l):i.push(l)}return 0===s.passages.length&&s.passages.push(i.shift()),i.length>0&&(s.passages[0].alternates=i),null!=s.start_context.translations&&(s.passages[0].translations=s.start_context.translations),null==s.absolute_indices&&(s.absolute_indices=this.get_absolute_indices(s.indices)),this.set_context_from_object(e,["b","c","v"],s.passages[0].start),a.push(s),[a,e]}bv(s,a,e){let t;s.start_context=bcv_utils.shallow_clone(e);const[r,n]=Array.from(s.value);let i={indices:s.indices,value:[{type:"bc",value:[r,{type:"c",value:[{type:"integer",value:1}]}]},n]};return t=this.bcv(i,[],e),[i]=Array.from(t[0]),e=t[1],s.passages=i.passages,null==s.absolute_indices&&(s.absolute_indices=this.get_absolute_indices(s.indices)),a.push(s),[a,e]}c(s,a,e){s.start_context=bcv_utils.shallow_clone(e);let t="integer"===s.type?s.value:this.pluck("integer",s.value).value;const r=this.validate_ref(s.start_context.translations,{b:e.b,c:t});return!r.valid&&r.messages.start_chapter_not_exist_in_single_chapter_book?this.v(s,a,e):([t]=Array.from(this.fix_start_zeroes(r,t)),s.passages=[{start:{b:e.b,c:t},end:{b:e.b,c:t},valid:r}],null!=s.start_context.translations&&(s.passages[0].translations=s.start_context.translations),a.push(s),e.c=t,this.reset_context(e,["v"]),null==s.absolute_indices&&(s.absolute_indices=this.get_absolute_indices(s.indices)),[a,e])}c_psalm(s,a,e){s.type="bc";const t=parseInt(this.books[s.value].value.match(/^\d+/)[0],10);return s.value=[{type:"b",value:s.value,indices:s.indices},{type:"c",value:[{type:"integer",value:t,indices:s.indices}],indices:s.indices}],this.bc(s,a,e)}c_title(s,a,e){if(s.start_context=bcv_utils.shallow_clone(e),"Ps"!==e.b)return this.c(s.value[0],a,e);const t=this.pluck("title",s.value);return s.value[1]={type:"v",value:[{type:"integer",value:1,indices:t.indices}],indices:t.indices},s.type="cv",this.cv(s,a,s.start_context)}cv(s,a,e){s.start_context=bcv_utils.shallow_clone(e);let t=this.pluck("c",s.value).value,r=this.pluck("v",s.value).value;const n=this.validate_ref(s.start_context.translations,{b:e.b,c:t,v:r});return[t,r]=Array.from(this.fix_start_zeroes(n,t,r)),s.passages=[{start:{b:e.b,c:t,v:r},end:{b:e.b,c:t,v:r},valid:n}],null!=s.start_context.translations&&(s.passages[0].translations=s.start_context.translations),a.push(s),e.c=t,e.v=r,null==s.absolute_indices&&(s.absolute_indices=this.get_absolute_indices(s.indices)),[a,e]}cb_range(s,a,e){s.type="range";const[t,r,n]=Array.from(s.value);return s.value=[{type:"bc",value:[t,r],indices:s.indices},n],n.indices[1]=s.indices[1],this.range(s,a,e)}context(s,a,e){for(var t of(s.start_context=bcv_utils.shallow_clone(e),s.passages=[],Object.keys(this.books[s.value].context||{})))e[t]=this.books[s.value].context[t];return a.push(s),[a,e]}cv_psalm(s,a,e){s.start_context=bcv_utils.shallow_clone(e),s.type="bcv";const[t,r]=Array.from(s.value),n=this.c_psalm(t,[],s.start_context),[i]=Array.from(n[0]);return s.value=[i,r],this.bcv(s,a,e)}ff(s,a,e){let t;return s.start_context=bcv_utils.shallow_clone(e),s.value.push({type:"integer",indices:s.indices,value:999}),t=this.range(s,[],s.start_context),[s]=Array.from(t[0]),e=t[1],s.value[0].indices=s.value[1].indices,s.value[0].absolute_indices=s.value[1].absolute_indices,s.value.pop(),null!=s.passages[0].valid.messages.end_verse_not_exist&&delete s.passages[0].valid.messages.end_verse_not_exist,null!=s.passages[0].valid.messages.end_chapter_not_exist&&delete s.passages[0].valid.messages.end_chapter_not_exist,null!=s.passages[0].end.original_c&&delete s.passages[0].end.original_c,a.push(s),[a,e]}integer_title(s,a,e){return s.start_context=bcv_utils.shallow_clone(e),"Ps"!==e.b?this.integer(s.value[0],a,e):(s.value[0]={type:"c",value:[s.value[0]],indices:[s.value[0].indices[0],s.value[0].indices[1]]},s.value[1].type="v",s.value[1].original_type="title",s.value[1].value=[{type:"integer",value:1,indices:s.value[1].value.indices}],s.type="cv",this.cv(s,a,s.start_context))}integer(s,a,e){return null!=e.v?this.v(s,a,e):this.c(s,a,e)}next_v(s,a,e){let t,r;s.start_context=bcv_utils.shallow_clone(e);let n=this.pluck_last_recursively("integer",s.value);if(null==n&&(n={value:1}),s.value.push({type:"integer",indices:s.indices,value:n.value+1}),t=this.range(s,[],s.start_context),[r]=Array.from(t[0]),e=t[1],null!=r.passages[0].valid.messages.end_verse_not_exist&&null==r.passages[0].valid.messages.start_verse_not_exist&&null==r.passages[0].valid.messages.start_chapter_not_exist&&null!=e.c){let a;s.value.pop(),s.value.push({type:"cv",indices:s.indices,value:[{type:"c",value:[{type:"integer",value:e.c+1,indices:s.indices}],indices:s.indices},{type:"v",value:[{type:"integer",value:1,indices:s.indices}],indices:s.indices}]}),a=this.range(s,[],s.start_context),[r]=Array.from(a[0]),e=a[1]}return r.value[0].indices=r.value[1].indices,r.value[0].absolute_indices=r.value[1].absolute_indices,r.value.pop(),null!=r.passages[0].valid.messages.end_verse_not_exist&&delete r.passages[0].valid.messages.end_verse_not_exist,null!=r.passages[0].valid.messages.end_chapter_not_exist&&delete r.passages[0].valid.messages.end_chapter_not_exist,null!=r.passages[0].end.original_c&&delete r.passages[0].end.original_c,a.push(r),[a,e]}sequence(s,a,e){for(var t of(s.start_context=bcv_utils.shallow_clone(e),s.passages=[],Array.from(s.value))){var r,n;for(var i of(r=this.handle_array(t,[],e),[n]=Array.from(r[0]),e=r[1],Array.from(n.passages)))null==i.type&&(i.type=n.type),null==i.absolute_indices&&(i.absolute_indices=n.absolute_indices),null!=n.start_context.translations&&(i.translations=n.start_context.translations),i.enclosed_absolute_indices="sequence_post_enclosed"===n.type?n.absolute_indices:[-1,-1],s.passages.push(i)}return null==s.absolute_indices&&(s.passages.length>0&&"sequence"===s.type?s.absolute_indices=[s.passages[0].absolute_indices[0],s.passages[s.passages.length-1].absolute_indices[1]]:s.absolute_indices=this.get_absolute_indices(s.indices)),a.push(s),[a,e]}sequence_post_enclosed(s,a,e){return this.sequence(s,a,e)}v(s,a,e){let t,r="integer"===s.type?s.value:this.pluck("integer",s.value).value;s.start_context=bcv_utils.shallow_clone(e);const n=null!=e.c?e.c:1,i=this.validate_ref(s.start_context.translations,{b:e.b,c:n,v:r});return[t,r]=Array.from(this.fix_start_zeroes(i,0,r)),s.passages=[{start:{b:e.b,c:n,v:r},end:{b:e.b,c:n,v:r},valid:i}],null!=s.start_context.translations&&(s.passages[0].translations=s.start_context.translations),null==s.absolute_indices&&(s.absolute_indices=this.get_absolute_indices(s.indices)),a.push(s),e.v=r,[a,e]}range(s,a,e){let t,r;s.start_context=bcv_utils.shallow_clone(e);let[n,i]=Array.from(s.value);if(t=this.handle_obj(n,[],e),[n]=Array.from(t[0]),e=t[1],"v"===i.type&&("bc"===n.type&&!__guard__(__guard__(__guard__(null!=n.passages?n.passages[0]:void 0,(s=>s.valid)),(s=>s.messages)),(s=>s.start_chapter_not_exist_in_single_chapter_book))||"c"===n.type)&&"verse"===this.options.end_range_digits_strategy)return s.value[0]=n,this.range_change_integer_end(s,a);r=this.handle_obj(i,[],e),[i]=Array.from(r[0]),e=r[1],s.value=[n,i],s.indices=[n.indices[0],i.indices[1]],delete s.absolute_indices;const x={b:n.passages[0].start.b,c:n.passages[0].start.c,v:n.passages[0].start.v,type:n.type},o={b:i.passages[0].end.b,c:i.passages[0].end.c,v:i.passages[0].end.v,type:i.type};i.passages[0].valid.messages.start_chapter_is_zero&&(o.c=0),i.passages[0].valid.messages.start_verse_is_zero&&(o.v=0);const l=this.validate_ref(s.start_context.translations,x,o);if(!l.valid)return this.range_handle_invalid(l,s,n,x,i,o,a);{const[e,t]=Array.from(this.range_handle_valid(l,s,n,x,i,o,a));if(e)return t}return null==s.absolute_indices&&(s.absolute_indices=this.get_absolute_indices(s.indices)),s.passages=[{start:x,end:o,valid:l}],null!=s.start_context.translations&&(s.passages[0].translations=s.start_context.translations),"b"===x.type?"b"===o.type?s.type="b_range":s.type="b_range_start":"b"===o.type&&(s.type="range_end_b"),a.push(s),[a,e]}range_change_end(s,a,e){let t;const[r,n]=Array.from(s.value);return"integer"===n.type?(n.original_value=n.value,n.value=e):"v"===n.type?(t=this.pluck("integer",n.value),t.original_value=t.value,t.value=e):"cv"===n.type&&(t=this.pluck("c",n.value),t.original_value=t.value,t.value=e),this.handle_obj(s,a,s.start_context)}range_change_integer_end(s,a){const[e,t]=Array.from(s.value);return null==s.original_type&&(s.original_type=s.type),null==s.original_value&&(s.original_value=[e,t]),s.type="integer"===e.type?"cv":e.type+"v","integer"===e.type&&(s.value[0]={type:"c",value:[e],indices:e.indices}),"integer"===t.type&&(s.value[1]={type:"v",value:[t],indices:t.indices}),this.handle_obj(s,a,s.start_context)}range_check_new_end(s,a,e,t){let r=0,n=null;if(t.messages.end_chapter_before_start?n="c":t.messages.end_verse_before_start&&(n="v"),null!=n&&(r=this.range_get_new_end_value(a,e,t,n)),r>0){const a={b:e.b,c:e.c,v:e.v};a[n]=r;this.validate_ref(s,a).valid||(r=0)}return r}range_end_b(s,a,e){return this.range(s,a,e)}range_get_new_end_value(s,a,e,t){let r=0;return"c"===t&&e.messages.end_chapter_is_zero||"v"===t&&e.messages.end_verse_is_zero||(s[t]>=10&&a[t]<10&&s[t]-10*Math.floor(s[t]/10)<a[t]?r=a[t]+10*Math.floor(s[t]/10):s[t]>=100&&a[t]<100&&s[t]-100<a[t]&&(r=a[t]+100)),r}range_handle_invalid(s,a,e,t,r,n,i){if(!1===s.valid&&(s.messages.end_chapter_before_start||s.messages.end_verse_before_start)&&("integer"===r.type||"v"===r.type)||!1===s.valid&&s.messages.end_chapter_before_start&&"cv"===r.type){const e=this.range_check_new_end(a.start_context.translations,t,n,s);if(e>0)return this.range_change_end(a,i,e)}if("verse"===this.options.end_range_digits_strategy&&null==t.v&&("integer"===r.type||"v"===r.type)){const s="v"===r.type?this.pluck("integer",r.value):r.value;if(this.validate_ref(a.start_context.translations,{b:t.b,c:t.c,v:s}).valid)return this.range_change_integer_end(a,i)}return null==a.original_type&&(a.original_type=a.type),a.type="sequence",[a.original_value,a.value]=Array.from([[e,r],[[e],[r]]]),this.sequence(a,i,a.start_context)}range_handle_valid(s,a,e,t,r,n,i){if(s.messages.end_chapter_not_exist&&"verse"===this.options.end_range_digits_strategy&&null==t.v&&("integer"===r.type||"v"===r.type)&&this.options.passage_existence_strategy.indexOf("v")>=0){const s="v"===r.type?this.pluck("integer",r.value):r.value;if(this.validate_ref(a.start_context.translations,{b:t.b,c:t.c,v:s}).valid)return[!0,this.range_change_integer_end(a,i)]}return this.range_validate(s,t,n,a),[!1,null]}range_validate(s,a,e,t){return s.messages.end_chapter_not_exist||s.messages.end_chapter_not_exist_in_single_chapter_book?(e.original_c=e.c,e.c=s.messages.end_chapter_not_exist?s.messages.end_chapter_not_exist:s.messages.end_chapter_not_exist_in_single_chapter_book,null!=e.v&&(e.v=this.validate_ref(t.start_context.translations,{b:e.b,c:e.c,v:999}).messages.end_verse_not_exist,delete s.messages.end_verse_is_zero)):s.messages.end_verse_not_exist&&(e.original_v=e.v,e.v=s.messages.end_verse_not_exist),s.messages.end_verse_is_zero&&"allow"!==this.options.zero_verse_strategy&&(e.v=s.messages.end_verse_is_zero),s.messages.end_chapter_is_zero&&(e.c=s.messages.end_chapter_is_zero),[a.c,a.v]=Array.from(this.fix_start_zeroes(s,a.c,a.v)),!0}translation_sequence(s,a,e){s.start_context=bcv_utils.shallow_clone(e);const t=[];for(var r of(t.push({translation:this.books[s.value[0].value].parsed}),Array.from(s.value[1])))null!=(r=this.books[this.pluck("translation",r).value].parsed)&&t.push({translation:r});for(var n of Array.from(t))null!=this.translations.aliases[n.translation]?(n.alias=this.translations.aliases[n.translation].alias,n.osis=this.translations.aliases[n.translation].osis||n.translation.toUpperCase()):(n.alias="default",n.osis=n.translation.toUpperCase());return a.length>0&&(e=this.translation_sequence_apply(a,t)),null==s.absolute_indices&&(s.absolute_indices=this.get_absolute_indices(s.indices)),a.push(s),this.reset_context(e,["translations"]),[a,e]}translation_sequence_apply(s,a){let e,t=0;for(let a=s.length-1,e=a,r=a<=0;r?e<=0:e>=0;r?e++:e--)if(null!=s[e].original_type&&(s[e].type=s[e].original_type),null!=s[e].original_value&&(s[e].value=s[e].original_value),"translation_sequence"===s[e].type){t=e+1;break}if(t<s.length){let r;s[t].start_context.translations=a,[r,e]=Array.from(this.handle_array(s.slice(t),[],s[t].start_context))}else e=bcv_utils.shallow_clone(s[s.length-1].start_context);return e}pluck(s,a){for(var e of Array.from(a))if(null!=e&&null!=e.type&&e.type===s)return"c"===s||"v"===s?this.pluck("integer",e.value):e;return null}pluck_last_recursively(s,a){for(let r=a.length-1;r>=0;r--){var e=a[r];if(null!=e&&null!=e.type){if(e.type===s)return this.pluck(s,[e]);var t=this.pluck_last_recursively(s,e.value);if(null!=t)return t}}return null}set_context_from_object(s,a,e){return(()=>{const t=[];for(var r of Array.from(a))null!=e[r]&&t.push(s[r]=e[r]);return t})()}reset_context(s,a){return Array.from(a).map((a=>delete s[a]))}fix_start_zeroes(s,a,e){return s.messages.start_chapter_is_zero&&"upgrade"===this.options.zero_chapter_strategy&&(a=s.messages.start_chapter_is_zero),s.messages.start_verse_is_zero&&"upgrade"===this.options.zero_verse_strategy&&(e=s.messages.start_verse_is_zero),[a,e]}calculate_indices(s,a){let e,t="book";const r=[];let n=0;a=parseInt(a,10);let i=[s];for(var x of["",""]){var o=[];for(e of Array.from(i))o=o.concat(e.split(x));i=o}for(e of Array.from(i)){var l;t="book"===t?"rest":"book";var u=e.length;0!==u&&("book"===t?(e=e.replace(/\/\d+$/,""),l=n+u,r.length>0&&r[r.length-1].index===a?r[r.length-1].end=l:r.push({start:n,end:l,index:a}),n+=u+2,a=this.books[e].start_index+this.books[e].value.length-n,r.push({start:l+1,end:l+1,index:a})):(l=n+u-1,r.length>0&&r[r.length-1].index===a?r[r.length-1].end=l:r.push({start:n,end:l,index:a}),n+=u))}return r}get_absolute_indices(...s){const[a,e]=Array.from(s[0]);let t=null,r=null;for(var n of Array.from(this.indices))if(null===t&&n.start<=a&&a<=n.end&&(t=a+n.index),n.start<=e&&e<=n.end){r=e+n.index+1;break}return[t,r]}validate_ref(s,a,e){null!=s&&s.length>0||(s=[{translation:"default",osis:"",alias:"default"}]);let t=!1;const r={};for(var n of Array.from(s))if(null==n.alias&&(n.alias="default"),null!=n.alias){null==this.translations.aliases[n.alias]&&(n.alias="default",null==r.translation_unknown&&(r.translation_unknown=[]),r.translation_unknown.push(n));var[i]=Array.from(this.validate_start_ref(n.alias,a,r));e&&([i]=Array.from(this.validate_end_ref(n.alias,a,e,i,r))),!0===i&&(t=!0)}else null==r.translation_invalid&&(r.translation_invalid=[]),r.translation_invalid.push(n);return{valid:t,messages:r}}validate_start_ref(s,a,e){let t=!0;"default"!==s&&null==(null!=this.translations[s]?this.translations[s].chapters[a.b]:void 0)&&this.promote_book_to_translation(a.b,s);const r=null!=(null!=this.translations[s]?this.translations[s].order:void 0)?s:"default";if(null!=a.v&&(a.v=parseInt(a.v,10)),null!=this.translations[r].order[a.b]){if(null==a.c&&(a.c=1),a.c=parseInt(a.c,10),isNaN(a.c))return t=!1,e.start_chapter_not_numeric=!0,[t,e];0===a.c&&(e.start_chapter_is_zero=1,"error"===this.options.zero_chapter_strategy?t=!1:a.c=1),null!=a.v&&0===a.v&&(e.start_verse_is_zero=1,"error"===this.options.zero_verse_strategy?t=!1:"upgrade"===this.options.zero_verse_strategy&&(a.v=1)),a.c>0&&null!=this.translations[s].chapters[a.b][a.c-1]?null!=a.v?isNaN(a.v)?(t=!1,e.start_verse_not_numeric=!0):a.v>this.translations[s].chapters[a.b][a.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0&&(t=!1,e.start_verse_not_exist=this.translations[s].chapters[a.b][a.c-1]):1===a.c&&"verse"===this.options.single_chapter_1_strategy&&1===this.translations[s].chapters[a.b].length&&(e.start_chapter_1=1):1!==a.c&&1===this.translations[s].chapters[a.b].length?(t=!1,e.start_chapter_not_exist_in_single_chapter_book=1):a.c>0&&this.options.passage_existence_strategy.indexOf("c")>=0&&(t=!1,e.start_chapter_not_exist=this.translations[s].chapters[a.b].length)}else null==a.b?(t=!1,e.start_book_not_defined=!0):(this.options.passage_existence_strategy.indexOf("b")>=0&&(t=!1),e.start_book_not_exist=!0);return[t,e]}validate_end_ref(s,a,e,t,r){const n=null!=(null!=this.translations[s]?this.translations[s].order:void 0)?s:"default";return null!=e.c&&(e.c=parseInt(e.c,10),isNaN(e.c)?(t=!1,r.end_chapter_not_numeric=!0):0===e.c&&(r.end_chapter_is_zero=1,"error"===this.options.zero_chapter_strategy?t=!1:e.c=1)),null!=e.v&&(e.v=parseInt(e.v,10),isNaN(e.v)?(t=!1,r.end_verse_not_numeric=!0):0===e.v&&(r.end_verse_is_zero=1,"error"===this.options.zero_verse_strategy?t=!1:"upgrade"===this.options.zero_verse_strategy&&(e.v=1))),null!=this.translations[n].order[e.b]?(null==e.c&&1===this.translations[s].chapters[e.b].length&&(e.c=1),null!=this.translations[n].order[a.b]&&this.translations[n].order[a.b]>this.translations[n].order[e.b]&&(this.options.passage_existence_strategy.indexOf("b")>=0&&(t=!1),r.end_book_before_start=!0),a.b!==e.b||null==e.c||isNaN(e.c)||(null==a.c&&(a.c=1),!isNaN(parseInt(a.c,10))&&a.c>e.c?(t=!1,r.end_chapter_before_start=!0):a.c!==e.c||null==e.v||isNaN(e.v)||(null==a.v&&(a.v=1),!isNaN(parseInt(a.v,10))&&a.v>e.v&&(t=!1,r.end_verse_before_start=!0))),null==e.c||isNaN(e.c)||null==this.translations[s].chapters[e.b][e.c-1]&&(1===this.translations[s].chapters[e.b].length?r.end_chapter_not_exist_in_single_chapter_book=1:e.c>0&&this.options.passage_existence_strategy.indexOf("c")>=0&&(r.end_chapter_not_exist=this.translations[s].chapters[e.b].length)),null==e.v||isNaN(e.v)||(null==e.c&&(e.c=this.translations[s].chapters[e.b].length),e.v>this.translations[s].chapters[e.b][e.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0&&(r.end_verse_not_exist=this.translations[s].chapters[e.b][e.c-1]))):(t=!1,r.end_book_not_exist=!0),[t,r]}promote_book_to_translation(s,a){if(null==this.translations[a]&&(this.translations[a]={}),null==this.translations[a].chapters&&(this.translations[a].chapters={}),null==this.translations[a].chapters[s])return this.translations[a].chapters[s]=bcv_utils.shallow_clone_array(this.translations.default.chapters[s])}}function __guard__(s,a){return null!=s?a(s):void 0}bcv_passage.initClass();const bcv_utils={shallow_clone(s){if(null==s)return s;const a={};for(const e of Object.keys(s||{})){const t=s[e];a[e]=t}return a},shallow_clone_array(s){if(null==s)return s;const a=[];for(let e=0,t=s.length,r=0<=t;r?e<=t:e>=t;r?e++:e--)void 0!==s[e]&&(a[e]=s[e]);return a}};bcv_parser.prototype.regexps.translations=RegExp("(?:(?:ERV))\\b","gi"),bcv_parser.prototype.translations={aliases:{default:{osis:"",alias:"default"}},alternates:{},default:{order:{Gen:1,Exod:2,Lev:3,Num:4,Deut:5,Josh:6,Judg:7,Ruth:8,"1Sam":9,"2Sam":10,"1Kgs":11,"2Kgs":12,"1Chr":13,"2Chr":14,Ezra:15,Neh:16,Esth:17,Job:18,Ps:19,Prov:20,Eccl:21,Song:22,Isa:23,Jer:24,Lam:25,Ezek:26,Dan:27,Hos:28,Joel:29,Amos:30,Obad:31,Jonah:32,Mic:33,Nah:34,Hab:35,Zeph:36,Hag:37,Zech:38,Mal:39,Matt:40,Mark:41,Luke:42,John:43,Acts:44,Rom:45,"1Cor":46,"2Cor":47,Gal:48,Eph:49,Phil:50,Col:51,"1Thess":52,"2Thess":53,"1Tim":54,"2Tim":55,Titus:56,Phlm:57,Heb:58,Jas:59,"1Pet":60,"2Pet":61,"1John":62,"2John":63,"3John":64,Jude:65,Rev:66,Tob:67,Jdt:68,GkEsth:69,Wis:70,Sir:71,Bar:72,PrAzar:73,Sus:74,Bel:75,SgThree:76,EpJer:77,"1Macc":78,"2Macc":79,"3Macc":80,"4Macc":81,"1Esd":82,"2Esd":83,PrMan:84},chapters:{Gen:[31,25,24,26,32,22,24,22,29,32,32,20,18,24,21,16,27,33,38,18,34,24,20,67,34,35,46,22,35,43,55,32,20,31,29,43,36,30,23,23,57,38,34,34,28,34,31,22,33,26],Exod:[22,25,22,31,23,30,25,32,35,29,10,51,22,31,27,36,16,27,25,26,36,31,33,18,40,37,21,43,46,38,18,35,23,35,35,38,29,31,43,38],Lev:[17,16,17,35,19,30,38,36,24,20,47,8,59,57,33,34,16,30,37,27,24,33,44,23,55,46,34],Num:[54,34,51,49,31,27,89,26,23,36,35,16,33,45,41,50,13,32,22,29,35,41,30,25,18,65,23,31,40,16,54,42,56,29,34,13],Deut:[46,37,29,49,33,25,26,20,29,22,32,32,18,29,23,22,20,22,21,20,23,30,25,22,19,19,26,68,29,20,30,52,29,12],Josh:[18,24,17,24,15,27,26,35,27,43,23,24,33,15,63,10,18,28,51,9,45,34,16,33],Judg:[36,23,31,24,31,40,25,35,57,18,40,15,25,20,20,31,13,31,30,48,25],Ruth:[22,23,18,22],"1Sam":[28,36,21,22,12,21,17,22,27,27,15,25,23,52,35,23,58,30,24,42,15,23,29,22,44,25,12,25,11,31,13],"2Sam":[27,32,39,12,25,23,29,18,13,19,27,31,39,33,37,23,29,33,43,26,22,51,39,25],"1Kgs":[53,46,28,34,18,38,51,66,28,29,43,33,34,31,34,34,24,46,21,43,29,53],"2Kgs":[18,25,27,44,27,33,20,29,37,36,21,21,25,29,38,20,41,37,37,21,26,20,37,20,30],"1Chr":[54,55,24,43,26,81,40,40,44,14,47,40,14,17,29,43,27,17,19,8,30,19,32,31,31,32,34,21,30],"2Chr":[17,18,17,22,14,42,22,18,31,19,23,16,22,15,19,14,19,34,11,37,20,12,21,27,28,23,9,27,36,27,21,33,25,33,27,23],Ezra:[11,70,13,24,17,22,28,36,15,44],Neh:[11,20,32,23,19,19,73,18,38,39,36,47,31],Esth:[22,23,15,17,14,14,10,17,32,3],Job:[22,13,26,21,27,30,21,22,35,22,20,25,28,22,35,22,16,21,29,29,34,30,17,25,6,14,23,28,25,31,40,22,33,37,16,33,24,41,30,24,34,17],Ps:[6,12,8,8,12,10,17,9,20,18,7,8,6,7,5,11,15,50,14,9,13,31,6,10,22,12,14,9,11,12,24,11,22,22,28,12,40,22,13,17,13,11,5,26,17,11,9,14,20,23,19,9,6,7,23,13,11,11,17,12,8,12,11,10,13,20,7,35,36,5,24,20,28,23,10,12,20,72,13,19,16,8,18,12,13,17,7,18,52,17,16,15,5,23,11,13,12,9,9,5,8,28,22,35,45,48,43,13,31,7,10,10,9,8,18,19,2,29,176,7,8,9,4,8,5,6,5,6,8,8,3,18,3,3,21,26,9,8,24,13,10,7,12,15,21,10,20,14,9,6],Prov:[33,22,35,27,23,35,27,36,18,32,31,28,25,35,33,33,28,24,29,30,31,29,35,34,28,28,27,28,27,33,31],Eccl:[18,26,22,16,20,12,29,17,18,20,10,14],Song:[17,17,11,16,16,13,13,14],Isa:[31,22,26,6,30,13,25,22,21,34,16,6,22,32,9,14,14,7,25,6,17,25,18,23,12,21,13,29,24,33,9,20,24,17,10,22,38,22,8,31,29,25,28,28,25,13,15,22,26,11,23,15,12,17,13,12,21,14,21,22,11,12,19,12,25,24],Jer:[19,37,25,31,31,30,34,22,26,25,23,17,27,22,21,21,27,23,15,18,14,30,40,10,38,24,22,17,32,24,40,44,26,22,19,32,21,28,18,16,18,22,13,30,5,28,7,47,39,46,64,34],Lam:[22,22,66,22,22],Ezek:[28,10,27,17,17,14,27,18,11,22,25,28,23,23,8,63,24,32,14,49,32,31,49,27,17,21,36,26,21,26,18,32,33,31,15,38,28,23,29,49,26,20,27,31,25,24,23,35],Dan:[21,49,30,37,31,28,28,27,27,21,45,13],Hos:[11,23,5,19,15,11,16,14,17,15,12,14,16,9],Joel:[20,32,21],Amos:[15,16,15,13,27,14,17,14,15],Obad:[21],Jonah:[17,10,10,11],Mic:[16,13,12,13,15,16,20],Nah:[15,13,19],Hab:[17,20,19],Zeph:[18,15,20],Hag:[15,23],Zech:[21,13,10,14,11,15,14,23,17,12,17,14,9,21],Mal:[14,17,18,6],Matt:[25,23,17,25,48,34,29,34,38,42,30,50,58,36,39,28,27,35,30,34,46,46,39,51,46,75,66,20],Mark:[45,28,35,41,43,56,37,38,50,52,33,44,37,72,47,20],Luke:[80,52,38,44,39,49,50,56,62,42,54,59,35,35,32,31,37,43,48,47,38,71,56,53],John:[51,25,36,54,47,71,53,59,41,42,57,50,38,31,27,33,26,40,42,31,25],Acts:[26,47,26,37,42,15,60,40,43,48,30,25,52,28,41,40,34,28,41,38,40,30,35,27,27,32,44,31],Rom:[32,29,31,25,21,23,25,39,33,21,36,21,14,23,33,27],"1Cor":[31,16,23,21,13,20,40,13,27,33,34,31,13,40,58,24],"2Cor":[24,17,18,18,21,18,16,24,15,18,33,21,14],Gal:[24,21,29,31,26,18],Eph:[23,22,21,32,33,24],Phil:[30,30,21,23],Col:[29,23,25,18],"1Thess":[10,20,13,18,28],"2Thess":[12,17,18],"1Tim":[20,15,16,16,25,21],"2Tim":[18,26,17,22],Titus:[16,15,15],Phlm:[25],Heb:[14,18,19,16,14,20,28,13,28,39,40,29,25],Jas:[27,26,18,17,20],"1Pet":[25,25,22,19,14],"2Pet":[21,22,18],"1John":[10,29,24,21,21],"2John":[13],"3John":[15],Jude:[25],Rev:[20,29,22,11,14,17,17,13,21,11,19,17,18,20,8,21,18,24,21,15,27,21],Tob:[22,14,17,21,22,18,16,21,6,13,18,22,17,15],Jdt:[16,28,10,15,24,21,32,36,14,23,23,20,20,19,14,25],GkEsth:[22,23,15,17,14,14,10,17,32,13,12,6,18,19,16,24],Wis:[16,24,19,20,23,25,30,21,18,21,26,27,19,31,19,29,21,25,22],Sir:[30,18,31,31,15,37,36,19,18,31,34,18,26,27,20,30,32,33,30,31,28,27,27,34,26,29,30,26,28,25,31,24,33,31,26,31,31,34,35,30,22,25,33,23,26,20,25,25,16,29,30],Bar:[22,35,37,37,9],PrAzar:[68],Sus:[64],Bel:[42],SgThree:[39],EpJer:[73],"1Macc":[64,70,60,61,68,63,50,32,73,89,74,53,53,49,41,24],"2Macc":[36,32,40,50,27,31,42,36,29,38,38,45,26,46,39],"3Macc":[29,33,30,21,51,41,23],"4Macc":[35,24,21,26,38,35,23,29,32,21,27,19,27,20,32,25,24,24],"1Esd":[58,30,24,63,73,34,15,96,55],"2Esd":[40,48,36,52,56,59,70,63,47,59,46,51,58,48,63,78],PrMan:[15],Ps151:[7]}},vulgate:{chapters:{Gen:[31,25,24,26,32,22,24,22,29,32,32,20,18,24,21,16,27,33,38,18,34,24,20,67,34,35,46,22,35,43,55,32,20,31,29,43,36,30,23,23,57,38,34,34,28,34,31,22,32,25],Exod:[22,25,22,31,23,30,25,32,35,29,10,51,22,31,27,36,16,27,25,26,36,31,33,18,40,37,21,43,46,38,18,35,23,35,35,38,29,31,43,36],Lev:[17,16,17,35,19,30,38,36,24,20,47,8,59,57,33,34,16,30,37,27,24,33,44,23,55,45,34],Num:[54,34,51,49,31,27,89,26,23,36,34,15,34,45,41,50,13,32,22,30,35,41,30,25,18,65,23,31,39,17,54,42,56,29,34,13],Josh:[18,24,17,25,16,27,26,35,27,44,23,24,33,15,63,10,18,28,51,9,43,34,16,33],Judg:[36,23,31,24,32,40,25,35,57,18,40,15,25,20,20,31,13,31,30,48,24],"1Sam":[28,36,21,22,12,21,17,22,27,27,15,25,23,52,35,23,58,30,24,43,15,23,28,23,44,25,12,25,11,31,13],"1Kgs":[53,46,28,34,18,38,51,66,28,29,43,33,34,31,34,34,24,46,21,43,29,54],"1Chr":[54,55,24,43,26,81,40,40,44,14,46,40,14,17,29,43,27,17,19,7,30,19,32,31,31,32,34,21,30],Neh:[11,20,31,23,19,19,73,18,38,39,36,46,31],Job:[22,13,26,21,27,30,21,22,35,22,20,25,28,22,35,23,16,21,29,29,34,30,17,25,6,14,23,28,25,31,40,22,33,37,16,33,24,41,35,28,25,16],Ps:[6,13,9,10,13,11,18,10,39,8,9,6,7,5,10,15,51,15,10,14,32,6,10,22,12,14,9,11,13,25,11,22,23,28,13,40,23,14,18,14,12,5,26,18,12,10,15,21,23,21,11,7,9,24,13,12,12,18,14,9,13,12,11,14,20,8,36,37,6,24,20,28,23,11,13,21,72,13,20,17,8,19,13,14,17,7,19,53,17,16,16,5,23,11,13,12,9,9,5,8,29,22,35,45,48,43,14,31,7,10,10,9,26,9,10,2,29,176,7,8,9,4,8,5,6,5,6,8,8,3,18,3,3,21,26,9,8,24,14,10,8,12,15,21,10,11,9,14,9,6],Eccl:[18,26,22,17,19,11,30,17,18,20,10,14],Song:[16,17,11,16,17,12,13,14],Jer:[19,37,25,31,31,30,34,22,26,25,23,17,27,22,21,21,27,23,15,18,14,30,40,10,38,24,22,17,32,24,40,44,26,22,19,32,20,28,18,16,18,22,13,30,5,28,7,47,39,46,64,34],Ezek:[28,9,27,17,17,14,27,18,11,22,25,28,23,23,8,63,24,32,14,49,32,31,49,27,17,21,36,26,21,26,18,32,33,31,15,38,28,23,29,49,26,20,27,31,25,24,23,35],Dan:[21,49,100,34,31,28,28,27,27,21,45,13,65,42],Hos:[11,24,5,19,15,11,16,14,17,15,12,14,15,10],Amos:[15,16,15,13,27,15,17,14,14],Jonah:[16,11,10,11],Mic:[16,13,12,13,14,16,20],Hag:[14,24],Matt:[25,23,17,25,48,34,29,34,38,42,30,50,58,36,39,28,26,35,30,34,46,46,39,51,46,75,66,20],Mark:[45,28,35,40,43,56,37,39,49,52,33,44,37,72,47,20],John:[51,25,36,54,47,72,53,59,41,42,57,50,38,31,27,33,26,40,42,31,25],Acts:[26,47,26,37,42,15,59,40,43,48,30,25,52,27,41,40,34,28,40,38,40,30,35,27,27,32,44,31],"2Cor":[24,17,18,18,21,18,16,24,15,18,33,21,13],Rev:[20,29,22,11,14,17,17,13,21,11,19,18,18,20,8,21,18,24,21,15,27,21],Tob:[25,23,25,23,28,22,20,24,12,13,21,22,23,17],Jdt:[12,18,15,17,29,21,25,34,19,20,21,20,31,18,15,31],Wis:[16,25,19,20,24,27,30,21,19,21,27,27,19,31,19,29,20,25,20],Sir:[40,23,34,36,18,37,40,22,25,34,36,19,32,27,22,31,31,33,28,33,31,33,38,47,36,28,33,30,35,27,42,28,33,31,26,28,34,39,41,32,28,26,37,27,31,23,31,28,19,31,38,13],Bar:[22,35,38,37,9,72],"1Macc":[67,70,60,61,68,63,50,32,73,89,74,54,54,49,41,24],"2Macc":[36,33,40,50,27,31,42,36,29,38,38,46,26,46,40]}},ceb:{chapters:{"2Cor":[24,17,18,18,21,18,16,24,15,18,33,21,13],Rev:[20,29,22,11,14,17,17,13,21,11,19,18,18,20,8,21,18,24,21,15,27,21],Tob:[22,14,17,21,22,18,16,21,6,13,18,22,18,15],PrAzar:[67],EpJer:[72],"1Esd":[55,26,24,63,71,33,15,92,55]}},kjv:{chapters:{"3John":[14]}},nab:{order:{Gen:1,Exod:2,Lev:3,Num:4,Deut:5,Josh:6,Judg:7,Ruth:8,"1Sam":9,"2Sam":10,"1Kgs":11,"2Kgs":12,"1Chr":13,"2Chr":14,PrMan:15,Ezra:16,Neh:17,"1Esd":18,"2Esd":19,Tob:20,Jdt:21,Esth:22,GkEsth:23,"1Macc":24,"2Macc":25,"3Macc":26,"4Macc":27,Job:28,Ps:29,Prov:30,Eccl:31,Song:32,Wis:33,Sir:34,Isa:35,Jer:36,Lam:37,Bar:38,EpJer:39,Ezek:40,Dan:41,PrAzar:42,Sus:43,Bel:44,SgThree:45,Hos:46,Joel:47,Amos:48,Obad:49,Jonah:50,Mic:51,Nah:52,Hab:53,Zeph:54,Hag:55,Zech:56,Mal:57,Matt:58,Mark:59,Luke:60,John:61,Acts:62,Rom:63,"1Cor":64,"2Cor":65,Gal:66,Eph:67,Phil:68,Col:69,"1Thess":70,"2Thess":71,"1Tim":72,"2Tim":73,Titus:74,Phlm:75,Heb:76,Jas:77,"1Pet":78,"2Pet":79,"1John":80,"2John":81,"3John":82,Jude:83,Rev:84},chapters:{Gen:[31,25,24,26,32,22,24,22,29,32,32,20,18,24,21,16,27,33,38,18,34,24,20,67,34,35,46,22,35,43,54,33,20,31,29,43,36,30,23,23,57,38,34,34,28,34,31,22,33,26],Exod:[22,25,22,31,23,30,29,28,35,29,10,51,22,31,27,36,16,27,25,26,37,30,33,18,40,37,21,43,46,38,18,35,23,35,35,38,29,31,43,38],Lev:[17,16,17,35,26,23,38,36,24,20,47,8,59,57,33,34,16,30,37,27,24,33,44,23,55,46,34],Num:[54,34,51,49,31,27,89,26,23,36,35,16,33,45,41,35,28,32,22,29,35,41,30,25,19,65,23,31,39,17,54,42,56,29,34,13],Deut:[46,37,29,49,33,25,26,20,29,22,32,31,19,29,23,22,20,22,21,20,23,29,26,22,19,19,26,69,28,20,30,52,29,12],"1Sam":[28,36,21,22,12,21,17,22,27,27,15,25,23,52,35,23,58,30,24,42,16,23,28,23,44,25,12,25,11,31,13],"2Sam":[27,32,39,12,25,23,29,18,13,19,27,31,39,33,37,23,29,32,44,26,22,51,39,25],"1Kgs":[53,46,28,20,32,38,51,66,28,29,43,33,34,31,34,34,24,46,21,43,29,54],"2Kgs":[18,25,27,44,27,33,20,29,37,36,20,22,25,29,38,20,41,37,37,21,26,20,37,20,30],"1Chr":[54,55,24,43,41,66,40,40,44,14,47,41,14,17,29,43,27,17,19,8,30,19,32,31,31,32,34,21,30],"2Chr":[18,17,17,22,14,42,22,18,31,19,23,16,23,14,19,14,19,34,11,37,20,12,21,27,28,23,9,27,36,27,21,33,25,33,27,23],Neh:[11,20,38,17,19,19,72,18,37,40,36,47,31],Job:[22,13,26,21,27,30,21,22,35,22,20,25,28,22,35,22,16,21,29,29,34,30,17,25,6,14,23,28,25,31,40,22,33,37,16,33,24,41,30,32,26,17],Ps:[6,11,9,9,13,11,18,10,21,18,7,9,6,7,5,11,15,51,15,10,14,32,6,10,22,12,14,9,11,13,25,11,22,23,28,13,40,23,14,18,14,12,5,27,18,12,10,15,21,23,21,11,7,9,24,14,12,12,18,14,9,13,12,11,14,20,8,36,37,6,24,20,28,23,11,13,21,72,13,20,17,8,19,13,14,17,7,19,53,17,16,16,5,23,11,13,12,9,9,5,8,29,22,35,45,48,43,14,31,7,10,10,9,8,18,19,2,29,176,7,8,9,4,8,5,6,5,6,8,8,3,18,3,3,21,26,9,8,24,14,10,8,12,15,21,10,20,14,9,6],Eccl:[18,26,22,17,19,12,29,17,18,20,10,14],Song:[17,17,11,16,16,12,14,14],Isa:[31,22,26,6,30,13,25,23,20,34,16,6,22,32,9,14,14,7,25,6,17,25,18,23,12,21,13,29,24,33,9,20,24,17,10,22,38,22,8,31,29,25,28,28,25,13,15,22,26,11,23,15,12,17,13,12,21,14,21,22,11,12,19,11,25,24],Jer:[19,37,25,31,31,30,34,23,25,25,23,17,27,22,21,21,27,23,15,18,14,30,40,10,38,24,22,17,32,24,40,44,26,22,19,32,21,28,18,16,18,22,13,30,5,28,7,47,39,46,64,34],Ezek:[28,10,27,17,17,14,27,18,11,22,25,28,23,23,8,63,24,32,14,44,37,31,49,27,17,21,36,26,21,26,18,32,33,31,15,38,28,23,29,49,26,20,27,31,25,24,23,35],Dan:[21,49,100,34,30,29,28,27,27,21,45,13,64,42],Hos:[9,25,5,19,15,11,16,14,17,15,11,15,15,10],Joel:[20,27,5,21],Jonah:[16,11,10,11],Mic:[16,13,12,14,14,16,20],Nah:[14,14,19],Zech:[17,17,10,14,11,15,14,23,17,12,17,14,9,21],Mal:[14,17,24],Acts:[26,47,26,37,42,15,60,40,43,49,30,25,52,28,41,40,34,28,40,38,40,30,35,27,27,32,44,31],"2Cor":[24,17,18,18,21,18,16,24,15,18,33,21,13],Rev:[20,29,22,11,14,17,17,13,21,11,19,18,18,20,8,21,18,24,21,15,27,21],Tob:[22,14,17,21,22,18,17,21,6,13,18,22,18,15],Sir:[30,18,31,31,15,37,36,19,18,31,34,18,26,27,20,30,32,33,30,31,28,27,27,33,26,29,30,26,28,25,31,24,33,31,26,31,31,34,35,30,22,25,33,23,26,20,25,25,16,29,30],Bar:[22,35,38,37,9,72],"2Macc":[36,32,40,50,27,31,42,36,29,38,38,46,26,46,39]}},nlt:{chapters:{Rev:[20,29,22,11,14,17,17,13,21,11,19,18,18,20,8,21,18,24,21,15,27,21]}},nrsv:{chapters:{"2Cor":[24,17,18,18,21,18,16,24,15,18,33,21,13],Rev:[20,29,22,11,14,17,17,13,21,11,19,18,18,20,8,21,18,24,21,15,27,21]}}},bcv_parser.prototype.languages=["uk"];const heregex=s=>{let a="",e=!1,t=!1;for(let r=0;r<s.length;r++){const n=s[r];if(t)a+=n,t=!1;else if("\\"!==n)if(e||"["!==n)if(e&&"]"===n)e=!1,a+=n;else if(e||"#"!==n)!e&&/\s/.test(n)||(a+=n);else for(;r<s.length&&"\n"!==s[r];)r+=1;else e=!0,a+=n;else a+=n,t=!0}return a};var grammar;bcv_parser.prototype.regexps.space="[\\s\\xa0]",bcv_parser.prototype.regexps.escaped_passage=RegExp(heregex(String.raw`
2
2
  (?:^ | [^\x1f\x1e\dA-Za-zªµºÀ-ÖØ-öø-ɏЀ-ҁ҃-҇Ҋ-ԧḀ-ỿⱠ-Ɀⷠ-ⷿꙀ-꙯ꙴ-꙽ꙿ-ꚗꚟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ] ) # Beginning of string or not in the middle of a word or immediately following another book. Only count a book if it's part of a sequence: \`Matt5John3\` is OK, but not \`1Matt5John3\`
3
3
  (
4
4
  # Start inverted book/chapter (cb)
@@ -197,4 +197,4 @@ const root=this;class bcv_parser{static initClass(){this.prototype.s="",this.pro
197
197
  (?:Вар(?:уха)?|Bar)
198
198
  )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)\uff08\uff09\[\]/"'\*=~\-\u2013\u2014])|$)`),"gi")},{osis:["Sus"],apocrypha:!0,regexp:RegExp(heregex(String.raw`(^|${bcv_parser.prototype.regexps.pre_book})(
199
199
  (?:Сус(?:анна)?|Sus)
200
- )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)\uff08\uff09\[\]/"'\*=~\-\u2013\u2014])|$)`),"gi")}];if(!0===s&&"none"===a)return e;const t=[];for(const r of e)!1===s&&null!=r.apocrypha&&!0===r.apocrypha||("books"===a&&(r.regexp=new RegExp(r.regexp.source,"g")),t.push(r));return t},bcv_parser.prototype.regexps.books=bcv_parser.prototype.regexps.get_books(!1,"none"),function(){"use strict";function s(a,e,t,r){var n=Error.call(this,a);return Object.setPrototypeOf&&Object.setPrototypeOf(n,s.prototype),n.expected=e,n.found=t,n.location=r,n.name="SyntaxError",n}function a(s,a,e){return e=e||" ",s.length>a?s:(a-=s.length,s+(e+=e.repeat(a)).slice(0,a))}!function(s,a){function e(){this.constructor=s}e.prototype=a.prototype,s.prototype=new e}(s,Error),s.prototype.format=function(s){var e="Error: "+this.message;if(this.location){var t,r=null;for(t=0;t<s.length;t++)if(s[t].source===this.location.source){r=s[t].text.split(/\r\n|\n|\r/g);break}var n=this.location.start,i=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(n):n,x=this.location.source+":"+i.line+":"+i.column;if(r){var o=this.location.end,l=a("",i.line.toString().length," "),u=r[n.line-1],c=(n.line===o.line?o.column:u.length+1)-n.column||1;e+="\n --\x3e "+x+"\n"+l+" |\n"+i.line+" | "+u+"\n"+l+" | "+a("",n.column-1," ")+a("",c,"^")}else e+="\n at "+x}return e},s.buildMessage=function(s,a){var e={literal:function(s){return'"'+r(s.text)+'"'},class:function(s){var a=s.parts.map((function(s){return Array.isArray(s)?n(s[0])+"-"+n(s[1]):n(s)}));return"["+(s.inverted?"^":"")+a.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(s){return s.description}};function t(s){return s.charCodeAt(0).toString(16).toUpperCase()}function r(s){return s.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(s){return"\\x0"+t(s)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(s){return"\\x"+t(s)}))}function n(s){return s.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(s){return"\\x0"+t(s)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(s){return"\\x"+t(s)}))}function i(s){return e[s.type](s)}return"Expected "+function(s){var a,e,t=s.map(i);if(t.sort(),t.length>0){for(a=1,e=1;a<t.length;a++)t[a-1]!==t[a]&&(t[e]=t[a],e++);t.length=e}switch(t.length){case 1:return t[0];case 2:return t[0]+" or "+t[1];default:return t.slice(0,-1).join(", ")+", or "+t[t.length-1]}}(s)+" but "+function(s){return s?'"'+r(s)+'"':"end of input"}(a)+" found."},grammar={StartRules:["start"],SyntaxError:s,parse:function(a,e){var t,r={},n=(e=void 0!==e?e:{}).grammarSource,i={start:ja},x=ja,o="(",l=")",u="",c="/",p=",",g=".",_="-",h="th",f="nd",d="st",v="/1",b="ff",y="/9",m="/2",k=".1",A="глави",E="глава",$="гл",w="розділ",S="розд",R="вірш",P="і",C="title",J="from",j="of",z="in",I="the",M="book",D="",Z=/^[1-8]/,F=/^[a-z]/,T=/^[0-9]/,H=/^[a\u0430\u0431]/i,N=/^["']/,O=/^[,;\/:&\-\u2013\u2014~]/,q=/^[\-\u2013\u2014]/,L=/^[([]/,G=/^[)\]]/,B=/^[^\x1F\x1E([]/,K=wa("(",!1),W=wa(")",!1),V=wa("",!1),U=wa("/",!1),Q=Sa([["1","8"]],!1,!1),X=wa(",",!1),Y=wa(".",!1),ss=wa("-",!1),as=wa("th",!1),es=wa("nd",!1),ts=wa("st",!1),rs=wa("/1",!1),ns=wa("ff",!1),is=Sa([["a","z"]],!1,!1),xs=wa("/9",!1),os=wa("/2",!1),ls=wa(".1",!1),us=Sa([["0","9"]],!1,!1),cs=Sa(["a","а","б"],!1,!0),ps=wa("глави",!0),gs=wa("глава",!0),_s=wa("гл",!0),hs=wa("розділ",!0),fs=wa("розд",!0),ds=wa("вірш",!0),vs=wa("і",!0),bs=wa(":",!1),ys=Sa(['"',"'"],!1,!1),ms=Sa([",",";","/",":","&","-","–","—","~"],!1,!1),ks=Sa(["-","–","—"],!1,!1),As=wa("title",!1),Es=wa("from",!1),$s=wa("of",!1),ws=wa("in",!1),Ss=wa("the",!1),Rs=wa("book",!1),Ps=Sa(["(","["],!1,!1),Cs=Sa([")","]"],!1,!1),Js=wa("",!1),js=(wa(",000",!1),Sa(["","","(","["],!0,!1)),zs=(Sa([" ","\t","\r","\n"," ","*"],!1,!1),function(s,a){return a.unshift([s]),{type:"sequence",value:a,indices:[ma,ya-1]}}),Is=function(s,a){return void 0===a&&(a=[]),a.unshift([s]),{type:"sequence_post_enclosed",value:a,indices:[ma,ya-1]}},Ms=function(s,a){return s.length&&2===s.length&&(s=s[0]),{type:"range",value:[s,a],indices:[ma,ya-1]}},Ds=function(s){return{type:"b",value:s.value,indices:[ma,ya-1]}},Zs=function(s,a){return{type:"bc",value:[s,a],indices:[ma,ya-1]}},Fs=function(s,a){return{type:"bc",value:[s,a],indices:[ma,ya-1]}},Ts=function(s,a){return{type:"bc_title",value:[s,a],indices:[ma,ya-1]}},Hs=function(s,a){return{type:"bcv",value:[s,a],indices:[ma,ya-1]}},Ns=function(s,a){return{type:"bcv",value:[s,a],indices:[ma,ya-1]}},Os=function(s,a){return{type:"bcv",value:[s,a],indices:[ma,ya-1]}},qs=function(s,a,e,t){return{type:"range",value:[{type:"bcv",value:[{type:"bc",value:[s,a],indices:[s.indices[0],a.indices[1]]},e],indices:[s.indices[0],e.indices[1]]},t],indices:[ma,ya-1]}},Ls=function(s,a){return{type:"bv",value:[s,a],indices:[ma,ya-1]}},Gs=function(s,a){return{type:"bc",value:[a,s],indices:[ma,ya-1]}},Bs=function(s,a,e){return{type:"cb_range",value:[e,s,a],indices:[ma,ya-1]}},Ks=function(s,a){return{type:"bcv",value:[s,a],indices:[ma,ya-1]}},Ws=function(s,a){return{type:"bc",value:[a,s],indices:[ma,ya-1]}},Vs=function(s,a){return{type:"bcv",value:[s,a],indices:[ma,ya-1]}},Us=function(s){return{type:"c_psalm",value:s.value,indices:[ma,ya-1]}},Qs=function(s,a){return{type:"cv_psalm",value:[s,a],indices:[ma,ya-1]}},Xs=function(s,a){return{type:"c_title",value:[s,a],indices:[ma,ya-1]}},Ys=function(s,a){return{type:"cv",value:[s,a],indices:[ma,ya-1]}},sa=function(s,a){return{type:"cv",value:[s,a],indices:[ma,ya-1]}},aa=function(s){return{type:"c",value:[s],indices:[ma,ya-1]}},ea=function(s){return{type:"ff",value:[s],indices:[ma,ya-1]}},ta=function(s,a){return{type:"integer_title",value:[s,a],indices:[ma,ya-1]}},ra=function(s){return{type:"context",value:s.value,indices:[ma,ya-1]}},na=function(s){return{type:"b",value:s.value,indices:[ma,ya-1]}},ia=function(s){return{type:"bc",value:[s,{type:"c",value:[{type:"integer",value:151,indices:[ya-2,ya-1]}],indices:[ya-2,ya-1]}],indices:[ma,ya-1]}},xa=function(s,a){return{type:"bcv",value:[s,{type:"v",value:[a],indices:[a.indices[0],a.indices[1]]}],indices:[ma,ya-1]}},oa=function(s){return{type:"v",value:[s],indices:[ma,ya-1]}},la=function(s){return{type:"v",value:[s],indices:[ma,ya-1]}},ua=function(){return{type:"c_explicit"}},ca=function(){return{type:"v_explicit"}},pa=function(){return""},ga=function(s){return{type:"title",value:[s],indices:[ma,ya-1]}},_a=function(s){return{type:"translation_sequence",value:s,indices:[ma,ya-1]}},ha=function(s){return{type:"translation_sequence",value:s,indices:[ma,ya-1]}},fa=function(s){return{type:"translation",value:s.value,indices:[ma,ya-1]}},da=function(s){return{type:"integer",value:parseInt(s.join(""),10),indices:[ma,ya-1]}},va=function(s){return{type:"word",value:s.join(""),indices:[ma,ya-1]}},ba=function(s){return{type:"stop",value:s,indices:[ma,ya-1]}},ya=0|e.peg$currPos,ma=ya,ka=[{line:1,column:1}],Aa=ya,Ea=e.peg$maxFailExpected||[],$a=0|e.peg$silentFails;if(e.startRule){if(!(e.startRule in i))throw new Error("Can't start parsing from rule \""+e.startRule+'".');x=i[e.startRule]}function wa(s,a){return{type:"literal",text:s,ignoreCase:a}}function Sa(s,a,e){return{type:"class",parts:s,inverted:a,ignoreCase:e}}function Ra(s){var e,t=ka[s];if(t)return t;if(s>=ka.length)e=ka.length-1;else for(e=s;!ka[--e];);for(t={line:(t=ka[e]).line,column:t.column};e<s;)10===a.charCodeAt(e)?(t.line++,t.column=1):t.column++,e++;return ka[s]=t,t}function Pa(s,a,e){var t=Ra(s),r=Ra(a),i={source:n,start:{offset:s,line:t.line,column:t.column},end:{offset:a,line:r.line,column:r.column}};return e&&n&&"function"==typeof n.offset&&(i.start=n.offset(i.start),i.end=n.offset(i.end)),i}function Ca(s){ya<Aa||(ya>Aa&&(Aa=ya,Ea=[]),Ea.push(s))}function Ja(a,e,t){return new s(s.buildMessage(a,e),a,e,t)}function ja(){var s,a;if(s=[],(a=Oa())===r&&(a=za())===r&&(a=Ga())===r&&(a=Ma())===r&&(a=ae())===r&&(a=Na())===r&&(a=Fa())===r&&(a=ne())===r&&(a=Ta())===r&&(a=Ha())===r&&(a=re())===r&&(a=Za())===r&&(a=Ua())===r&&(a=qa())===r&&(a=Va())===r&&(a=Da())===r&&(a=Ba())===r&&(a=Wa())===r&&(a=La())===r&&(a=Ka())===r&&(a=fe())===r&&(a=de())===r&&(a=pe())===r&&(a=Qa())===r&&(a=ee())===r&&(a=Xa())===r&&(a=Ya())===r&&(a=ie())===r&&(a=be())===r&&(a=se())===r&&(a=xe())===r&&(a=me())===r&&(a=ke())===r&&(a=te()),a!==r)for(;a!==r;)s.push(a),(a=Oa())===r&&(a=za())===r&&(a=Ga())===r&&(a=Ma())===r&&(a=ae())===r&&(a=Na())===r&&(a=Fa())===r&&(a=ne())===r&&(a=Ta())===r&&(a=Ha())===r&&(a=re())===r&&(a=Za())===r&&(a=Ua())===r&&(a=qa())===r&&(a=Va())===r&&(a=Da())===r&&(a=Ba())===r&&(a=Wa())===r&&(a=La())===r&&(a=Ka())===r&&(a=fe())===r&&(a=de())===r&&(a=pe())===r&&(a=Qa())===r&&(a=ee())===r&&(a=Xa())===r&&(a=Ya())===r&&(a=ie())===r&&(a=be())===r&&(a=se())===r&&(a=xe())===r&&(a=me())===r&&(a=ke())===r&&(a=te());else s=r;return s}function za(){var s,a,e,t,n,i;if(s=ya,(a=Ga())===r&&(a=Oa())===r&&(a=Ma())===r&&(a=ae())===r&&(a=Na())===r&&(a=Fa())===r&&(a=ne())===r&&(a=Ta())===r&&(a=Ha())===r&&(a=re())===r&&(a=Za())===r&&(a=Ua())===r&&(a=qa())===r&&(a=Va())===r&&(a=Da())===r&&(a=Ba())===r&&(a=Wa())===r&&(a=La())===r&&(a=Ka())===r&&(a=te()),a!==r){if(e=[],t=ya,(n=pe())===r&&(n=null),(i=Ia())!==r?t=n=[n,i]:(ya=t,t=r),t!==r)for(;t!==r;)e.push(t),t=ya,(n=pe())===r&&(n=null),(i=Ia())!==r?t=n=[n,i]:(ya=t,t=r);else e=r;e!==r?(ma=s,s=zs(a,e)):(ya=s,s=r)}else ya=s,s=r;return s}function Ia(){var s;return(s=function(){var s,e,t,n,i,x,u;if(s=ya,40===a.charCodeAt(ya)?(e=o,ya++):(e=r,0===$a&&Ca(K)),e!==r)if(Ae(),pe(),(t=Ia())!==r){for(n=[],i=ya,(x=pe())===r&&(x=null),(u=Ia())!==r?i=x=[x,u]:(ya=i,i=r);i!==r;)n.push(i),i=ya,(x=pe())===r&&(x=null),(u=Ia())!==r?i=x=[x,u]:(ya=i,i=r);i=Ae(),41===a.charCodeAt(ya)?(x=l,ya++):(x=r,0===$a&&Ca(W)),x!==r?(ma=s,s=Is(t,n)):(ya=s,s=r)}else ya=s,s=r;else ya=s,s=r;return s}())===r&&(s=Ga())===r&&(s=Oa())===r&&(s=Ma())===r&&(s=ae())===r&&(s=Na())===r&&(s=Fa())===r&&(s=ne())===r&&(s=Ta())===r&&(s=Ha())===r&&(s=re())===r&&(s=Za())===r&&(s=Ua())===r&&(s=qa())===r&&(s=Va())===r&&(s=Da())===r&&(s=Ba())===r&&(s=Wa())===r&&(s=La())===r&&(s=Ka())===r&&(s=Qa())===r&&(s=ee())===r&&(s=Xa())===r&&(s=Ya())===r&&(s=ie())===r&&(s=be())===r&&(s=se())===r&&(s=xe()),s}function Ma(){var s,a,e,t,n,i,x;return s=ya,(a=Na())===r&&(a=Fa())===r&&(a=ne())===r&&(a=Ta())===r&&(a=Ha())===r&&(a=re())===r&&(a=Za())===r&&(a=Ua())===r&&(a=qa())===r&&(a=ya,(e=Da())!==r?(t=ya,$a++,n=ya,(i=ge())!==r?((x=Na())===r&&(x=Fa())===r&&(x=ne())===r&&(x=Ta())===r&&(x=Ha())===r&&(x=re())===r&&(x=Za())===r&&(x=qa())===r&&(x=Da()),x!==r?n=i=[i,x]:(ya=n,n=r)):(ya=n,n=r),$a--,n!==r?(ya=t,t=void 0):t=r,t!==r?a=e=[e,t]:(ya=a,a=r)):(ya=a,a=r),a===r&&(a=Ba())===r&&(a=Wa())===r&&(a=Va())===r&&(a=La())===r&&(a=Ka())===r&&(a=Qa())===r&&(a=ee())===r&&(a=Xa())===r&&(a=Ya())===r&&(a=ie())===r&&(a=be())===r&&(a=se())===r&&(a=xe())),a!==r&&(e=ge())!==r?((t=ae())===r&&(t=Na())===r&&(t=Fa())===r&&(t=ne())===r&&(t=Ta())===r&&(t=Ha())===r&&(t=re())===r&&(t=Za())===r&&(t=Ua())===r&&(t=qa())===r&&(t=Da())===r&&(t=Ba())===r&&(t=Wa())===r&&(t=Va())===r&&(t=La())===r&&(t=Ka())===r&&(t=Qa())===r&&(t=ee())===r&&(t=Xa())===r&&(t=ie())===r&&(t=be())===r&&(t=Ya())===r&&(t=se())===r&&(t=xe()),t!==r?(ma=s,s=Ms(a,t)):(ya=s,s=r)):(ya=s,s=r),s}function Da(){var s,e,t,n,i,x;return s=ya,31===a.charCodeAt(ya)?(e=u,ya++):(e=r,0===$a&&Ca(V)),e!==r&&(t=ye())!==r?(n=ya,47===a.charCodeAt(ya)?(i=c,ya++):(i=r,0===$a&&Ca(U)),i!==r?(x=a.charAt(ya),Z.test(x)?ya++:(x=r,0===$a&&Ca(Q)),x!==r?n=i=[i,x]:(ya=n,n=r)):(ya=n,n=r),n===r&&(n=null),31===a.charCodeAt(ya)?(i=u,ya++):(i=r,0===$a&&Ca(V)),i!==r?(ma=s,s=Ds(t)):(ya=s,s=r)):(ya=s,s=r),s}function Za(){var s,a,e,t,n,i,x,o,l;if(s=ya,(a=Da())!==r){if(e=ya,(t=le())!==r?(n=ya,$a++,i=ya,(x=se())!==r&&(o=ue())!==r&&(l=xe())!==r?i=x=[x,o,l]:(ya=i,i=r),$a--,i!==r?(ya=n,n=void 0):n=r,n!==r?e=t=[t,n]:(ya=e,e=r)):(ya=e,e=r),e===r){if(e=[],(t=ue())!==r)for(;t!==r;)e.push(t),t=ue();else e=r;if(e===r){if(e=[],(t=ce())!==r)for(;t!==r;)e.push(t),t=ce();else e=r;if(e===r){if(e=[],(t=ge())!==r)for(;t!==r;)e.push(t),t=ge();else e=r;e===r&&(e=Ae())}}}e!==r&&(t=se())!==r?(ma=s,s=Zs(a,t)):(ya=s,s=r)}else ya=s,s=r;return s}function Fa(){var s,a,e;return s=ya,(a=re())===r&&(a=Za()),a!==r&&(e=_e())!==r?(ma=s,s=Ts(a,e)):(ya=s,s=r),s}function Ta(){var s,e,t,n,i,x,o;return s=ya,(e=re())===r&&(e=Za()),e!==r?(t=ya,$a++,n=ya,46===a.charCodeAt(ya)?(i=g,ya++):(i=r,0===$a&&Ca(Y)),i!==r&&(x=le())!==r&&(o=xe())!==r?n=i=[i,x,o]:(ya=n,n=r),n===r&&(n=ya,(i=pe())===r&&(i=null),(x=le())!==r&&(o=Xa())!==r?n=i=[i,x,o]:(ya=n,n=r)),$a--,n===r?t=void 0:(ya=t,t=r),t!==r?(n=ya,(i=ue())===r&&(i=pe()),i===r&&(i=null),(x=le())!==r?n=i=[i,x]:(ya=n,n=r),n===r&&(n=ue()),n!==r?((i=ie())===r&&(i=xe()),i!==r?(ma=s,s=Hs(e,i)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r),s}function Ha(){var s,a,e,t,n,i,x;return s=ya,(a=re())===r&&(a=Za()),a!==r&&ce()!==r?((e=ie())===r&&(e=xe()),e!==r?(t=ya,$a++,n=ya,(i=ue())!==r&&(x=xe())!==r?n=i=[i,x]:(ya=n,n=r),$a--,n===r?t=void 0:(ya=t,t=r),t!==r?(ma=s,s=Ns(a,e)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r),s}function Na(){var s,e,t,n,i,x,o,l;return s=ya,e=function(){var s,e,t,n;return s=ya,(e=Da())!==r?(Ae(),44===a.charCodeAt(ya)?(t=p,ya++):(t=r,0===$a&&Ca(X)),t!==r?(Ae(),(n=se())!==r?(ma=s,s=Fs(e,n)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r),s}(),e!==r?(Ae(),44===a.charCodeAt(ya)?(t=p,ya++):(t=r,0===$a&&Ca(X)),t!==r?(Ae(),(n=ie())===r&&(n=xe()),n!==r?(i=ya,$a++,x=ya,(o=ue())!==r&&(l=xe())!==r?x=o=[o,l]:(ya=x,x=r),$a--,x===r?i=void 0:(ya=i,i=r),i!==r?(ma=s,s=Os(e,n)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r),s}function Oa(){var s,e,t,n,i,x,o,l;return s=ya,(e=Da())!==r?(45===a.charCodeAt(ya)?(t=_,ya++):(t=r,0===$a&&Ca(ss)),t===r&&(t=Ee()),t===r&&(t=null),(n=se())!==r?(45===a.charCodeAt(ya)?(i=_,ya++):(i=r,0===$a&&Ca(ss)),i!==r&&(x=xe())!==r?(45===a.charCodeAt(ya)?(o=_,ya++):(o=r,0===$a&&Ca(ss)),o!==r&&(l=xe())!==r?(ma=s,s=qs(e,n,x,l)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r),s}function qa(){var s,a,e,t,n,i;if(s=ya,(a=Da())!==r){if(e=[],(t=ue())!==r)for(;t!==r;)e.push(t),t=ue();else e=r;if(e===r){if(e=[],(t=ce())!==r)for(;t!==r;)e.push(t),t=ce();else e=r;if(e===r){if(e=[],(t=ge())!==r)for(;t!==r;)e.push(t),t=ge();else e=r;if(e===r){if(e=ya,t=[],(n=pe())!==r)for(;n!==r;)t.push(n),n=pe();else t=r;t!==r?(n=ya,$a++,i=le(),$a--,i!==r?(ya=n,n=void 0):n=r,n!==r?e=t=[t,n]:(ya=e,e=r)):(ya=e,e=r),e===r&&(e=Ae())}}}e!==r?((t=ie())===r&&(t=xe()),t!==r?(ma=s,s=Ls(a,t)):(ya=s,s=r)):(ya=s,s=r)}else ya=s,s=r;return s}function La(){var s,a,e;return s=ya,oe()!==r&&(a=se())!==r?(he()===r&&null,(e=Da())!==r?(ma=s,s=Gs(a,e)):(ya=s,s=r)):(ya=s,s=r),s}function Ga(){var s,a,e,t;return s=ya,oe()!==r&&(a=se())!==r&&ge()!==r&&(e=se())!==r?(he()===r&&null,(t=Da())!==r?(ma=s,s=Bs(a,e,t)):(ya=s,s=r)):(ya=s,s=r),s}function Ba(){var s,a,e;return s=ya,(a=La())!==r?(pe()===r&&null,le()!==r&&(e=xe())!==r?(ma=s,s=Ks(a,e)):(ya=s,s=r)):(ya=s,s=r),s}function Ka(){var s,e,t,n;return s=ya,(e=se())!==r?(a.substr(ya,2)===h?(t=h,ya+=2):(t=r,0===$a&&Ca(as)),t===r&&(a.substr(ya,2)===f?(t=f,ya+=2):(t=r,0===$a&&Ca(es)),t===r&&(a.substr(ya,2)===d?(t=d,ya+=2):(t=r,0===$a&&Ca(ts)))),t!==r&&oe()!==r?(he()===r&&null,(n=Da())!==r?(ma=s,s=Ws(e,n)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r),s}function Wa(){var s,a,e;return s=ya,(a=Ka())!==r?(pe()===r&&null,le()!==r&&(e=xe())!==r?(ma=s,s=Vs(a,e)):(ya=s,s=r)):(ya=s,s=r),s}function Va(){var s,e,t,n;return s=ya,31===a.charCodeAt(ya)?(e=u,ya++):(e=r,0===$a&&Ca(V)),e!==r&&(t=ye())!==r?(a.substr(ya,3)===v?(n=v,ya+=3):(n=r,0===$a&&Ca(rs)),n!==r?(ma=s,s=Us(t)):(ya=s,s=r)):(ya=s,s=r),s}function Ua(){var s,a,e;return s=ya,(a=Va())!==r?(pe()===r&&null,le()!==r&&(e=xe())!==r?(ma=s,s=Qs(a,e)):(ya=s,s=r)):(ya=s,s=r),s}function Qa(){var s,a,e;return s=ya,oe()!==r&&(a=se())!==r&&(e=_e())!==r?(ma=s,s=Xs(a,e)):(ya=s,s=r),s}function Xa(){var s,e,t,n,i,x,o;return s=ya,le()===r&&null,(e=se())!==r?(t=ya,$a++,n=ya,46===a.charCodeAt(ya)?(i=g,ya++):(i=r,0===$a&&Ca(Y)),i!==r&&(x=le())!==r&&(o=xe())!==r?n=i=[i,x,o]:(ya=n,n=r),$a--,n===r?t=void 0:(ya=t,t=r),t!==r?(n=ya,(i=ue())===r&&(i=null),(x=le())!==r?n=i=[i,x]:(ya=n,n=r),n===r&&(n=ue()),n!==r?((i=ie())===r&&(i=xe()),i!==r?(ma=s,s=Ys(e,i)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r),s}function Ya(){var s,a,e,t,n,i,x;return s=ya,(a=se())!==r&&ce()!==r?((e=ie())===r&&(e=xe()),e!==r?(t=ya,$a++,n=ya,(i=ue())!==r&&(x=xe())!==r?n=i=[i,x]:(ya=n,n=r),$a--,n===r?t=void 0:(ya=t,t=r),t!==r?(ma=s,s=sa(a,e)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r),s}function se(){var s,a;return s=ya,oe()===r&&null,(a=be())!==r?(ma=s,s=aa(a)):(ya=s,s=r),s}function ae(){var s,e,t,n,i,x;return s=ya,(e=Ta())===r&&(e=Ha())===r&&(e=Za())===r&&(e=qa())===r&&(e=Xa())===r&&(e=Ya())===r&&(e=be())===r&&(e=se())===r&&(e=xe()),e!==r?(Ae(),a.substr(ya,2)===b?(t=b,ya+=2):(t=r,0===$a&&Ca(ns)),t!==r?(n=function(){var s,e,t,n,i,x,o,l,u;s=ya,e=Ae(),46===a.charCodeAt(ya)?(t=g,ya++):(t=r,0===$a&&Ca(Y));t!==r?(n=ya,$a++,i=ya,x=Ae(),46===a.charCodeAt(ya)?(o=g,ya++):(o=r,0===$a&&Ca(Y)),o!==r?(l=Ae(),46===a.charCodeAt(ya)?(u=g,ya++):(u=r,0===$a&&Ca(Y)),u!==r?i=x=[x,o,l,u]:(ya=i,i=r)):(ya=i,i=r),$a--,i===r?n=void 0:(ya=n,n=r),n!==r?s=e=[e,t,n]:(ya=s,s=r)):(ya=s,s=r);return s}(),n===r&&(n=null),i=ya,$a++,x=a.charAt(ya),F.test(x)?ya++:(x=r,0===$a&&Ca(is)),$a--,x===r?i=void 0:(ya=i,i=r),i!==r?(ma=s,s=ea(e)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r),s}function ee(){var s,a,e;return s=ya,(a=be())!==r&&(e=_e())!==r?(ma=s,s=ta(a,e)):(ya=s,s=r),s}function te(){var s,e,t,n;return s=ya,31===a.charCodeAt(ya)?(e=u,ya++):(e=r,0===$a&&Ca(V)),e!==r&&(t=ye())!==r?(a.substr(ya,3)===y?(n=y,ya+=3):(n=r,0===$a&&Ca(xs)),n!==r?(ma=s,s=ra(t)):(ya=s,s=r)):(ya=s,s=r),s}function re(){var s,e,t,n,i;return s=ya,e=function(){var s,e,t,n;return s=ya,31===a.charCodeAt(ya)?(e=u,ya++):(e=r,0===$a&&Ca(V)),e!==r&&(t=ye())!==r?(a.substr(ya,3)===m?(n=m,ya+=3):(n=r,0===$a&&Ca(os)),n!==r?(ma=s,s=na(t)):(ya=s,s=r)):(ya=s,s=r),s}(),e!==r?(a.substr(ya,2)===k?(t=k,ya+=2):(t=r,0===$a&&Ca(ls)),t!==r?(n=ya,$a++,i=a.charAt(ya),T.test(i)?ya++:(i=r,0===$a&&Ca(us)),$a--,i===r?n=void 0:(ya=n,n=r),n!==r?(ma=s,s=ia(e)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r),s}function ne(){var s,e,t,n;return s=ya,(e=re())!==r?(46===a.charCodeAt(ya)?(t=g,ya++):(t=r,0===$a&&Ca(Y)),t!==r&&(n=be())!==r?(ma=s,s=xa(e,n)):(ya=s,s=r)):(ya=s,s=r),s}function ie(){var s,e,t,n,i,x;return s=ya,le()===r&&null,(e=be())!==r?(Ae(),t=ya,$a++,a.substr(ya,2)===b?(n=b,ya+=2):(n=r,0===$a&&Ca(ns)),$a--,n===r?t=void 0:(ya=t,t=r),t!==r?(n=a.charAt(ya),H.test(n)?ya++:(n=r,0===$a&&Ca(cs)),n!==r?(i=ya,$a++,x=a.charAt(ya),F.test(x)?ya++:(x=r,0===$a&&Ca(is)),$a--,x===r?i=void 0:(ya=i,i=r),i!==r?(ma=s,s=oa(e)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r),s}function xe(){var s,a;return s=ya,le()===r&&null,(a=be())!==r?(ma=s,s=la(a)):(ya=s,s=r),s}function oe(){var s,e;return s=ya,Ae(),(e=a.substr(ya,5)).toLowerCase()===A?ya+=5:(e=r,0===$a&&Ca(ps)),e===r&&((e=a.substr(ya,5)).toLowerCase()===E?ya+=5:(e=r,0===$a&&Ca(gs)),e===r&&((e=a.substr(ya,2)).toLowerCase()===$?ya+=2:(e=r,0===$a&&Ca(_s)),e===r&&((e=a.substr(ya,6)).toLowerCase()===w?ya+=6:(e=r,0===$a&&Ca(hs)),e===r&&((e=a.substr(ya,4)).toLowerCase()===S?ya+=4:(e=r,0===$a&&Ca(fs)))))),e!==r?(Ae(),ma=s,s=ua()):(ya=s,s=r),s}function le(){var s,e,t,n;return s=ya,Ae(),e=ya,(t=a.substr(ya,4)).toLowerCase()===R?ya+=4:(t=r,0===$a&&Ca(ds)),t!==r?((n=a.charAt(ya)).toLowerCase()===P?ya++:(n=r,0===$a&&Ca(vs)),n===r&&(n=""),n!==r?e=t=[t,n]:(ya=e,e=r)):(ya=e,e=r),e!==r?(t=ya,$a++,n=a.charAt(ya),F.test(n)?ya++:(n=r,0===$a&&Ca(is)),$a--,n===r?t=void 0:(ya=t,t=r),t!==r?(n=Ae(),ma=s,s=ca()):(ya=s,s=r)):(ya=s,s=r),s}function ue(){var s,e,t,n,i,x,o,l,u,c;if(s=ya,e=Ae(),t=[],58===a.charCodeAt(ya)?(n=":",ya++):(n=r,0===$a&&Ca(bs)),n!==r)for(;n!==r;)t.push(n),58===a.charCodeAt(ya)?(n=":",ya++):(n=r,0===$a&&Ca(bs));else t=r;return t===r&&(t=ya,46===a.charCodeAt(ya)?(n=g,ya++):(n=r,0===$a&&Ca(Y)),n!==r?(i=ya,$a++,x=ya,o=Ae(),46===a.charCodeAt(ya)?(l=g,ya++):(l=r,0===$a&&Ca(Y)),l!==r?(u=Ae(),46===a.charCodeAt(ya)?(c=g,ya++):(c=r,0===$a&&Ca(Y)),c!==r?x=o=[o,l,u,c]:(ya=x,x=r)):(ya=x,x=r),$a--,x===r?i=void 0:(ya=i,i=r),i!==r?t=n=[n,i]:(ya=t,t=r)):(ya=t,t=r)),t!==r?s=e=[e,t,n=Ae()]:(ya=s,s=r),s}function ce(){var s,e,t;return s=ya,e=Ae(),t=a.charAt(ya),N.test(t)?ya++:(t=r,0===$a&&Ca(ys)),t!==r?s=e=[e,t,Ae()]:(ya=s,s=r),s===r&&(s=Ee()),s}function pe(){var s,e,t,n,i,x,o,l,u,c;if(s=ya,e=[],t=a.charAt(ya),O.test(t)?ya++:(t=r,0===$a&&Ca(ms)),t===r&&(t=ya,46===a.charCodeAt(ya)?(n=g,ya++):(n=r,0===$a&&Ca(Y)),n!==r?(i=ya,$a++,x=ya,o=Ae(),46===a.charCodeAt(ya)?(l=g,ya++):(l=r,0===$a&&Ca(Y)),l!==r?(u=Ae(),46===a.charCodeAt(ya)?(c=g,ya++):(c=r,0===$a&&Ca(Y)),c!==r?x=o=[o,l,u,c]:(ya=x,x=r)):(ya=x,x=r),$a--,x===r?i=void 0:(ya=i,i=r),i!==r?t=n=[n,i]:(ya=t,t=r)):(ya=t,t=r),t===r&&((t=a.charAt(ya)).toLowerCase()===P?ya++:(t=r,0===$a&&Ca(vs)),t===r&&(t=Ee()))),t!==r)for(;t!==r;)e.push(t),t=a.charAt(ya),O.test(t)?ya++:(t=r,0===$a&&Ca(ms)),t===r&&(t=ya,46===a.charCodeAt(ya)?(n=g,ya++):(n=r,0===$a&&Ca(Y)),n!==r?(i=ya,$a++,x=ya,o=Ae(),46===a.charCodeAt(ya)?(l=g,ya++):(l=r,0===$a&&Ca(Y)),l!==r?(u=Ae(),46===a.charCodeAt(ya)?(c=g,ya++):(c=r,0===$a&&Ca(Y)),c!==r?x=o=[o,l,u,c]:(ya=x,x=r)):(ya=x,x=r),$a--,x===r?i=void 0:(ya=i,i=r),i!==r?t=n=[n,i]:(ya=t,t=r)):(ya=t,t=r),t===r&&((t=a.charAt(ya)).toLowerCase()===P?ya++:(t=r,0===$a&&Ca(vs)),t===r&&(t=Ee())));else e=r;return e!==r&&(ma=s,e=pa()),s=e}function ge(){var s,e,t,n,i;if(s=ya,e=Ae(),t=[],n=ya,i=a.charAt(ya),q.test(i)?ya++:(i=r,0===$a&&Ca(ks)),i!==r?n=i=[i,Ae()]:(ya=n,n=r),n===r&&(n=ya,45===a.charCodeAt(ya)?(i=_,ya++):(i=r,0===$a&&Ca(ss)),i!==r?n=i=[i,Ae()]:(ya=n,n=r)),n!==r)for(;n!==r;)t.push(n),n=ya,i=a.charAt(ya),q.test(i)?ya++:(i=r,0===$a&&Ca(ks)),i!==r?n=i=[i,Ae()]:(ya=n,n=r),n===r&&(n=ya,45===a.charCodeAt(ya)?(i=_,ya++):(i=r,0===$a&&Ca(ss)),i!==r?n=i=[i,Ae()]:(ya=n,n=r));else t=r;return t!==r?s=e=[e,t]:(ya=s,s=r),s}function _e(){var s,e,t;return s=ya,(e=ue())===r&&(e=pe()),e===r&&(e=null),a.substr(ya,5)===C?(t=C,ya+=5):(t=r,0===$a&&Ca(As)),t!==r?(ma=s,s=ga(t)):(ya=s,s=r),s}function he(){var s,e,t,n,i,x,o,l,u,c;return s=ya,e=Ae(),a.substr(ya,4)===J?(t=J,ya+=4):(t=r,0===$a&&Ca(Es)),t===r&&(a.substr(ya,2)===j?(t=j,ya+=2):(t=r,0===$a&&Ca($s)),t===r&&(a.substr(ya,2)===z?(t=z,ya+=2):(t=r,0===$a&&Ca(ws)))),t!==r?(n=Ae(),i=ya,a.substr(ya,3)===I?(x=I,ya+=3):(x=r,0===$a&&Ca(Ss)),x!==r?(o=Ae(),a.substr(ya,4)===M?(l=M,ya+=4):(l=r,0===$a&&Ca(Rs)),l!==r?(u=Ae(),a.substr(ya,2)===j?(c=j,ya+=2):(c=r,0===$a&&Ca($s)),c!==r?i=x=[x,o,l,u,c,Ae()]:(ya=i,i=r)):(ya=i,i=r)):(ya=i,i=r),i===r&&(i=null),s=e=[e,t,n,i]):(ya=s,s=r),s}function fe(){var s,e,t,n,i,x,o,l;if(s=ya,Ae(),e=a.charAt(ya),L.test(e)?ya++:(e=r,0===$a&&Ca(Ps)),e!==r){if(Ae(),t=ya,(n=ve())!==r){for(i=[],x=ya,(o=pe())!==r&&(l=ve())!==r?x=o=[o,l]:(ya=x,x=r);x!==r;)i.push(x),x=ya,(o=pe())!==r&&(l=ve())!==r?x=o=[o,l]:(ya=x,x=r);t=n=[n,i]}else ya=t,t=r;t!==r?(n=Ae(),i=a.charAt(ya),G.test(i)?ya++:(i=r,0===$a&&Ca(Cs)),i!==r?(ma=s,s=_a(t)):(ya=s,s=r)):(ya=s,s=r)}else ya=s,s=r;return s}function de(){var s,e,t,n,i,x,o,l;if(s=ya,Ae(),e=ya,44===a.charCodeAt(ya)?(t=p,ya++):(t=r,0===$a&&Ca(X)),t!==r?e=t=[t,n=Ae()]:(ya=e,e=r),e===r&&(e=null),t=ya,(n=ve())!==r){for(i=[],x=ya,(o=pe())!==r&&(l=ve())!==r?x=o=[o,l]:(ya=x,x=r);x!==r;)i.push(x),x=ya,(o=pe())!==r&&(l=ve())!==r?x=o=[o,l]:(ya=x,x=r);t=n=[n,i]}else ya=t,t=r;return t!==r?(ma=s,s=ha(t)):(ya=s,s=r),s}function ve(){var s,e,t,n;return s=ya,30===a.charCodeAt(ya)?(e=D,ya++):(e=r,0===$a&&Ca(Js)),e!==r&&(t=ye())!==r?(30===a.charCodeAt(ya)?(n=D,ya++):(n=r,0===$a&&Ca(Js)),n!==r?(ma=s,s=fa(t)):(ya=s,s=r)):(ya=s,s=r),s}function be(){var s;return(s=/^[0-9]{1,3}(?!\d|,000)/.exec(a.substr(ya)))?(ma=ya,ya+=s[0].length,{type:"integer",value:parseInt(s[0],10),indices:[ma,ya-1]}):r}function ye(){var s,e,t;if(s=ya,e=[],t=a.charAt(ya),T.test(t)?ya++:(t=r,0===$a&&Ca(us)),t!==r)for(;t!==r;)e.push(t),t=a.charAt(ya),T.test(t)?ya++:(t=r,0===$a&&Ca(us));else e=r;return e!==r&&(ma=s,e=da(e)),s=e}function me(){var s,e,t;if(s=ya,e=[],t=a.charAt(ya),B.test(t)?ya++:(t=r,0===$a&&Ca(js)),t!==r)for(;t!==r;)e.push(t),t=a.charAt(ya),B.test(t)?ya++:(t=r,0===$a&&Ca(js));else e=r;return e!==r&&(ma=s,e=va(e)),s=e}function ke(){var s,e;return s=ya,e=a.charAt(ya),L.test(e)?ya++:(e=r,0===$a&&Ca(Ps)),e!==r&&(ma=s,e=ba(e)),s=e}function Ae(){var s;return(s=Ee())===r&&(s=null),s}function Ee(){var s;return(s=/^[\s\xa0*]+/.exec(a.substr(ya)))?(ya+=s[0].length,[]):r}if("punctuation_strategy"in e&&"eu"===e.punctuation_strategy&&(ue=function(){var s,e,t;s=ya,e=Ae(),44===a.charCodeAt(ya)?(t=p,ya++):(t=r,0===$a&&Ca(X));t!==r?s=e=[e,t,Ae()]:(ya=s,s=r);return s},O=/^[;\/:&\-\u2013\u2014~]/),t=x(),e.peg$library)return{peg$result:t,peg$currPos:ya,peg$FAILED:r,peg$maxFailExpected:Ea,peg$maxFailPos:Aa};if(t!==r&&ya===a.length)return t;throw t!==r&&ya<a.length&&Ca({type:"end"}),Ja(Ea,Aa<a.length?a.charAt(Aa):null,Aa<a.length?Pa(Aa,Aa+1):Pa(Aa,Aa))}}}();
200
+ )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)\uff08\uff09\[\]/"'\*=~\-\u2013\u2014])|$)`),"gi")}];if(!0===s&&"none"===a)return e;const t=[];for(const r of e)!1===s&&null!=r.apocrypha&&!0===r.apocrypha||("books"===a&&(r.regexp=new RegExp(r.regexp.source,"g")),t.push(r));return t},bcv_parser.prototype.regexps.books=bcv_parser.prototype.regexps.get_books(!1,"none"),function(){"use strict";function s(a,e,t,r){var n=Error.call(this,a);return Object.setPrototypeOf&&Object.setPrototypeOf(n,s.prototype),n.expected=e,n.found=t,n.location=r,n.name="SyntaxError",n}function a(s,a,e){return e=e||" ",s.length>a?s:(a-=s.length,s+(e+=e.repeat(a)).slice(0,a))}!function(s,a){function e(){this.constructor=s}e.prototype=a.prototype,s.prototype=new e}(s,Error),s.prototype.format=function(s){var e="Error: "+this.message;if(this.location){var t,r=null;for(t=0;t<s.length;t++)if(s[t].source===this.location.source){r=s[t].text.split(/\r\n|\n|\r/g);break}var n=this.location.start,i=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(n):n,x=this.location.source+":"+i.line+":"+i.column;if(r){var o=this.location.end,l=a("",i.line.toString().length," "),u=r[n.line-1],c=(n.line===o.line?o.column:u.length+1)-n.column||1;e+="\n --\x3e "+x+"\n"+l+" |\n"+i.line+" | "+u+"\n"+l+" | "+a("",n.column-1," ")+a("",c,"^")}else e+="\n at "+x}return e},s.buildMessage=function(s,a){var e={literal:function(s){return'"'+r(s.text)+'"'},class:function(s){var a=s.parts.map((function(s){return Array.isArray(s)?n(s[0])+"-"+n(s[1]):n(s)}));return"["+(s.inverted?"^":"")+a.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(s){return s.description}};function t(s){return s.charCodeAt(0).toString(16).toUpperCase()}function r(s){return s.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(s){return"\\x0"+t(s)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(s){return"\\x"+t(s)}))}function n(s){return s.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(s){return"\\x0"+t(s)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(s){return"\\x"+t(s)}))}function i(s){return e[s.type](s)}return"Expected "+function(s){var a,e,t=s.map(i);if(t.sort(),t.length>0){for(a=1,e=1;a<t.length;a++)t[a-1]!==t[a]&&(t[e]=t[a],e++);t.length=e}switch(t.length){case 1:return t[0];case 2:return t[0]+" or "+t[1];default:return t.slice(0,-1).join(", ")+", or "+t[t.length-1]}}(s)+" but "+function(s){return s?'"'+r(s)+'"':"end of input"}(a)+" found."},grammar={StartRules:["start"],SyntaxError:s,parse:function(a,e){var t,r={},n=(e=void 0!==e?e:{}).grammarSource,i={start:ja},x=ja,o="(",l=")",u="",c="/",p=",",g=".",h="-",_="th",f="nd",d="st",v="/1",b="ff",y="/9",m="/2",k=".1",A="глави",E="глава",$="гл",w="розділ",S="розд",R="вірш",P="і",C="title",J="from",j="of",z="in",I="the",M="book",D="",Z=/^[1-8]/,F=/^[a-z]/,T=/^[0-9]/,H=/^[a\u0430\u0431]/i,N=/^["']/,O=/^[,;\/:&\-\u2013\u2014~]/,q=/^[\-\u2013\u2014]/,L=/^[([]/,G=/^[)\]]/,B=/^[^\x1F\x1E([]/,K=wa("(",!1),W=wa(")",!1),V=wa("",!1),U=wa("/",!1),Q=Sa([["1","8"]],!1,!1),X=wa(",",!1),Y=wa(".",!1),ss=wa("-",!1),as=wa("th",!1),es=wa("nd",!1),ts=wa("st",!1),rs=wa("/1",!1),ns=wa("ff",!1),is=Sa([["a","z"]],!1,!1),xs=wa("/9",!1),os=wa("/2",!1),ls=wa(".1",!1),us=Sa([["0","9"]],!1,!1),cs=Sa(["a","а","б"],!1,!0),ps=wa("глави",!0),gs=wa("глава",!0),hs=wa("гл",!0),_s=wa("розділ",!0),fs=wa("розд",!0),ds=wa("вірш",!0),vs=wa("і",!0),bs=wa(":",!1),ys=Sa(['"',"'"],!1,!1),ms=Sa([",",";","/",":","&","-","–","—","~"],!1,!1),ks=Sa(["-","–","—"],!1,!1),As=wa("title",!1),Es=wa("from",!1),$s=wa("of",!1),ws=wa("in",!1),Ss=wa("the",!1),Rs=wa("book",!1),Ps=Sa(["(","["],!1,!1),Cs=Sa([")","]"],!1,!1),Js=wa("",!1),js=(wa(",000",!1),Sa(["","","(","["],!0,!1)),zs=(Sa([" ","\t","\r","\n"," ","*"],!1,!1),function(s,a){return a.unshift([s]),{type:"sequence",value:a,indices:[ma,ya-1]}}),Is=function(s,a){return void 0===a&&(a=[]),a.unshift([s]),{type:"sequence_post_enclosed",value:a,indices:[ma,ya-1]}},Ms=function(s,a){return s.length&&2===s.length&&(s=s[0]),{type:"range",value:[s,a],indices:[ma,ya-1]}},Ds=function(s){return{type:"b",value:s.value,indices:[ma,ya-1]}},Zs=function(s,a){return{type:"bc",value:[s,a],indices:[ma,ya-1]}},Fs=function(s,a){return{type:"bc",value:[s,a],indices:[ma,ya-1]}},Ts=function(s,a){return{type:"bc_title",value:[s,a],indices:[ma,ya-1]}},Hs=function(s,a){return{type:"bcv",value:[s,a],indices:[ma,ya-1]}},Ns=function(s,a){return{type:"bcv",value:[s,a],indices:[ma,ya-1]}},Os=function(s,a){return{type:"bcv",value:[s,a],indices:[ma,ya-1]}},qs=function(s,a,e,t){return{type:"range",value:[{type:"bcv",value:[{type:"bc",value:[s,a],indices:[s.indices[0],a.indices[1]]},e],indices:[s.indices[0],e.indices[1]]},t],indices:[ma,ya-1]}},Ls=function(s,a){return{type:"bv",value:[s,a],indices:[ma,ya-1]}},Gs=function(s,a){return{type:"bc",value:[a,s],indices:[ma,ya-1]}},Bs=function(s,a,e){return{type:"cb_range",value:[e,s,a],indices:[ma,ya-1]}},Ks=function(s,a){return{type:"bcv",value:[s,a],indices:[ma,ya-1]}},Ws=function(s,a){return{type:"bc",value:[a,s],indices:[ma,ya-1]}},Vs=function(s,a){return{type:"bcv",value:[s,a],indices:[ma,ya-1]}},Us=function(s){return{type:"c_psalm",value:s.value,indices:[ma,ya-1]}},Qs=function(s,a){return{type:"cv_psalm",value:[s,a],indices:[ma,ya-1]}},Xs=function(s,a){return{type:"c_title",value:[s,a],indices:[ma,ya-1]}},Ys=function(s,a){return{type:"cv",value:[s,a],indices:[ma,ya-1]}},sa=function(s,a){return{type:"cv",value:[s,a],indices:[ma,ya-1]}},aa=function(s){return{type:"c",value:[s],indices:[ma,ya-1]}},ea=function(s){return{type:"ff",value:[s],indices:[ma,ya-1]}},ta=function(s,a){return{type:"integer_title",value:[s,a],indices:[ma,ya-1]}},ra=function(s){return{type:"context",value:s.value,indices:[ma,ya-1]}},na=function(s){return{type:"b",value:s.value,indices:[ma,ya-1]}},ia=function(s){return{type:"bc",value:[s,{type:"c",value:[{type:"integer",value:151,indices:[ya-2,ya-1]}],indices:[ya-2,ya-1]}],indices:[ma,ya-1]}},xa=function(s,a){return{type:"bcv",value:[s,{type:"v",value:[a],indices:[a.indices[0],a.indices[1]]}],indices:[ma,ya-1]}},oa=function(s){return{type:"v",value:[s],indices:[ma,ya-1]}},la=function(s){return{type:"v",value:[s],indices:[ma,ya-1]}},ua=function(){return{type:"c_explicit"}},ca=function(){return{type:"v_explicit"}},pa=function(){return""},ga=function(s){return{type:"title",value:[s],indices:[ma,ya-1]}},ha=function(s){return{type:"translation_sequence",value:s,indices:[ma,ya-1]}},_a=function(s){return{type:"translation_sequence",value:s,indices:[ma,ya-1]}},fa=function(s){return{type:"translation",value:s.value,indices:[ma,ya-1]}},da=function(s){return{type:"integer",value:parseInt(s.join(""),10),indices:[ma,ya-1]}},va=function(s){return{type:"word",value:s.join(""),indices:[ma,ya-1]}},ba=function(s){return{type:"stop",value:s,indices:[ma,ya-1]}},ya=0|e.peg$currPos,ma=ya,ka=[{line:1,column:1}],Aa=ya,Ea=e.peg$maxFailExpected||[],$a=0|e.peg$silentFails;if(e.startRule){if(!(e.startRule in i))throw new Error("Can't start parsing from rule \""+e.startRule+'".');x=i[e.startRule]}function wa(s,a){return{type:"literal",text:s,ignoreCase:a}}function Sa(s,a,e){return{type:"class",parts:s,inverted:a,ignoreCase:e}}function Ra(s){var e,t=ka[s];if(t)return t;if(s>=ka.length)e=ka.length-1;else for(e=s;!ka[--e];);for(t={line:(t=ka[e]).line,column:t.column};e<s;)10===a.charCodeAt(e)?(t.line++,t.column=1):t.column++,e++;return ka[s]=t,t}function Pa(s,a,e){var t=Ra(s),r=Ra(a),i={source:n,start:{offset:s,line:t.line,column:t.column},end:{offset:a,line:r.line,column:r.column}};return e&&n&&"function"==typeof n.offset&&(i.start=n.offset(i.start),i.end=n.offset(i.end)),i}function Ca(s){ya<Aa||(ya>Aa&&(Aa=ya,Ea=[]),Ea.push(s))}function Ja(a,e,t){return new s(s.buildMessage(a,e),a,e,t)}function ja(){var s,a;if(s=[],(a=Oa())===r&&(a=za())===r&&(a=Ga())===r&&(a=Ma())===r&&(a=ae())===r&&(a=Na())===r&&(a=Fa())===r&&(a=ne())===r&&(a=Ta())===r&&(a=Ha())===r&&(a=re())===r&&(a=Za())===r&&(a=Ua())===r&&(a=qa())===r&&(a=Va())===r&&(a=Da())===r&&(a=Ba())===r&&(a=Wa())===r&&(a=La())===r&&(a=Ka())===r&&(a=fe())===r&&(a=de())===r&&(a=pe())===r&&(a=Qa())===r&&(a=ee())===r&&(a=Xa())===r&&(a=Ya())===r&&(a=ie())===r&&(a=be())===r&&(a=se())===r&&(a=xe())===r&&(a=me())===r&&(a=ke())===r&&(a=te()),a!==r)for(;a!==r;)s.push(a),(a=Oa())===r&&(a=za())===r&&(a=Ga())===r&&(a=Ma())===r&&(a=ae())===r&&(a=Na())===r&&(a=Fa())===r&&(a=ne())===r&&(a=Ta())===r&&(a=Ha())===r&&(a=re())===r&&(a=Za())===r&&(a=Ua())===r&&(a=qa())===r&&(a=Va())===r&&(a=Da())===r&&(a=Ba())===r&&(a=Wa())===r&&(a=La())===r&&(a=Ka())===r&&(a=fe())===r&&(a=de())===r&&(a=pe())===r&&(a=Qa())===r&&(a=ee())===r&&(a=Xa())===r&&(a=Ya())===r&&(a=ie())===r&&(a=be())===r&&(a=se())===r&&(a=xe())===r&&(a=me())===r&&(a=ke())===r&&(a=te());else s=r;return s}function za(){var s,a,e,t,n,i;if(s=ya,(a=Ga())===r&&(a=Oa())===r&&(a=Ma())===r&&(a=ae())===r&&(a=Na())===r&&(a=Fa())===r&&(a=ne())===r&&(a=Ta())===r&&(a=Ha())===r&&(a=re())===r&&(a=Za())===r&&(a=Ua())===r&&(a=qa())===r&&(a=Va())===r&&(a=Da())===r&&(a=Ba())===r&&(a=Wa())===r&&(a=La())===r&&(a=Ka())===r&&(a=te()),a!==r){if(e=[],t=ya,(n=pe())===r&&(n=null),(i=Ia())!==r?t=n=[n,i]:(ya=t,t=r),t!==r)for(;t!==r;)e.push(t),t=ya,(n=pe())===r&&(n=null),(i=Ia())!==r?t=n=[n,i]:(ya=t,t=r);else e=r;e!==r?(ma=s,s=zs(a,e)):(ya=s,s=r)}else ya=s,s=r;return s}function Ia(){var s;return(s=function(){var s,e,t,n,i,x,u;if(s=ya,40===a.charCodeAt(ya)?(e=o,ya++):(e=r,0===$a&&Ca(K)),e!==r)if(Ae(),pe(),(t=Ia())!==r){for(n=[],i=ya,(x=pe())===r&&(x=null),(u=Ia())!==r?i=x=[x,u]:(ya=i,i=r);i!==r;)n.push(i),i=ya,(x=pe())===r&&(x=null),(u=Ia())!==r?i=x=[x,u]:(ya=i,i=r);i=Ae(),41===a.charCodeAt(ya)?(x=l,ya++):(x=r,0===$a&&Ca(W)),x!==r?(ma=s,s=Is(t,n)):(ya=s,s=r)}else ya=s,s=r;else ya=s,s=r;return s}())===r&&(s=Ga())===r&&(s=Oa())===r&&(s=Ma())===r&&(s=ae())===r&&(s=Na())===r&&(s=Fa())===r&&(s=ne())===r&&(s=Ta())===r&&(s=Ha())===r&&(s=re())===r&&(s=Za())===r&&(s=Ua())===r&&(s=qa())===r&&(s=Va())===r&&(s=Da())===r&&(s=Ba())===r&&(s=Wa())===r&&(s=La())===r&&(s=Ka())===r&&(s=Qa())===r&&(s=ee())===r&&(s=Xa())===r&&(s=Ya())===r&&(s=ie())===r&&(s=be())===r&&(s=se())===r&&(s=xe()),s}function Ma(){var s,a,e,t,n,i,x;return s=ya,(a=Na())===r&&(a=Fa())===r&&(a=ne())===r&&(a=Ta())===r&&(a=Ha())===r&&(a=re())===r&&(a=Za())===r&&(a=Ua())===r&&(a=qa())===r&&(a=ya,(e=Da())!==r?(t=ya,$a++,n=ya,(i=ge())!==r?((x=Na())===r&&(x=Fa())===r&&(x=ne())===r&&(x=Ta())===r&&(x=Ha())===r&&(x=re())===r&&(x=Za())===r&&(x=qa())===r&&(x=Da()),x!==r?n=i=[i,x]:(ya=n,n=r)):(ya=n,n=r),$a--,n!==r?(ya=t,t=void 0):t=r,t!==r?a=e=[e,t]:(ya=a,a=r)):(ya=a,a=r),a===r&&(a=Ba())===r&&(a=Wa())===r&&(a=Va())===r&&(a=La())===r&&(a=Ka())===r&&(a=Qa())===r&&(a=ee())===r&&(a=Xa())===r&&(a=Ya())===r&&(a=ie())===r&&(a=be())===r&&(a=se())===r&&(a=xe())),a!==r&&(e=ge())!==r?((t=ae())===r&&(t=Na())===r&&(t=Fa())===r&&(t=ne())===r&&(t=Ta())===r&&(t=Ha())===r&&(t=re())===r&&(t=Za())===r&&(t=Ua())===r&&(t=qa())===r&&(t=Da())===r&&(t=Ba())===r&&(t=Wa())===r&&(t=Va())===r&&(t=La())===r&&(t=Ka())===r&&(t=Qa())===r&&(t=ee())===r&&(t=Xa())===r&&(t=ie())===r&&(t=be())===r&&(t=Ya())===r&&(t=se())===r&&(t=xe()),t!==r?(ma=s,s=Ms(a,t)):(ya=s,s=r)):(ya=s,s=r),s}function Da(){var s,e,t,n,i,x;return s=ya,31===a.charCodeAt(ya)?(e=u,ya++):(e=r,0===$a&&Ca(V)),e!==r&&(t=ye())!==r?(n=ya,47===a.charCodeAt(ya)?(i=c,ya++):(i=r,0===$a&&Ca(U)),i!==r?(x=a.charAt(ya),Z.test(x)?ya++:(x=r,0===$a&&Ca(Q)),x!==r?n=i=[i,x]:(ya=n,n=r)):(ya=n,n=r),n===r&&(n=null),31===a.charCodeAt(ya)?(i=u,ya++):(i=r,0===$a&&Ca(V)),i!==r?(ma=s,s=Ds(t)):(ya=s,s=r)):(ya=s,s=r),s}function Za(){var s,a,e,t,n,i,x,o,l;if(s=ya,(a=Da())!==r){if(e=ya,(t=le())!==r?(n=ya,$a++,i=ya,(x=se())!==r&&(o=ue())!==r&&(l=xe())!==r?i=x=[x,o,l]:(ya=i,i=r),$a--,i!==r?(ya=n,n=void 0):n=r,n!==r?e=t=[t,n]:(ya=e,e=r)):(ya=e,e=r),e===r){if(e=[],(t=ue())!==r)for(;t!==r;)e.push(t),t=ue();else e=r;if(e===r){if(e=[],(t=ce())!==r)for(;t!==r;)e.push(t),t=ce();else e=r;if(e===r){if(e=[],(t=ge())!==r)for(;t!==r;)e.push(t),t=ge();else e=r;e===r&&(e=Ae())}}}e!==r&&(t=se())!==r?(ma=s,s=Zs(a,t)):(ya=s,s=r)}else ya=s,s=r;return s}function Fa(){var s,a,e;return s=ya,(a=re())===r&&(a=Za()),a!==r&&(e=he())!==r?(ma=s,s=Ts(a,e)):(ya=s,s=r),s}function Ta(){var s,e,t,n,i,x,o;return s=ya,(e=re())===r&&(e=Za()),e!==r?(t=ya,$a++,n=ya,46===a.charCodeAt(ya)?(i=g,ya++):(i=r,0===$a&&Ca(Y)),i!==r&&(x=le())!==r&&(o=xe())!==r?n=i=[i,x,o]:(ya=n,n=r),n===r&&(n=ya,(i=pe())===r&&(i=null),(x=le())!==r&&(o=Xa())!==r?n=i=[i,x,o]:(ya=n,n=r)),$a--,n===r?t=void 0:(ya=t,t=r),t!==r?(n=ya,(i=ue())===r&&(i=pe()),i===r&&(i=null),(x=le())!==r?n=i=[i,x]:(ya=n,n=r),n===r&&(n=ue()),n!==r?((i=ie())===r&&(i=xe()),i!==r?(ma=s,s=Hs(e,i)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r),s}function Ha(){var s,a,e,t,n,i,x;return s=ya,(a=re())===r&&(a=Za()),a!==r&&ce()!==r?((e=ie())===r&&(e=xe()),e!==r?(t=ya,$a++,n=ya,(i=ue())!==r&&(x=xe())!==r?n=i=[i,x]:(ya=n,n=r),$a--,n===r?t=void 0:(ya=t,t=r),t!==r?(ma=s,s=Ns(a,e)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r),s}function Na(){var s,e,t,n,i,x,o,l;return s=ya,e=function(){var s,e,t,n;return s=ya,(e=Da())!==r?(Ae(),44===a.charCodeAt(ya)?(t=p,ya++):(t=r,0===$a&&Ca(X)),t!==r?(Ae(),(n=se())!==r?(ma=s,s=Fs(e,n)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r),s}(),e!==r?(Ae(),44===a.charCodeAt(ya)?(t=p,ya++):(t=r,0===$a&&Ca(X)),t!==r?(Ae(),(n=ie())===r&&(n=xe()),n!==r?(i=ya,$a++,x=ya,(o=ue())!==r&&(l=xe())!==r?x=o=[o,l]:(ya=x,x=r),$a--,x===r?i=void 0:(ya=i,i=r),i!==r?(ma=s,s=Os(e,n)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r),s}function Oa(){var s,e,t,n,i,x,o,l;return s=ya,(e=Da())!==r?(45===a.charCodeAt(ya)?(t=h,ya++):(t=r,0===$a&&Ca(ss)),t===r&&(t=Ee()),t===r&&(t=null),(n=se())!==r?(45===a.charCodeAt(ya)?(i=h,ya++):(i=r,0===$a&&Ca(ss)),i!==r&&(x=xe())!==r?(45===a.charCodeAt(ya)?(o=h,ya++):(o=r,0===$a&&Ca(ss)),o!==r&&(l=xe())!==r?(ma=s,s=qs(e,n,x,l)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r),s}function qa(){var s,a,e,t,n,i;if(s=ya,(a=Da())!==r){if(e=[],(t=ue())!==r)for(;t!==r;)e.push(t),t=ue();else e=r;if(e===r){if(e=[],(t=ce())!==r)for(;t!==r;)e.push(t),t=ce();else e=r;if(e===r){if(e=[],(t=ge())!==r)for(;t!==r;)e.push(t),t=ge();else e=r;if(e===r){if(e=ya,t=[],(n=pe())!==r)for(;n!==r;)t.push(n),n=pe();else t=r;t!==r?(n=ya,$a++,i=le(),$a--,i!==r?(ya=n,n=void 0):n=r,n!==r?e=t=[t,n]:(ya=e,e=r)):(ya=e,e=r),e===r&&(e=Ae())}}}e!==r?((t=ie())===r&&(t=xe()),t!==r?(ma=s,s=Ls(a,t)):(ya=s,s=r)):(ya=s,s=r)}else ya=s,s=r;return s}function La(){var s,a,e;return s=ya,oe()!==r&&(a=se())!==r?(_e()===r&&null,(e=Da())!==r?(ma=s,s=Gs(a,e)):(ya=s,s=r)):(ya=s,s=r),s}function Ga(){var s,a,e,t;return s=ya,oe()!==r&&(a=se())!==r&&ge()!==r&&(e=se())!==r?(_e()===r&&null,(t=Da())!==r?(ma=s,s=Bs(a,e,t)):(ya=s,s=r)):(ya=s,s=r),s}function Ba(){var s,a,e;return s=ya,(a=La())!==r?(pe()===r&&null,le()!==r&&(e=xe())!==r?(ma=s,s=Ks(a,e)):(ya=s,s=r)):(ya=s,s=r),s}function Ka(){var s,e,t,n;return s=ya,(e=se())!==r?(a.substr(ya,2)===_?(t=_,ya+=2):(t=r,0===$a&&Ca(as)),t===r&&(a.substr(ya,2)===f?(t=f,ya+=2):(t=r,0===$a&&Ca(es)),t===r&&(a.substr(ya,2)===d?(t=d,ya+=2):(t=r,0===$a&&Ca(ts)))),t!==r&&oe()!==r?(_e()===r&&null,(n=Da())!==r?(ma=s,s=Ws(e,n)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r),s}function Wa(){var s,a,e;return s=ya,(a=Ka())!==r?(pe()===r&&null,le()!==r&&(e=xe())!==r?(ma=s,s=Vs(a,e)):(ya=s,s=r)):(ya=s,s=r),s}function Va(){var s,e,t,n;return s=ya,31===a.charCodeAt(ya)?(e=u,ya++):(e=r,0===$a&&Ca(V)),e!==r&&(t=ye())!==r?(a.substr(ya,3)===v?(n=v,ya+=3):(n=r,0===$a&&Ca(rs)),n!==r?(ma=s,s=Us(t)):(ya=s,s=r)):(ya=s,s=r),s}function Ua(){var s,a,e;return s=ya,(a=Va())!==r?(pe()===r&&null,le()!==r&&(e=xe())!==r?(ma=s,s=Qs(a,e)):(ya=s,s=r)):(ya=s,s=r),s}function Qa(){var s,a,e;return s=ya,oe()!==r&&(a=se())!==r&&(e=he())!==r?(ma=s,s=Xs(a,e)):(ya=s,s=r),s}function Xa(){var s,e,t,n,i,x,o;return s=ya,le()===r&&null,(e=se())!==r?(t=ya,$a++,n=ya,46===a.charCodeAt(ya)?(i=g,ya++):(i=r,0===$a&&Ca(Y)),i!==r&&(x=le())!==r&&(o=xe())!==r?n=i=[i,x,o]:(ya=n,n=r),$a--,n===r?t=void 0:(ya=t,t=r),t!==r?(n=ya,(i=ue())===r&&(i=null),(x=le())!==r?n=i=[i,x]:(ya=n,n=r),n===r&&(n=ue()),n!==r?((i=ie())===r&&(i=xe()),i!==r?(ma=s,s=Ys(e,i)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r),s}function Ya(){var s,a,e,t,n,i,x;return s=ya,(a=se())!==r&&ce()!==r?((e=ie())===r&&(e=xe()),e!==r?(t=ya,$a++,n=ya,(i=ue())!==r&&(x=xe())!==r?n=i=[i,x]:(ya=n,n=r),$a--,n===r?t=void 0:(ya=t,t=r),t!==r?(ma=s,s=sa(a,e)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r),s}function se(){var s,a;return s=ya,oe()===r&&null,(a=be())!==r?(ma=s,s=aa(a)):(ya=s,s=r),s}function ae(){var s,e,t,n,i,x;return s=ya,(e=Ta())===r&&(e=Ha())===r&&(e=Za())===r&&(e=qa())===r&&(e=Xa())===r&&(e=Ya())===r&&(e=be())===r&&(e=se())===r&&(e=xe()),e!==r?(Ae(),a.substr(ya,2)===b?(t=b,ya+=2):(t=r,0===$a&&Ca(ns)),t!==r?(n=function(){var s,e,t,n,i,x,o,l,u;s=ya,e=Ae(),46===a.charCodeAt(ya)?(t=g,ya++):(t=r,0===$a&&Ca(Y));t!==r?(n=ya,$a++,i=ya,x=Ae(),46===a.charCodeAt(ya)?(o=g,ya++):(o=r,0===$a&&Ca(Y)),o!==r?(l=Ae(),46===a.charCodeAt(ya)?(u=g,ya++):(u=r,0===$a&&Ca(Y)),u!==r?i=x=[x,o,l,u]:(ya=i,i=r)):(ya=i,i=r),$a--,i===r?n=void 0:(ya=n,n=r),n!==r?s=e=[e,t,n]:(ya=s,s=r)):(ya=s,s=r);return s}(),n===r&&(n=null),i=ya,$a++,x=a.charAt(ya),F.test(x)?ya++:(x=r,0===$a&&Ca(is)),$a--,x===r?i=void 0:(ya=i,i=r),i!==r?(ma=s,s=ea(e)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r),s}function ee(){var s,a,e;return s=ya,(a=be())!==r&&(e=he())!==r?(ma=s,s=ta(a,e)):(ya=s,s=r),s}function te(){var s,e,t,n;return s=ya,31===a.charCodeAt(ya)?(e=u,ya++):(e=r,0===$a&&Ca(V)),e!==r&&(t=ye())!==r?(a.substr(ya,3)===y?(n=y,ya+=3):(n=r,0===$a&&Ca(xs)),n!==r?(ma=s,s=ra(t)):(ya=s,s=r)):(ya=s,s=r),s}function re(){var s,e,t,n,i;return s=ya,e=function(){var s,e,t,n;return s=ya,31===a.charCodeAt(ya)?(e=u,ya++):(e=r,0===$a&&Ca(V)),e!==r&&(t=ye())!==r?(a.substr(ya,3)===m?(n=m,ya+=3):(n=r,0===$a&&Ca(os)),n!==r?(ma=s,s=na(t)):(ya=s,s=r)):(ya=s,s=r),s}(),e!==r?(a.substr(ya,2)===k?(t=k,ya+=2):(t=r,0===$a&&Ca(ls)),t!==r?(n=ya,$a++,i=a.charAt(ya),T.test(i)?ya++:(i=r,0===$a&&Ca(us)),$a--,i===r?n=void 0:(ya=n,n=r),n!==r?(ma=s,s=ia(e)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r),s}function ne(){var s,e,t,n;return s=ya,(e=re())!==r?(46===a.charCodeAt(ya)?(t=g,ya++):(t=r,0===$a&&Ca(Y)),t!==r&&(n=be())!==r?(ma=s,s=xa(e,n)):(ya=s,s=r)):(ya=s,s=r),s}function ie(){var s,e,t,n,i,x;return s=ya,le()===r&&null,(e=be())!==r?(Ae(),t=ya,$a++,a.substr(ya,2)===b?(n=b,ya+=2):(n=r,0===$a&&Ca(ns)),$a--,n===r?t=void 0:(ya=t,t=r),t!==r?(n=a.charAt(ya),H.test(n)?ya++:(n=r,0===$a&&Ca(cs)),n!==r?(i=ya,$a++,x=a.charAt(ya),F.test(x)?ya++:(x=r,0===$a&&Ca(is)),$a--,x===r?i=void 0:(ya=i,i=r),i!==r?(ma=s,s=oa(e)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r)):(ya=s,s=r),s}function xe(){var s,a;return s=ya,le()===r&&null,(a=be())!==r?(ma=s,s=la(a)):(ya=s,s=r),s}function oe(){var s,e;return s=ya,Ae(),(e=a.substr(ya,5)).toLowerCase()===A?ya+=5:(e=r,0===$a&&Ca(ps)),e===r&&((e=a.substr(ya,5)).toLowerCase()===E?ya+=5:(e=r,0===$a&&Ca(gs)),e===r&&((e=a.substr(ya,2)).toLowerCase()===$?ya+=2:(e=r,0===$a&&Ca(hs)),e===r&&((e=a.substr(ya,6)).toLowerCase()===w?ya+=6:(e=r,0===$a&&Ca(_s)),e===r&&((e=a.substr(ya,4)).toLowerCase()===S?ya+=4:(e=r,0===$a&&Ca(fs)))))),e!==r?(Ae(),ma=s,s=ua()):(ya=s,s=r),s}function le(){var s,e,t,n;return s=ya,Ae(),e=ya,(t=a.substr(ya,4)).toLowerCase()===R?ya+=4:(t=r,0===$a&&Ca(ds)),t!==r?((n=a.charAt(ya)).toLowerCase()===P?ya++:(n=r,0===$a&&Ca(vs)),n===r&&(n=""),n!==r?e=t=[t,n]:(ya=e,e=r)):(ya=e,e=r),e!==r?(t=ya,$a++,n=a.charAt(ya),F.test(n)?ya++:(n=r,0===$a&&Ca(is)),$a--,n===r?t=void 0:(ya=t,t=r),t!==r?(n=Ae(),ma=s,s=ca()):(ya=s,s=r)):(ya=s,s=r),s}function ue(){var s,e,t,n,i,x,o,l,u,c;if(s=ya,e=Ae(),t=[],58===a.charCodeAt(ya)?(n=":",ya++):(n=r,0===$a&&Ca(bs)),n!==r)for(;n!==r;)t.push(n),58===a.charCodeAt(ya)?(n=":",ya++):(n=r,0===$a&&Ca(bs));else t=r;return t===r&&(t=ya,46===a.charCodeAt(ya)?(n=g,ya++):(n=r,0===$a&&Ca(Y)),n!==r?(i=ya,$a++,x=ya,o=Ae(),46===a.charCodeAt(ya)?(l=g,ya++):(l=r,0===$a&&Ca(Y)),l!==r?(u=Ae(),46===a.charCodeAt(ya)?(c=g,ya++):(c=r,0===$a&&Ca(Y)),c!==r?x=o=[o,l,u,c]:(ya=x,x=r)):(ya=x,x=r),$a--,x===r?i=void 0:(ya=i,i=r),i!==r?t=n=[n,i]:(ya=t,t=r)):(ya=t,t=r)),t!==r?s=e=[e,t,n=Ae()]:(ya=s,s=r),s}function ce(){var s,e,t;return s=ya,e=Ae(),t=a.charAt(ya),N.test(t)?ya++:(t=r,0===$a&&Ca(ys)),t!==r?s=e=[e,t,Ae()]:(ya=s,s=r),s===r&&(s=Ee()),s}function pe(){var s,e,t,n,i,x,o,l,u,c;if(s=ya,e=[],t=a.charAt(ya),O.test(t)?ya++:(t=r,0===$a&&Ca(ms)),t===r&&(t=ya,46===a.charCodeAt(ya)?(n=g,ya++):(n=r,0===$a&&Ca(Y)),n!==r?(i=ya,$a++,x=ya,o=Ae(),46===a.charCodeAt(ya)?(l=g,ya++):(l=r,0===$a&&Ca(Y)),l!==r?(u=Ae(),46===a.charCodeAt(ya)?(c=g,ya++):(c=r,0===$a&&Ca(Y)),c!==r?x=o=[o,l,u,c]:(ya=x,x=r)):(ya=x,x=r),$a--,x===r?i=void 0:(ya=i,i=r),i!==r?t=n=[n,i]:(ya=t,t=r)):(ya=t,t=r),t===r&&((t=a.charAt(ya)).toLowerCase()===P?ya++:(t=r,0===$a&&Ca(vs)),t===r&&(t=Ee()))),t!==r)for(;t!==r;)e.push(t),t=a.charAt(ya),O.test(t)?ya++:(t=r,0===$a&&Ca(ms)),t===r&&(t=ya,46===a.charCodeAt(ya)?(n=g,ya++):(n=r,0===$a&&Ca(Y)),n!==r?(i=ya,$a++,x=ya,o=Ae(),46===a.charCodeAt(ya)?(l=g,ya++):(l=r,0===$a&&Ca(Y)),l!==r?(u=Ae(),46===a.charCodeAt(ya)?(c=g,ya++):(c=r,0===$a&&Ca(Y)),c!==r?x=o=[o,l,u,c]:(ya=x,x=r)):(ya=x,x=r),$a--,x===r?i=void 0:(ya=i,i=r),i!==r?t=n=[n,i]:(ya=t,t=r)):(ya=t,t=r),t===r&&((t=a.charAt(ya)).toLowerCase()===P?ya++:(t=r,0===$a&&Ca(vs)),t===r&&(t=Ee())));else e=r;return e!==r&&(ma=s,e=pa()),s=e}function ge(){var s,e,t,n,i;if(s=ya,e=Ae(),t=[],n=ya,i=a.charAt(ya),q.test(i)?ya++:(i=r,0===$a&&Ca(ks)),i!==r?n=i=[i,Ae()]:(ya=n,n=r),n===r&&(n=ya,45===a.charCodeAt(ya)?(i=h,ya++):(i=r,0===$a&&Ca(ss)),i!==r?n=i=[i,Ae()]:(ya=n,n=r)),n!==r)for(;n!==r;)t.push(n),n=ya,i=a.charAt(ya),q.test(i)?ya++:(i=r,0===$a&&Ca(ks)),i!==r?n=i=[i,Ae()]:(ya=n,n=r),n===r&&(n=ya,45===a.charCodeAt(ya)?(i=h,ya++):(i=r,0===$a&&Ca(ss)),i!==r?n=i=[i,Ae()]:(ya=n,n=r));else t=r;return t!==r?s=e=[e,t]:(ya=s,s=r),s}function he(){var s,e,t;return s=ya,(e=ue())===r&&(e=pe()),e===r&&(e=null),a.substr(ya,5)===C?(t=C,ya+=5):(t=r,0===$a&&Ca(As)),t!==r?(ma=s,s=ga(t)):(ya=s,s=r),s}function _e(){var s,e,t,n,i,x,o,l,u,c;return s=ya,e=Ae(),a.substr(ya,4)===J?(t=J,ya+=4):(t=r,0===$a&&Ca(Es)),t===r&&(a.substr(ya,2)===j?(t=j,ya+=2):(t=r,0===$a&&Ca($s)),t===r&&(a.substr(ya,2)===z?(t=z,ya+=2):(t=r,0===$a&&Ca(ws)))),t!==r?(n=Ae(),i=ya,a.substr(ya,3)===I?(x=I,ya+=3):(x=r,0===$a&&Ca(Ss)),x!==r?(o=Ae(),a.substr(ya,4)===M?(l=M,ya+=4):(l=r,0===$a&&Ca(Rs)),l!==r?(u=Ae(),a.substr(ya,2)===j?(c=j,ya+=2):(c=r,0===$a&&Ca($s)),c!==r?i=x=[x,o,l,u,c,Ae()]:(ya=i,i=r)):(ya=i,i=r)):(ya=i,i=r),i===r&&(i=null),s=e=[e,t,n,i]):(ya=s,s=r),s}function fe(){var s,e,t,n,i,x,o,l;if(s=ya,Ae(),e=a.charAt(ya),L.test(e)?ya++:(e=r,0===$a&&Ca(Ps)),e!==r){if(Ae(),t=ya,(n=ve())!==r){for(i=[],x=ya,(o=pe())!==r&&(l=ve())!==r?x=o=[o,l]:(ya=x,x=r);x!==r;)i.push(x),x=ya,(o=pe())!==r&&(l=ve())!==r?x=o=[o,l]:(ya=x,x=r);t=n=[n,i]}else ya=t,t=r;t!==r?(n=Ae(),i=a.charAt(ya),G.test(i)?ya++:(i=r,0===$a&&Ca(Cs)),i!==r?(ma=s,s=ha(t)):(ya=s,s=r)):(ya=s,s=r)}else ya=s,s=r;return s}function de(){var s,e,t,n,i,x,o,l;if(s=ya,Ae(),e=ya,44===a.charCodeAt(ya)?(t=p,ya++):(t=r,0===$a&&Ca(X)),t!==r?e=t=[t,n=Ae()]:(ya=e,e=r),e===r&&(e=null),t=ya,(n=ve())!==r){for(i=[],x=ya,(o=pe())!==r&&(l=ve())!==r?x=o=[o,l]:(ya=x,x=r);x!==r;)i.push(x),x=ya,(o=pe())!==r&&(l=ve())!==r?x=o=[o,l]:(ya=x,x=r);t=n=[n,i]}else ya=t,t=r;return t!==r?(ma=s,s=_a(t)):(ya=s,s=r),s}function ve(){var s,e,t,n;return s=ya,30===a.charCodeAt(ya)?(e=D,ya++):(e=r,0===$a&&Ca(Js)),e!==r&&(t=ye())!==r?(30===a.charCodeAt(ya)?(n=D,ya++):(n=r,0===$a&&Ca(Js)),n!==r?(ma=s,s=fa(t)):(ya=s,s=r)):(ya=s,s=r),s}function be(){var s;return(s=/^[0-9]{1,3}(?!\d|,000)/.exec(a.substr(ya)))?(ma=ya,ya+=s[0].length,{type:"integer",value:parseInt(s[0],10),indices:[ma,ya-1]}):r}function ye(){var s,e,t;if(s=ya,e=[],t=a.charAt(ya),T.test(t)?ya++:(t=r,0===$a&&Ca(us)),t!==r)for(;t!==r;)e.push(t),t=a.charAt(ya),T.test(t)?ya++:(t=r,0===$a&&Ca(us));else e=r;return e!==r&&(ma=s,e=da(e)),s=e}function me(){var s,e,t;if(s=ya,e=[],t=a.charAt(ya),B.test(t)?ya++:(t=r,0===$a&&Ca(js)),t!==r)for(;t!==r;)e.push(t),t=a.charAt(ya),B.test(t)?ya++:(t=r,0===$a&&Ca(js));else e=r;return e!==r&&(ma=s,e=va(e)),s=e}function ke(){var s,e;return s=ya,e=a.charAt(ya),L.test(e)?ya++:(e=r,0===$a&&Ca(Ps)),e!==r&&(ma=s,e=ba(e)),s=e}function Ae(){var s;return(s=Ee())===r&&(s=null),s}function Ee(){var s;return(s=/^[\s\xa0*]+/.exec(a.substr(ya)))?(ya+=s[0].length,[]):r}if("punctuation_strategy"in e&&"eu"===e.punctuation_strategy&&(ue=function(){var s,e,t;s=ya,e=Ae(),44===a.charCodeAt(ya)?(t=p,ya++):(t=r,0===$a&&Ca(X));t!==r?s=e=[e,t,Ae()]:(ya=s,s=r);return s},O=/^[;\/:&\-\u2013\u2014~]/),t=x(),e.peg$library)return{peg$result:t,peg$currPos:ya,peg$FAILED:r,peg$maxFailExpected:Ea,peg$maxFailPos:Aa};if(t!==r&&ya===a.length)return t;throw t!==r&&ya<a.length&&Ca({type:"end"}),Ja(Ea,Aa<a.length?a.charAt(Aa):null,Aa<a.length?Pa(Aa,Aa+1):Pa(Aa,Aa))}}}();
@@ -569,28 +569,7 @@ class bcv_parser {
569
569
  if (entity.passages == null) {
570
570
  continue;
571
571
  }
572
- if (this.options.consecutive_combination_strategy === "separate-chapters") {
573
- const semicolon_segments = this.split_text_by_semicolon(entity.absolute_indices);
574
- if (semicolon_segments.length > 1) {
575
- for (const segment of Array.from(semicolon_segments)) {
576
- const sub_parser = new bcv_parser;
577
- sub_parser.set_options({ ...this.options });
578
- sub_parser.parse(segment.text);
579
- for (const sub of Array.from(sub_parser.parsed_entities())) {
580
- if (sub.osis.length === 0) {
581
- continue;
582
- }
583
- const indices = [sub.indices[0] + segment.offset, sub.indices[1] + segment.offset];
584
- const entry = { osis: sub.osis, translations: sub.translations, indices, entity_id };
585
- if (sub.osises != null) {
586
- entry.osises = sub.osises;
587
- }
588
- out.push(entry);
589
- }
590
- }
591
- continue;
592
- }
593
- }
572
+ // Do not reparse semicolon segments here; preserve original context and sequence behavior.
594
573
  if (((entity.type === "b") && (this.options.book_alone_strategy === "ignore")) || ((entity.type === "b_range") && (this.options.book_range_strategy === "ignore")) || (entity.type === "context")) {
595
574
  continue;
596
575
  }
@@ -701,6 +680,19 @@ class bcv_parser {
701
680
  if (group.length === 0) {
702
681
  continue;
703
682
  }
683
+ if (group.length > 1) {
684
+ for (osis of Array.from(group)) {
685
+ if (osis.osis.length === 0) {
686
+ continue;
687
+ }
688
+ const entry = { osis: osis.osis, indices: osis.indices, translations, entity_id, entities: [osis] };
689
+ if (osis.osises != null) {
690
+ entry.osises = osis.osises;
691
+ }
692
+ out.push(entry);
693
+ }
694
+ continue;
695
+ }
704
696
  const group_last_i = group.length - 1;
705
697
  const indices = [group[0].indices[0], group[group_last_i].indices[1]];
706
698
  if ((group[group_last_i].enclosed_indices != null) && (group[group_last_i].enclosed_indices[1] >= 0)) {
@@ -863,7 +855,7 @@ class bcv_parser {
863
855
  if ((this.s == null) || (prev_indices == null) || (next_indices == null)) {
864
856
  return "";
865
857
  }
866
- const start = prev_indices[1] + 1;
858
+ const start = prev_indices[1];
867
859
  const end = next_indices[0];
868
860
  if (end <= start) {
869
861
  return "";
@@ -895,30 +887,6 @@ class bcv_parser {
895
887
  }
896
888
  return out;
897
889
  }
898
- split_text_by_semicolon(absolute_indices) {
899
- if ((this.s == null) || (absolute_indices == null) || (absolute_indices[0] == null) || (absolute_indices[1] == null)) {
900
- return [];
901
- }
902
- const text = this.s.slice(absolute_indices[0], absolute_indices[1]);
903
- if (!/[;;]/.test(text)) {
904
- return [{ text, offset: absolute_indices[0] }];
905
- }
906
- const segments = [];
907
- let start = 0;
908
- for (let i = 0, end = text.length; i < end; i++) {
909
- const ch = text[i];
910
- if ((ch === ";") || (ch === ";")) {
911
- if (i > start) {
912
- segments.push({ text: text.slice(start, i), offset: absolute_indices[0] + start });
913
- }
914
- start = i + 1;
915
- }
916
- }
917
- if (start < text.length) {
918
- segments.push({ text: text.slice(start), offset: absolute_indices[0] + start });
919
- }
920
- return segments;
921
- }
922
890
  // If we want to treat Ps151 as a book rather than a chapter, we have to do some gymnastics to make sure it returns properly.
923
891
  fix_ps151(start, end, translation) {
924
892
  // Ps151 doesn't necessarily get promoted into the translation chapter list because during the string parsing, we treat it as `Ps` rather than `Ps151`.