@trebco/treb 37.1.0 → 37.1.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 (136) hide show
  1. package/build/package.json +1 -1
  2. package/build/treb-base-types/src/evaluate-options.d.ts +1 -1
  3. package/build/treb-base-types/src/font-stack.js +2 -2
  4. package/build/treb-base-types/src/gradient.js +1 -1
  5. package/build/treb-base-types/src/import.d.ts +1 -1
  6. package/build/treb-base-types/src/theme.js +1 -1
  7. package/build/treb-calculator/src/calculator.d.ts +7 -7
  8. package/build/treb-calculator/src/calculator.js +4 -4
  9. package/build/treb-calculator/src/complex-math.d.ts +1 -1
  10. package/build/treb-calculator/src/dag/array-vertex.d.ts +1 -1
  11. package/build/treb-calculator/src/dag/graph.d.ts +3 -3
  12. package/build/treb-calculator/src/dag/graph.js +2 -2
  13. package/build/treb-calculator/src/dag/spreadsheet_vertex.d.ts +2 -2
  14. package/build/treb-calculator/src/dag/spreadsheet_vertex.js +1 -1
  15. package/build/treb-calculator/src/dag/spreadsheet_vertex_base.d.ts +1 -1
  16. package/build/treb-calculator/src/descriptors.d.ts +2 -2
  17. package/build/treb-calculator/src/expression-calculator.d.ts +4 -4
  18. package/build/treb-calculator/src/expression-calculator.js +1 -1
  19. package/build/treb-calculator/src/function-error.d.ts +1 -1
  20. package/build/treb-calculator/src/function-error.js +1 -1
  21. package/build/treb-calculator/src/functions/base-functions.js +2 -2
  22. package/build/treb-calculator/src/functions/checkbox.d.ts +1 -1
  23. package/build/treb-calculator/src/functions/complex-functions.js +1 -1
  24. package/build/treb-calculator/src/functions/date-utils.js +1 -1
  25. package/build/treb-calculator/src/functions/finance-functions.js +1 -1
  26. package/build/treb-calculator/src/functions/fp.js +1 -1
  27. package/build/treb-calculator/src/functions/function-utilities.d.ts +1 -1
  28. package/build/treb-calculator/src/functions/function-utilities.js +1 -1
  29. package/build/treb-calculator/src/functions/information-functions.js +1 -1
  30. package/build/treb-calculator/src/functions/lambda-functions.js +1 -1
  31. package/build/treb-calculator/src/functions/matrix-functions.js +1 -1
  32. package/build/treb-calculator/src/functions/regex-functions.js +1 -1
  33. package/build/treb-calculator/src/functions/sparkline.d.ts +1 -1
  34. package/build/treb-calculator/src/functions/sparkline.js +1 -1
  35. package/build/treb-calculator/src/functions/statistics-functions.js +1 -1
  36. package/build/treb-calculator/src/functions/text-functions.js +2 -2
  37. package/build/treb-calculator/src/notifier-types.d.ts +1 -1
  38. package/build/treb-calculator/src/primitives.d.ts +1 -1
  39. package/build/treb-calculator/src/primitives.js +1 -1
  40. package/build/treb-calculator/src/utilities.d.ts +1 -1
  41. package/build/treb-calculator/src/utilities.js +1 -1
  42. package/build/treb-charts/src/chart-functions.d.ts +1 -1
  43. package/build/treb-charts/src/chart-functions.js +1 -1
  44. package/build/treb-charts/src/chart-types.d.ts +3 -3
  45. package/build/treb-charts/src/chart-types.js +1 -1
  46. package/build/treb-charts/src/chart-utils.d.ts +2 -2
  47. package/build/treb-charts/src/chart-utils.js +2 -2
  48. package/build/treb-charts/src/chart.d.ts +1 -1
  49. package/build/treb-charts/src/renderer.d.ts +1 -1
  50. package/build/treb-charts/src/util.d.ts +1 -1
  51. package/build/treb-charts/src/util.js +1 -1
  52. package/build/treb-data-model/src/annotation.d.ts +2 -2
  53. package/build/treb-data-model/src/annotation.js +1 -1
  54. package/build/treb-data-model/src/conditional_format.d.ts +1 -1
  55. package/build/treb-data-model/src/data-validation.d.ts +1 -1
  56. package/build/treb-data-model/src/data_model.d.ts +3 -3
  57. package/build/treb-data-model/src/data_model.js +3 -3
  58. package/build/treb-data-model/src/named.d.ts +3 -3
  59. package/build/treb-data-model/src/named.js +1 -1
  60. package/build/treb-data-model/src/sheet.d.ts +2 -2
  61. package/build/treb-data-model/src/sheet.js +4 -4
  62. package/build/treb-data-model/src/sheet_selection.d.ts +1 -1
  63. package/build/treb-data-model/src/sheet_selection.js +1 -1
  64. package/build/treb-data-model/src/sheet_types.d.ts +1 -1
  65. package/build/treb-data-model/src/types.d.ts +3 -3
  66. package/build/treb-embed/src/custom-element/spreadsheet-constructor.d.ts +2 -2
  67. package/build/treb-embed/src/custom-element/spreadsheet-constructor.js +5 -5
  68. package/build/treb-embed/src/embedded-spreadsheet.d.ts +13 -13
  69. package/build/treb-embed/src/embedded-spreadsheet.js +10 -10
  70. package/build/treb-embed/src/options.d.ts +2 -2
  71. package/build/treb-embed/src/selection-state.d.ts +2 -2
  72. package/build/treb-embed/src/spinner.js +1 -1
  73. package/build/treb-embed/src/toolbar-message.d.ts +1 -1
  74. package/build/treb-embed/src/types.d.ts +2 -2
  75. package/build/treb-embed/tsconfig.tsbuildinfo +1 -1
  76. package/build/treb-export/src/drawing/chart.d.ts +1 -1
  77. package/build/treb-export/src/drawing/chart.js +1 -1
  78. package/build/treb-export/src/export.d.ts +4 -4
  79. package/build/treb-export/src/export.js +2 -2
  80. package/build/treb-export/src/import-export-messages.d.ts +2 -2
  81. package/build/treb-export/src/import.d.ts +4 -4
  82. package/build/treb-export/src/import.js +2 -2
  83. package/build/treb-export/src/index.worker.js +1 -1
  84. package/build/treb-export/src/workbook-style.d.ts +1 -1
  85. package/build/treb-export/src/workbook-style.js +2 -2
  86. package/build/treb-export/src/workbook.d.ts +2 -2
  87. package/build/treb-format/src/format.d.ts +1 -1
  88. package/build/treb-format/src/format.js +1 -1
  89. package/build/treb-format/src/format_parser.d.ts +1 -1
  90. package/build/treb-format/src/format_parser.js +1 -1
  91. package/build/treb-format/src/number_format_section.d.ts +1 -1
  92. package/build/treb-format/src/value_parser.d.ts +2 -2
  93. package/build/treb-format/src/value_parser.js +1 -1
  94. package/build/treb-grid/src/editors/autocomplete.d.ts +1 -1
  95. package/build/treb-grid/src/editors/autocomplete.js +1 -1
  96. package/build/treb-grid/src/editors/autocomplete_matcher.js +1 -1
  97. package/build/treb-grid/src/editors/editor.d.ts +5 -5
  98. package/build/treb-grid/src/editors/editor.js +3 -3
  99. package/build/treb-grid/src/editors/formula_bar.d.ts +1 -1
  100. package/build/treb-grid/src/editors/formula_bar.js +2 -2
  101. package/build/treb-grid/src/editors/overlay_editor.d.ts +2 -2
  102. package/build/treb-grid/src/editors/overlay_editor.js +2 -2
  103. package/build/treb-grid/src/layout/base_layout.d.ts +6 -6
  104. package/build/treb-grid/src/layout/base_layout.js +3 -3
  105. package/build/treb-grid/src/layout/grid_layout.d.ts +2 -2
  106. package/build/treb-grid/src/layout/grid_layout.js +1 -1
  107. package/build/treb-grid/src/layout/mock-layout.d.ts +1 -1
  108. package/build/treb-grid/src/render/selection-renderer.d.ts +3 -3
  109. package/build/treb-grid/src/render/selection-renderer.js +1 -1
  110. package/build/treb-grid/src/render/svg_header_overlay.d.ts +1 -1
  111. package/build/treb-grid/src/render/svg_header_overlay.js +1 -1
  112. package/build/treb-grid/src/render/svg_selection_block.d.ts +1 -1
  113. package/build/treb-grid/src/render/svg_selection_block.js +1 -1
  114. package/build/treb-grid/src/render/tile_renderer.d.ts +3 -3
  115. package/build/treb-grid/src/render/tile_renderer.js +2 -2
  116. package/build/treb-grid/src/types/clipboard_data.d.ts +1 -1
  117. package/build/treb-grid/src/types/clipboard_data2.d.ts +1 -1
  118. package/build/treb-grid/src/types/external_editor_config.d.ts +1 -1
  119. package/build/treb-grid/src/types/grid.d.ts +5 -5
  120. package/build/treb-grid/src/types/grid.js +6 -6
  121. package/build/treb-grid/src/types/grid_base.d.ts +6 -6
  122. package/build/treb-grid/src/types/grid_base.js +5 -5
  123. package/build/treb-grid/src/types/grid_command.d.ts +3 -3
  124. package/build/treb-grid/src/types/grid_events.d.ts +2 -2
  125. package/build/treb-grid/src/types/grid_options.d.ts +1 -1
  126. package/build/treb-grid/src/types/scale-control.d.ts +1 -1
  127. package/build/treb-grid/src/types/scale-control.js +4 -4
  128. package/build/treb-grid/src/types/tab_bar.d.ts +3 -3
  129. package/build/treb-grid/src/types/tab_bar.js +2 -2
  130. package/build/treb-grid/src/types/tile.d.ts +1 -1
  131. package/build/treb-grid/src/types/update_flags.d.ts +1 -1
  132. package/dist/{chunk-A2NJA5VB.mjs → chunk-UFKGUUNF.mjs} +1 -1
  133. package/dist/treb-export-worker.mjs +2 -2
  134. package/dist/treb-spreadsheet.mjs +4 -4
  135. package/package.json +1 -1
  136. package/postprocess.ts +70 -0
@@ -1,9 +1,9 @@
1
- import type { DataModel, ViewModel, Sheet } from 'treb-data-model';
2
- import { EventSource } from 'treb-utils';
1
+ import type { DataModel, ViewModel, Sheet } from '../../../treb-data-model/src/index';
2
+ import { EventSource } from '../../../treb-utils/src/index';
3
3
  import type { BaseLayout } from '../layout/base_layout';
4
4
  import type { GridOptions } from './grid_options';
5
5
  import { type ScaleEvent } from './scale-control';
6
- import { type Theme } from 'treb-base-types';
6
+ import { type Theme } from '../../../treb-base-types/src/index';
7
7
  export interface ActivateSheetEvent {
8
8
  type: 'activate-sheet';
9
9
  sheet: Sheet;
@@ -18,10 +18,10 @@
18
18
  * info@treb.app
19
19
  *
20
20
  */
21
- import { EventSource } from 'treb-utils';
21
+ import { EventSource } from '../../../treb-utils/src/index';
22
22
  import { MouseDrag } from './drag_mask';
23
23
  import { ScaleControl } from './scale-control';
24
- import { DOMContext, ResolveThemeColor } from 'treb-base-types';
24
+ import { DOMContext, ResolveThemeColor } from '../../../treb-base-types/src/index';
25
25
  /**
26
26
  * tabs for multiple sheets. at the bottom, atm (FIXME: options?)
27
27
  *
@@ -1,4 +1,4 @@
1
- import type { Point, Size, Position } from 'treb-base-types';
1
+ import type { Point, Size, Position } from '../../../treb-base-types/src/index';
2
2
  /**
3
3
  * tile adds some metadata to canvas
4
4
  *
@@ -1,4 +1,4 @@
1
- import type { Area } from 'treb-base-types';
1
+ import type { Area } from '../../../treb-base-types/src/index';
2
2
  /**
3
3
  * trying to split data management from the grid, we are updating the
4
4
  * command queue so that (some/most) methods return hints as to what
@@ -1,4 +1,4 @@
1
- /*! TREB v37.1.0. Copyright 2018-2026 trebco, llc. All rights reserved. LGPL: https://treb.app/license */
1
+ /*! TREB v37.1.2. Copyright 2018-2026 trebco, llc. All rights reserved. LGPL: https://treb.app/license */
2
2
  var pi=Object.create;var Ke=Object.defineProperty;var mi=Object.getOwnPropertyDescriptor;var _i=Object.getOwnPropertyNames;var bi=Object.getPrototypeOf,yi=Object.prototype.hasOwnProperty;var gr=(f,e)=>()=>(e||f((e={exports:{}}).exports,e),e.exports),gi=(f,e)=>{for(var t in e)Ke(f,t,{get:e[t],enumerable:!0})},wi=(f,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of _i(e))!yi.call(f,r)&&r!==t&&Ke(f,r,{get:()=>e[r],enumerable:!(i=mi(e,r))||i.enumerable});return f};var wr=(f,e,t)=>(t=f!=null?pi(bi(f)):{},wi(e||!f||!f.__esModule?Ke(t,"default",{value:f,enumerable:!0}):t,f));function vi(){return typeof Worker>"u"}var Qe=class{worker;Terminate(){this.worker?.terminate()}async Init(e,t){this.worker=t()}PostMessage(e){this.worker?.postMessage(e)}OnMessage(e){this.worker&&(this.worker.onmessage=e)}OnError(e){this.worker&&(this.worker.onerror=e)}},Ze=class{worker;Terminate(){this.worker?.terminate()}async Init(e){let{Worker:t}=await import("node:worker_threads");this.worker=new t(new URL(e,import.meta.url))}PostMessage(e){this.worker?.postMessage(e)}OnMessage(e){this.worker&&this.worker.on("message",t=>e({data:t}))}OnError(e){this.worker&&this.worker.on("error",t=>e({error:t}))}},Ye,et=class{tx_cache=[];main_thread_to_worker_message_handler;rx_cache=[];worker_to_main_thread_message_handler;Terminate(){this.tx_cache=[],this.rx_cache=[],this.main_thread_to_worker_message_handler=void 0,this.worker_to_main_thread_message_handler=void 0}async Init(e){Ye=this,await import(new URL(e,import.meta.url).toString())}PostMessage(e){if(this.main_thread_to_worker_message_handler){let t=this.main_thread_to_worker_message_handler;Promise.resolve().then(()=>t({data:e}))}else this.tx_cache.push(e)}OnMessage(e){if(this.worker_to_main_thread_message_handler=e,this.rx_cache.length){let t=[...this.rx_cache];this.rx_cache=[],this.FlushCache(t,e)}}OnError(e){}FlushCache(e,t){Promise.resolve().then(async()=>{for(let i of e){let r=t({data:i});r instanceof Promise&&await r}})}addEventListener(e,t){if(this.main_thread_to_worker_message_handler=t,this.tx_cache.length){let i=[...this.tx_cache];this.tx_cache=[],this.FlushCache(i,t)}}postMessage(e){this.worker_to_main_thread_message_handler?this.worker_to_main_thread_message_handler({data:e}):this.rx_cache.push(e)}};function xr(f=!1){return f?new et:vi()?new Ze:new Qe}var Cr=async()=>{let f;if(Ye)f=Ye;else if(typeof self>"u"){let{parentPort:e}=await import("node:worker_threads");f={postMessage:t=>{e?.postMessage(t)},addEventListener:(t,i)=>{e?.on("message",r=>{i({data:r})})}}}else f=self;return f};var L=f=>f!==null&&typeof f=="object"&&"row"in f&&"column"in f,It=f=>f!==null&&typeof f=="object"&&"start"in f&&L(f.start)&&"end"in f&&L(f.end),_=class f{start_;end_;constructor(e,t=e,i=!1){this.end_=this.PatchNull(t),this.start_=this.PatchNull(e),i&&this.Normalize()}static FromColumn(e){return new f({row:1/0,column:e})}static FromRow(e){return new f({row:e,column:1/0})}static ColumnToLabel(e){let t=String.fromCharCode(65+e%26);for(;e>25;)e=Math.floor(e/26)-1,t=String.fromCharCode(65+e%26)+t;return t}static CellAddressToLabel(e,t=!1){if(e.row===1/0&&e.column===1/0)throw new Error("this is going to break something");let i=t?`${e.sheet_id||0}!`:"";return e.row===1/0?i+(e.absolute_column?"$":"")+this.ColumnToLabel(e.column):e.column===1/0?i+(e.absolute_row?"$":"")+(e.row+1):i+(e.absolute_column?"$":"")+this.ColumnToLabel(e.column)+(e.absolute_row?"$":"")+(e.row+1)+(e.spill?"#":"")}static Join(e,...t){let i=new f(e.start,e.end);for(let r of t)r&&(i.ConsumeAddress(r.start),i.ConsumeAddress(r.end));return i}static Bleed(e,t=1){return new f({row:Math.max(0,e.start.row-t),column:Math.max(0,e.start.column-t),sheet_id:e.start.sheet_id},{row:e.end.row+t,column:e.end.column+t})}static PatchArea(e,t){let{before_column:i,column_count:r,before_row:s,row_count:o}=t,n=new f(e.start,e.end),a=e.start.sheet_id;if(r&&i<=n.end.column){if(r>0)i<=n.start.column?n.Shift(0,r):i>n.start.column&&i<=n.end.column?n.ConsumeAddress({row:n.end.row,column:n.end.column+r}):console.warn("AA X case 1",i,r,JSON.stringify(n));else if(r<0)if(i-r<=n.start.column)n.Shift(0,r);else{if(i<=n.start.column&&i-r>n.end.column)return!1;if(i<=n.start.column){let l=i-r-1;n=new f({row:n.start.row,column:l+1+r,sheet_id:a},{row:n.end.row,column:n.end.column+r})}else i<=n.end.column?i-r-1>=n.end.column?n=new f({row:n.start.row,column:n.start.column,sheet_id:a},{row:n.end.row,column:i-1}):n=new f({row:n.start.row,column:n.start.column,sheet_id:a},{row:n.end.row,column:n.start.column+n.columns+r-1}):console.warn("AA X case 2",i,r,JSON.stringify(n))}}if(o&&s<=n.end.row){if(o>0)s<=n.start.row?n.Shift(o,0):s>n.start.row&&s<=n.end.row?n.ConsumeAddress({row:n.end.row+o,column:n.end.column}):console.warn("AA X case 3",s,o,JSON.stringify(n));else if(o<0)if(s-o<=n.start.row)n.Shift(o,0);else{if(s<=n.start.row&&s-o>n.end.row)return!1;if(s<=n.start.row){let l=s-o-1;n=new f({column:n.start.column,row:l+1+o,sheet_id:a},{column:n.end.column,row:n.end.row+o})}else s<=n.end.row?s-o-1>=n.end.row?n=new f({column:n.start.column,row:n.start.row,sheet_id:a},{column:n.end.column,row:s-1}):n=new f({column:n.start.column,row:n.start.row,sheet_id:a},{column:n.end.column,row:n.start.row+n.rows+o-1}):console.warn("AA X case 4",s,o,JSON.stringify(n))}}return n}get start(){return{...this.start_}}set start(e){this.start_=e}get end(){return{...this.end_}}set end(e){this.end_=e}get rows(){return this.start_.row===1/0||this.end_.row===1/0?1/0:this.end_.row-this.start_.row+1}get columns(){return this.start_.column===1/0||this.end_.column===1/0?1/0:this.end_.column-this.start_.column+1}get count(){return this.rows*this.columns}get entire_sheet(){return this.entire_row&&this.entire_column}get entire_column(){return this.start_.row===1/0}get entire_row(){return this.start_.column===1/0}PatchNull(e){let t={...e};return t.row===null&&(t.row=1/0),t.column===null&&(t.column=1/0),t}SetSheetID(e){this.start_.sheet_id=e}Normalize(){let e={...this.start_},t={...this.end_};e.row===1/0||t.row===1/0?e.row=t.row=1/0:e.row>t.row&&(e.row=this.end_.row,e.absolute_row=this.end_.absolute_row,t.row=this.start_.row,t.absolute_row=this.start_.absolute_row),e.column===1/0||t.column===1/0?e.column=t.column=1/0:e.column>t.column&&(e.column=this.end_.column,e.absolute_column=this.end_.absolute_column,t.column=this.start_.column,t.absolute_column=this.start_.absolute_column),this.start_=e,this.end_=t}TopLeft(){let e={row:0,column:0};return this.entire_row||(e.column=this.start.column),this.entire_column||(e.row=this.start.row),e}BottomRight(){let e={row:0,column:0};return this.entire_row||(e.column=this.end.column),this.entire_column||(e.row=this.end.row),e}ContainsRow(e){return this.entire_column||e>=this.start_.row&&e<=this.end_.row}ContainsColumn(e){return this.entire_row||e>=this.start_.column&&e<=this.end_.column}Contains(e){return(this.entire_column||e.row>=this.start_.row&&e.row<=this.end_.row)&&(this.entire_row||e.column>=this.start_.column&&e.column<=this.end_.column)}ContainsArea(e){return this.start.column<=e.start.column&&this.end.column>=e.end.column&&this.start.row<=e.start.row&&this.end.row>=e.end.row}Intersects(e){return!(e.start.column>this.end.column||this.start.column>e.end.column||e.start.row>this.end.row||this.start.row>e.end.row)}Equals(e){return e.start_.row===this.start_.row&&e.start_.column===this.start_.column&&e.end_.row===this.end_.row&&e.end_.column===this.end_.column}Equals2(e){return e.start.row===this.start_.row&&e.start.column===this.start_.column&&e.end.row===this.end_.row&&e.end.column===this.end_.column}Clone(){return new f(this.start,this.end)}get left(){let e=new f(this.start_,this.end_);return e.end_.column=e.start_.column,e}get right(){let e=new f(this.start_,this.end_);return e.start_.column=e.end_.column,e}get top(){let e=new f(this.start_,this.end_);return e.end_.row=e.start_.row,e}get bottom(){let e=new f(this.start_,this.end_);return e.start_.row=e.end_.row,e}Shift(e,t){return this.start_.row+=e,this.start_.column+=t,this.end_.row+=e,this.end_.column+=t,this}ConsumeAddress(e){this.entire_row||(e.column<this.start_.column&&(this.start_.column=e.column),e.column>this.end_.column&&(this.end_.column=e.column)),this.entire_column||(e.row<this.start_.row&&(this.start_.row=e.row),e.row>this.end_.row&&(this.end_.row=e.row))}Reshape(e,t){return this.end_.row=this.start_.row+e-1,this.end_.column=this.start_.column+t-1,this}ConsumeArea(e){this.ConsumeAddress(e.start),this.ConsumeAddress(e.end)}Resize(e,t){return this.end_.row=this.start_.row+e-1,this.end_.column=this.start_.column+t-1,this}[Symbol.iterator](){if(this.entire_row||this.entire_column)throw new Error("don't iterate infinite area");let e=this.start_.row,t=this.start_.column;return{next:()=>{let i={column:t,row:e,sheet_id:this.start_.sheet_id};return t>this.end_.column?{done:!0,value:void 0}:(++e>this.end_.row&&(e=this.start_.row,t++),{value:i})}}}get spreadsheet_label(){let e;return this.entire_sheet?"":this.entire_column?(e=f.ColumnToLabel(this.start_.column),e+=":"+f.ColumnToLabel(this.end_.column),e):this.entire_row?(e=String(this.start_.row+1),e+=":"+(this.end_.row+1),e):(e=f.CellAddressToLabel(this.start_),this.columns>1||this.rows>1?e+":"+f.CellAddressToLabel(this.end_):e)}toJSON(){return{start:{...this.start_},end:{...this.end_}}}};var tt=f=>typeof f=="object"&&!!f&&typeof f.real=="number"&&typeof f.imaginary=="number",it=f=>f.real?f.imaginary?f.imaginary>0?`${f.real} + ${f.imaginary}i`:`${f.real} - ${Math.abs(f.imaginary)}i`:f.real.toString():f.imaginary?f.imaginary+"i":"0",rt=f=>typeof f=="object"&&!!f&&typeof f.value=="number"&&typeof f.unit=="string",xi=f=>typeof f=="object"&&f.type==="function",st=["undefined","formula","string","number","boolean","object","function","error","complex","array","dimensioned_quantity"];var re=f=>{switch(typeof f){case"undefined":return 0;case"number":return 3;case"boolean":return 4;case"object":return f===null?0:xi(f)?6:tt(f)?8:rt(f)?10:5;case"string":return f[0]==="="?1:2;default:return 7}};var $=class{static StringToColumn(e){let t=0;e=e.toUpperCase();for(let i=0;i<e.length;i++)t*=26,t+=e.charCodeAt(i)-64;return t-1}value;type=0;calculated;calculated_type;formatted;rendered_type;style;area;spill;merge_area;table;renderer_data;render_clean=[];note;hyperlink;editing;render_function;click_function;constructor(e,t){typeof e<"u"&&this.Set(e,t)}ValueIsNumber(){return this.type===3}ValueIsFormula(){return this.type===1}ValueIsBoolean(){return this.type===4}ValueIsComplex(){return this.type===8}FlushStyle(){this.formatted=this.rendered_type=this.style=void 0,this.render_clean=[]}FlushArray(){this.area=void 0}FlushCache(){this.calculated=this.calculated_type=this.formatted=this.rendered_type=this.render_function=this.click_function=void 0,this.render_clean=[]}Reset(){this.type=0,this.value=this.spill=this.note=this.hyperlink=this.formatted=this.rendered_type=this.style=this.calculated=this.calculated_type=this.area=this.renderer_data=this.render_function=this.click_function=void 0,this.render_clean=[]}Set(e,t=re(e)){this.value=e,this.type=t,this.spill=this.formatted=this.rendered_type=this.style=this.calculated=this.calculated_type=this.render_function=this.click_function=this.area=void 0,this.render_clean=[]}SetCalculatedValue(e,t=re(e)){e===void 0&&(e=0,t=3),this.calculated!==e&&(this.calculated=e,this.calculated_type=t,this.formatted=this.rendered_type=void 0,this.render_clean=[])}GetValue(){return this.calculated_type?this.calculated:typeof this.value=="string"&&this.value[0]==="'"?this.value.slice(1):this.value}GetValue4(){return this.calculated_type?{type:this.calculated_type,value:this.calculated}:this.type===1?{type:3,value:0}:{type:this.type,value:typeof this.value=="string"&&this.value[0]==="'"?this.value.slice(1):this.value}}SetNote(e){this.note=e,this.render_clean=[]}SetCalculationError(e="ERR"){this.SetCalculatedValue(e,7)}SetArray(e){this.type=0,this.value=this.formatted=this.rendered_type=this.style=this.hyperlink=this.calculated=this.calculated_type=void 0,this.area=e,this.render_clean=[]}SetArrayHead(e,t){this.type=re(t),this.value=t,this.formatted=this.rendered_type=this.style=this.calculated=this.calculated_type=void 0,this.area=e,this.render_clean=[]}};var Ci=f=>!f.cells,ot=f=>!!f[0]&&Ci(f[0]),nt=f=>!!f[0]&&f[0].row!==void 0,Si=st.map((f,e)=>({[f]:e})).reduce((f,e)=>({...f,...e}),{}),Te=class{data=[];rows_=0;columns_=0;get rows(){return this.rows_}get columns(){return this.columns_}EnsureRow(e){this.rows_=Math.max(e+1,this.rows_)}EnsureColumn(e){this.columns_=Math.max(e+1,this.columns_)}InsertColumns(e=0,t=1){this.data=this.data.map(i=>{if(i.length>=e){let r=i.slice(0,e),s=e+t,o=i.slice(e);for(let n=0;n<o.length;n++)r[s++]=o[n];return r}return i}),this.columns_+=t}DeleteColumns(e,t=1){this.data.forEach(i=>i.splice(e,t)),this.columns_-=t}DeleteRows(e,t=1){this.data.splice(e,t),this.rows_-=t}InsertRows(e=0,t=1){let i=[e,0,[]];for(let r=1;r<t;r++)i.push([]);Array.prototype.splice.apply(this.data,i),this.rows_+=t}GetCell(e,t){let{row:i,column:r}=e;if(!this.data[i])if(t)this.data[i]=[],this.rows_=Math.max(this.rows_,i+1);else return;return this.data[i][r]||t&&(this.data[i][r]=new $,this.columns_=Math.max(this.columns_,r+1)),this.data[i][r]}EnsureCell(e){let{row:t,column:i}=e,r=this.data[t];r||(this.data[t]=r=[],this.rows_=Math.max(this.rows_,t+1));let s=r[i];return s||(s=r[i]=new $,this.columns_=Math.max(this.columns_,i+1)),s}FromArray(e=[],t=!1){this.data=[];let i=0,r=0;if(t){r=e.length;for(let s=0;s<r;s++){let o=e[s];i=Math.max(i,o.length);for(let n=0;n<o.length;n++)this.data[n]||(this.data[n]=[]),this.data[n][s]=new $(o[n])}}else{i=e.length;for(let s=0;s<i;s++){let o=[],n=e[s];r=Math.max(r,n.length);for(let a=0;a<n.length;a++)o[a]=new $(n[a]);this.data[s]=o}}this.rows_=i,this.columns_=r}SerializedTypeToValueType(e){if(e)return typeof e=="number"?e:Si[e]||void 0}ValueTypeToSerializedType(e){return e?st[e]:void 0}FromJSON(e=[],t){if(this.data=[],!ot(e)){let r=[];if(nt(e))for(let s of e)for(let o of s.cells)r.push({...o,row:s.row});else for(let s of e)for(let o of s.cells)r.push({...o,column:s.column});e=r}let i=[];for(let r of e){this.data[r.row]||(this.data[r.row]=[]);let s=new $(r.value);if(typeof r.calculated<"u"&&(s.SetCalculatedValue(r.calculated,this.SerializedTypeToValueType(r.calculated_type)),r.spill&&(s.spill=new _(r.spill.start,r.spill.end))),t&&typeof r.style_ref<"u"&&(s.style=t[r.style_ref]),typeof r.note<"u"&&(s.note=r.note),typeof r.hyperlink<"u"&&(s.hyperlink=r.hyperlink),this.data[r.row][r.column]&&this.data[r.row][r.column].area&&(s.area=this.data[r.row][r.column].area),this.data[r.row][r.column]=s,r.area){let o=new _(r.area.start,r.area.end);for(let n=o.start.row;n<=o.end.row;n++)for(let a=o.start.column;a<=o.end.column;a++)this.data[n]||(this.data[n]=[]),this.data[n][a]||(this.data[n][a]=new $),this.data[n][a].area=o}if(r.table&&i.push({...r.table}),r.merge_area){let o=new _(r.merge_area.start,r.merge_area.end);for(let n=o.start.row;n<=o.end.row;n++)for(let a=o.start.column;a<=o.end.column;a++)this.data[n]||(this.data[n]=[]),this.data[n][a]||(this.data[n][a]=new $),this.data[n][a].merge_area=o}}for(let r of i)for(let s=r.area.start.row;s<=r.area.end.row;s++)for(let o=r.area.start.column;o<=r.area.end.column;o++)this.data[s]||(this.data[s]=[]),this.data[s][o]||(this.data[s][o]=new $),this.data[s][o].table=r;this.rows_=this.data.length,this.columns_=this.data.reduce((r,s)=>Math.max(r,s.length),0)}toJSON(e={}){let t=0,i=0,r=this.data.length-1,s;e.subset&&(t=e.subset.start.column,i=e.subset.start.row,r=e.subset.end.row);let o=[],n=-1,a=-1,l={},c={};for(let h=i;h<=r;h++)if(this.data[h]){let d=this.data[h];s=d.length-1,e.subset&&(s=e.subset.end.column);for(let u=t;u<=s;u++){let p=d[u],m=p&&p.merge_area&&p.merge_area.start.row===h&&p.merge_area.start.column===u,b=p&&p.area&&p.area.start.row===h&&p.area.start.column===u,y=p&&p.table&&p.table.area.start.row===h&&p.table.area.start.column===u,x=p?p.type===2&&!p.value:!0;if(p&&(!x||e.preserve_empty_strings)&&(m||p.type||p.calculated_type&&e.expand_arrays||p.calculated_type&&e.calculated_value||p.note||e.decorated_cells&&p.style&&(p.style.fill||p.style.border_bottom||p.style.border_top||p.style.border_left||p.style.border_right))){let R={row:h,column:u,value:p.value};p.note&&(R.note=p.note),p.hyperlink&&(R.hyperlink=p.hyperlink),e.preserve_type&&(R.type=this.ValueTypeToSerializedType(p.type)),e.sheet_id&&(R.sheet_id=e.sheet_id),e.calculated_value&&typeof p.calculated<"u"&&(R.calculated=p.calculated,p.spill&&(R.spill=p.spill.toJSON()),(e.preserve_type||p.calculated_type===7)&&(R.calculated_type=this.ValueTypeToSerializedType(p.calculated_type))),p.table&&y&&e.tables&&(R.table=JSON.parse(JSON.stringify(p.table))),p.area&&b&&(R.area=p.area.toJSON()),p.merge_area&&(R.merge_area=p.merge_area.toJSON()),e.cell_style_refs&&e.cell_style_refs[u]&&e.cell_style_refs[u][h]&&(R.style_ref=e.cell_style_refs[u][h],e.cell_style_refs[u][h]=0),l[h]=h,c[u]=u,n=Math.max(h,n),a=Math.max(u,a),o.push(R)}}}if(e.nested){let h=Object.keys(l),d=Object.keys(c);if(h.length<=d.length&&h.length){let u={},p=[];for(let m of o){let{row:b,...y}=m;u[m.row]||(u[m.row]=[]),u[m.row].push(y)}for(let m of h){let b=Number(m);p.push({row:b,cells:u[b]})}return{data:p,rows:n,columns:a+1}}else if(d.length){let u={},p=[];for(let m of o){let{column:b,...y}=m;u[m.column]||(u[m.column]=[]),u[m.column].push(y)}for(let m of d){let b=Number(m);p.push({column:b,cells:u[b]})}return{data:p,rows:n,columns:a+1}}}return{data:o,rows:n+1,columns:a+1}}GetAll(e=!1){return this.GetRange({row:0,column:0},{row:this.rows_-1,column:this.columns_-1},e)}Normalize(e,t){return e={...e,row:e.row==1/0?0:e.row,column:e.column==1/0?0:e.column},t&&(t={...t,row:t.row==1/0?this.rows_-1:t.row,column:t.column==1/0?this.columns_-1:t.column}),{from:e,to:t}}RawValue(e,t=e){if({from:e,to:t}=this.Normalize(e,t),e.row===t.row&&e.column===t.column)return this.data[e.row]&&this.data[e.row][e.column]?this.data[e.row][e.column].value:void 0;let i=[],r=this.data.slice(e.row,t.row+1),s=e.column,o=t.column+1;for(let n of r){let a=[];for(let l=s,c=0;l<o;l++,c++){let h=n[l];a.push(h?h.value:void 0)}i.push(a)}return i}GetRange(e,t,i=!1){if({from:e,to:t}=this.Normalize(e,t),!t||e===t||e.column===t.column&&e.row===t.row)return this.data[e.row]&&this.data[e.row][e.column]?this.data[e.row][e.column].GetValue():void 0;let r=[];if(i)for(let s=e.column;s<=t.column;s++){let o=[];for(let n=e.row;n<=t.row;n++)this.data[n]&&this.data[n][s]?o.push(this.data[n][s].GetValue()):o.push(void 0);r.push(o)}else for(let s=e.row;s<=t.row;s++){let o=[];for(let n=e.column;n<=t.column;n++)this.data[s]&&this.data[s][n]?o.push(this.data[s][n].GetValue()):o.push(void 0);r.push(o)}return r}GetRange4(e,t=e,i=!1){if({from:e,to:t}=this.Normalize(e,t),e.row===t.row&&e.column===t.column)return this.data[e.row]&&this.data[e.row][e.column]?this.data[e.row][e.column].GetValue4():{value:void 0,type:0};let r=[];if(i)for(let s=e.column;s<=t.column;s++){let o=[];for(let n=e.row;n<=t.row;n++)this.data[n]&&this.data[n][s]?o.push(this.data[n][s].GetValue4()):o.push({type:0});r.push(o)}else for(let s=e.row;s<=t.row;s++){let o=[];for(let n=e.column;n<=t.column;n++)this.data[s]&&this.data[s][n]?o.push(this.data[s][n].GetValue4()):o.push({type:0});r.push(o)}return{type:9,value:r}}SetArea(e,t){if(ArrayBuffer.isView(t))throw new Error("ABIV");if(Array.isArray(t))for(let i=e.start.row,r=0;i<=e.end.row;i++,r++){this.data[i]||(this.data[i]=[]);let s=this.data[i];if(t[r])for(let o=e.start.column,n=0;o<=e.end.column;o++,n++)s[o]||(s[o]=new $),s[o].Set(t[r][n])}else{let i=re(t);for(let r=e.start.row;r<=e.end.row;r++){this.data[r]||(this.data[r]=[]);let s=this.data[r];for(let o=e.start.column;o<=e.end.column;o++)s[o]||(s[o]=new $),s[o].Set(t,i)}}this.rows_=Math.max(this.rows_,e.end.row+1),this.columns_=Math.max(this.columns_,e.end.column+1)}*IterateRC(e,t=!1){if(!e&&t&&(e=new _({row:0,column:0},{row:this.rows_-1,column:this.columns-1})),e)if(t)for(let i=e.start.row;i<=e.end.row;i++){this.data[i]||(this.data[i]=[]);let r=this.data[i];for(let s=e.start.column;s<=e.end.column;s++)r[s]||(r[s]=new $),yield{cell:r[s],row:i,column:s}}else for(let i=e.start.row;i<=e.end.row;i++){let r=this.data[i];if(r)for(let s=e.start.column;s<=e.end.column;s++){let o=r[s];o&&(yield{cell:o,row:i,column:s})}}else for(let[i,r]of this.data.entries())if(r)for(let[s,o]of r.entries())o&&(yield{cell:o,row:i,column:s})}*Iterate(e,t=!1){if(!e&&t&&(e=new _({row:0,column:0},{row:this.rows_-1,column:this.columns-1})),e){L(e)&&(e=new _(e)),(e.entire_column||e.entire_row)&&(e=new _(e.start,e.end),e.start.column===1/0&&(e.start.column=0,e.end.column=this.columns_-1),e.start.row===1/0&&(e.start.row=0,e.end.row=this.rows_-1));let i=e.start,r=e.end;if(t)for(let s=i.row;s<=r.row;s++){this.data[s]||(this.data[s]=[]);let o=this.data[s];for(let n=i.column;n<=r.column;n++)o[n]||(o[n]=new $),yield o[n]}else for(let s=i.row;s<=r.row;s++)if(this.data[s]){let o=this.data[s];for(let n=i.column;n<=r.column;n++)o[n]&&(yield o[n])}}else for(let i of this.data)if(i)for(let r of i)r&&(yield r)}FlushCellStyles(){for(let e of this.data)if(e)for(let t of e)t&&t.FlushStyle()}FlushCachedValues(){for(let e of this.data)if(e)for(let t of e)t&&t.FlushCache()}};var M=class{static locale="en-us";static decimal_separator=".";static argument_separator=",";static grouping_separator=",";static date_components={short_days:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],long_days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],short_months:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],long_months:["January","February","March","April","May","June","July","August","September","October","November","December"]};static UpdateLocale(e){if(e)this.locale=e;else if(typeof self<"u"){let r=self?.document?.location;if(r&&r.search&&/locale=([^?&]+?)(?:\?|$|&)/.test(r.search)){let s=r.search.match(/locale=(.*?)(?:\?|$|&)/);s&&(this.locale=s[1]),console.info("override locale",this.locale)}else typeof navigator<"u"&&(navigator.languages&&navigator.languages[0]?this.locale=navigator.languages[0]:this.locale=navigator.language)}this.locale==="C"&&(console.warn("Locale not set, defaulting to en-us"),this.locale="en-us");let t=new Intl.NumberFormat(this.locale,{minimumFractionDigits:1}).format(3.3).replace(/\d/g,"");this.decimal_separator=t===","?",":".",this.decimal_separator===","?(this.argument_separator=";",this.grouping_separator=" "):(this.argument_separator=",",this.grouping_separator=",");let i=new Date(2e3,0,2,12,0,0,0);this.UpdateDateComponent(0,0,i),i=new Date(2e3,1,7,12,0,0,0),this.UpdateDateComponent(1,1,i),i=new Date(2e3,2,7,12,0,0,0),this.UpdateDateComponent(2,2,i),i=new Date(2e3,3,5,12,0,0,0),this.UpdateDateComponent(3,3,i),i=new Date(2e3,4,4,12,0,0,0),this.UpdateDateComponent(4,4,i),i=new Date(2e3,5,2,12,0,0,0),this.UpdateDateComponent(5,5,i),i=new Date(2e3,6,1,12,0,0,0),this.UpdateDateComponent(6,6,i),i=new Date(2e3,7,1,12,0,0,0),this.UpdateDateComponent(7,-1,i),i=new Date(2e3,8,1,12,0,0,0),this.UpdateDateComponent(8,-1,i),i=new Date(2e3,9,1,12,0,0,0),this.UpdateDateComponent(9,-1,i),i=new Date(2e3,10,1,12,0,0,0),this.UpdateDateComponent(10,-1,i),i=new Date(2e3,11,1,12,0,0,0),this.UpdateDateComponent(11,-1,i)}static UpdateDateComponent(e,t,i){t>=0&&(this.date_components.short_days[t]=i.toLocaleString(this.locale,{weekday:"short"}),this.date_components.long_days[t]=i.toLocaleString(this.locale,{weekday:"long"})),e>=0&&(this.date_components.short_months[e]=i.toLocaleString(this.locale,{month:"short"}),this.date_components.long_months[e]=i.toLocaleString(this.locale,{month:"long"}))}};M.UpdateLocale();var F=class f{constructor(e=0,t=0,i=0,r=0){this.left=e;this.top=t;this.width=i;this.height=r}get right(){return this.left+this.width}get bottom(){return this.top+this.height}static Create(e){return new f(e.left||0,e.top||0,e.width||0,e.height||0)}static IsRectangle(e){return!!e&&typeof e=="object"&&typeof e.left=="number"&&typeof e.top=="number"&&typeof e.width=="number"&&typeof e.height=="number"}Shift(e=0,t=0){return new f(this.left+e,this.top+t,this.width,this.height)}Scale(e=1,t=e){return new f(this.left*e,this.top*t,this.width*e,this.height*t)}Expand(e=0,t=0){return new f(this.left,this.top,this.width+e,this.height+t)}Combine(e){return new f(Math.min(this.left,e.left),Math.min(this.top,e.top),Math.max(this.right,e.right)-Math.min(this.left,e.left),Math.max(this.bottom,e.bottom)-Math.min(this.top,e.top))}Contains(e,t,i=0){return e>=this.left-i&&e<=this.left+this.width+i&&t>=this.top-i&&t<=this.top+this.height+i}ContextFill(e){e.fillRect(this.left,this.top,this.width,this.height)}ContextStroke(e){e.strokeRect(this.left,this.top,this.width,this.height)}Clamp(e,t){return e=Math.min(Math.max(e,this.left),this.right),t=Math.min(Math.max(t,this.top),this.bottom),{x:e,y:t}}ApplyStyle(e){e.style.top=this.top+"px",e.style.left=this.left+"px",e.style.width=this.width+"px",e.style.height=this.height+"px"}toJSON(){return{top:this.top,left:this.left,width:this.width,height:this.height}}};var Ai=JSON.stringify({}),Ti={Background:0,Text:1,Background2:2,Text2:3,Accent:4,Accent2:5,Accent3:6,Accent4:7,Accent5:8,Accent6:9},at=f=>typeof f.theme=="number"?f.theme:Ti[f.theme]||0,H=f=>!!f&&typeof f.text=="string",ke=f=>!!f&&typeof f.theme<"u",Mt=f=>!!f&&(typeof f.text=="string"||typeof f.theme<"u"),D={DefaultProperties:{horizontal_align:"",vertical_align:"",number_format:"General",nan:"NaN",font_size:{unit:"em",value:1},bold:!1,italic:!1,underline:!1,strike:!1,text:{theme:1},border_top:0,border_left:0,border_right:0,border_bottom:0},CompositeBorders:f=>({top:{width:f.border_top||0,color:f.border_top_fill||{}},left:{width:f.border_left||0,color:f.border_left_fill||{}},right:{width:f.border_right||0,color:f.border_right_fill||{}},bottom:{width:f.border_bottom||0,color:f.border_bottom_fill||{}}}),Serialize:f=>{let e=JSON.parse(JSON.stringify(f));return e.border_bottom_fill&&!e.border_bottom&&(e.border_bottom_fill=void 0),e.border_top_fill&&!e.border_top&&(e.border_top_fill=void 0),e.border_left_fill&&!e.border_left&&(e.border_left_fill=void 0),e.border_right_fill&&!e.border_right&&(e.border_right_fill=void 0),JSON.stringify(e)},Merge:(f,e,t=!0)=>{let i=t?{...f,...e}:{...e};return JSON.parse(JSON.stringify(i))},Composite:f=>JSON.parse(JSON.stringify(f.reduce((e,t)=>({...e,...t}),{}))),Empty:f=>JSON.stringify(f)===Ai,ParseFontSize:(f="",e="em")=>{let t=f.match(/(-*[\d.]+)\s*(\S*)/);if(t){let i=Number(t[1]);if(!i||isNaN(i)||i<0)return{};let r=t[2].toLowerCase()||e;if(r==="pt"||r==="em"||r==="%"||r==="px")return{font_size:{unit:r,value:i}}}return{}},RelativeFontSize:(f,e)=>{let t=12,i=12;switch(f.font_size?.unit){case"pt":if(!f.font_size.value)return 1;i=f.font_size.value;break;case"px":if(!f.font_size.value)return 1;i=Math.round(f.font_size.value*300/4)/100;break;case"em":return f.font_size.value||1;case"%":return(f.font_size.value||100)/100;default:return 1}switch(e.font_size?.unit){case"pt":if(!e.font_size.value)return 1;t=e.font_size.value;break;case"px":if(!e.font_size.value)return 1;t=Math.round(e.font_size.value*300/4)/100;break;default:return 1}return i/t},FontSize:(f,e=!0)=>{let t=f.font_size?.value;switch(f.font_size?.unit){case"pt":return(t||12)+"pt";case"px":return e?Math.round((t||16)*300/4)/100+"pt":(t||16)+"px";case"em":return(t||1)+"em";case"%":return(t||100)+"%"}return""},CompositeFontSize:(f,e,t=1,i=!1)=>{let r={...f};return e.unit==="pt"||e.unit==="px"?r={...e}:(r.value=e.value*f.value,e.unit==="%"&&(r.value/=100)),r.unit==="px"&&i&&(r.value=Math.round((r.value||16)*300/4)/100),r.value*=t,r},CompositeFont:(f,e,t,i)=>{let r,s,o,n=[];e.bold&&n.push("bold"),e.italic&&n.push("italic");let a=e.font_face||"stack:default";if(a.startsWith("stack:")){let l=i.font_stacks[a.substring(6)||"default"];l||(l=i.font_stacks.default),l&&(s=e.font_size,o=D.CompositeFontSize(l.size,e.font_size||{unit:"pt",value:10},t),n.push(o.value.toFixed(2)+o.unit),n.push(l.font||""),r=l.variants)}else o=D.CompositeFontSize(f,e.font_size||{unit:"pt",value:10},t),n.push(o.value.toFixed(2)+o.unit),n.push(a||"");return{font:n.join(" "),variants:r,base:f,size:e.font_size,scale:t,stack_size:s,font_size:o}}};var Re=f=>!!f&&Array.isArray(f)&&Array.isArray(f[0]),Pr=(f,e)=>(typeof e>"u"&&(e=re(f)),{value:f,type:e}),Or=f=>f.imaginary?{type:8,value:f}:{type:3,value:f.real};var N={Darken:(f,e,t,i,r=!1)=>{let{h:s,s:o,l:n}=N.RGBToHSL(f,e,t);return r?n-=n*i/100:n-=i/100,n=Math.max(0,Math.min(1,n)),N.HSLToRGB(s,o,n)},Lighten:(f,e,t,i,r=!1)=>{let{h:s,s:o,l:n}=N.RGBToHSL(f,e,t);return r?n+=n*i/100:n+=i/100,n=Math.max(0,Math.min(1,n)),N.HSLToRGB(s,o,n)},RGBToHSL:(f,e,t)=>{f/=255,e/=255,t/=255;let i=Math.max(f,e,t),r=Math.min(f,e,t),s=0,o=0,n=(i+r)/2;if(i===r)s=o=0;else{let a=i-r;switch(o=n>.5?a/(2-i-r):a/(i+r),i){case f:s=(e-t)/a+(e<t?6:0);break;case e:s=(t-f)/a+2;break;case t:s=(f-e)/a+4;break}s/=6}return{h:s*360,s:o,l:n}},HSLToRGB:(f,e,t)=>{let i,r,s;if(e===0)i=r=s=t;else{f=f/360;let o=t<.5?t*(1+e):t+e-t*e,n=2*t-o;i=N.HueToRGB(n,o,f+.3333333333333333),r=N.HueToRGB(n,o,f),s=N.HueToRGB(n,o,f-.3333333333333333)}return{r:Math.round(i*255),g:Math.round(r*255),b:Math.round(s*255)}},HueToRGB:(f,e,t)=>(t<0&&(t+=1),t>1&&(t-=1),t<.16666666666666666?f+(e-f)*6*t:t<.5?e:t<.6666666666666666?f+(e-f)*(.6666666666666666-t)*6:f),GetLuminance:([f,e,t])=>{let i=[f,e,t].map(r=>(r/=255,r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4)));return .2126*i[0]+.7152*i[1]+.0722*i[2]},WeightedLuminance:([f,e,t],i=[1,1,1])=>{let r=[f,e,t].map(s=>(s/=255,s<=.03928?s/12.92:Math.pow((s+.055)/1.055,2.4)));return .2126*r[0]*i[0]+.7152*r[1]*i[1]+.0722*r[2]*i[2]},GetContrastRatio:f=>(f.sort((e,t)=>t-e),(f[0]+.05)/(f[1]+.05)),GetTextColor:(f,e,t)=>{let i=[.4,.3,.3],r=N.WeightedLuminance(f,i),s=N.WeightedLuminance(e,i),o=N.WeightedLuminance(t,i),n=N.GetContrastRatio([s,r]),a=N.GetContrastRatio([o,r]);return n>a?e:t}};var ki="http://www.w3.org/2000/svg",z=class f{static instances=[];static GetInstance(e){for(let i of this.instances)if(i.doc===e)return i;let t=new f(e);return this.instances.push(t),t}doc;view;get HTMLElement(){return this.view?.HTMLElement}constructor(e){e&&(this.doc=e,this.view=e?.defaultView)}GetSelection(){return this.view?.getSelection()}Div(e,t,i){return this.Create("div",e,t,i)}ClassNames(e,t){e.classList.add(...(Array.isArray(t)?t:[t]).reduce((i,r)=>[...i,...r.split(/\s+/g)],[]))}SVG(e,t,i){let r=this.doc.createElementNS(ki,e);return t&&this.ClassNames(r,t),i&&i.appendChild(r),r}Text(e){return this.doc.createTextNode(e)}Fragment(){return this.doc.createDocumentFragment()}Create(e,t,i,r){let s=this.doc.createElement(e);if(t&&this.ClassNames(s,t),r){if(r.attrs)for(let[o,n]of Object.entries(r.attrs))s.setAttribute(o,n);if(r.data)for(let[o,n]of Object.entries(r.data))s.dataset[o]=n;if(r.text&&(s.textContent=r.text),r.html&&(s.innerHTML=r.html),r.events)for(let[o,n]of Object.entries(r.events))s.addEventListener(o,n);if(r.style)for(let[o,n]of Object.entries(r.style))s.style[o]=n}return i&&i.appendChild(s),s}};var Ri=1e3,Q=class{constructor(e=!1,t){this.verbose=e;this.log_id=t}queue=[];dispatched=!1;subscribers=[];Publish(e){this.verbose&&console.info(`es publish (${this.log_id})`,e),Array.isArray(e)?this.queue.push(...e):this.queue.push(e),this.dispatched||(this.dispatched=!0,Promise.resolve().then(()=>{let t=this.queue.slice(0);this.dispatched=!1,this.queue=[];for(let i of t)for(let r of this.subscribers)r.subscriber(i)}))}Subscribe(e){let t=Ri++;return this.subscribers.push({subscriber:e,token:t}),t}Cancel(e){this.subscribers=this.subscribers.filter(t=>t.token!==e)}CancelAll(){this.subscribers=[]}};var W=class{static color_measurement_canvas;static text_measurement_node;static color_cache={};static MeasureColorARGB(e){let t=this.MeasureColor(e),i="FF";for(let r=0;r<3;r++){let s=t[r].toString(16);s.length===0?i+="00":s.length===1?i+=`0${s}`:i+=s}return i.toUpperCase()}static MeasureColor(e){let t=this.color_cache[e];if(t)return t;this.color_measurement_canvas||(this.color_measurement_canvas=document.createElement("canvas"),this.color_measurement_canvas.width=1,this.color_measurement_canvas.height=1);let i=this.color_measurement_canvas.getContext("2d",{willReadFrequently:!0});return i?(i.fillStyle="#fff",i.fillRect(0,0,1,1),i.fillStyle=e,i.fillRect(0,0,1,1),t=new Uint8ClampedArray(i.getImageData(0,0,1,1).data),this.color_cache[e]=t,t):new Uint8ClampedArray(3)}static EnsureMeasurementNode(){if(!this.text_measurement_node){let e=document.querySelector(".treb-chart-measurement-node");e?this.text_measurement_node=e:(this.text_measurement_node=document.createElement("div"),this.text_measurement_node.classList.add("treb-chart-measurement-node"),this.text_measurement_node.style.margin="0px",this.text_measurement_node.style.padding="0px",this.text_measurement_node.style.height="initial",this.text_measurement_node.style.width="initial",this.text_measurement_node.style.whiteSpace="nowrap",this.text_measurement_node.style.position="fixed",this.text_measurement_node.style.border="0px",this.text_measurement_node.style.border="1px solid red",this.text_measurement_node.style.boxSizing="content-box",this.text_measurement_node.style.top=this.text_measurement_node.style.left="-1000px",document.body.appendChild(this.text_measurement_node))}}static FontLoaded(e,t=!1,i=400){let r=`${t?"italic":""} ${i} 20pt ${e}`,s=this.MeasureText(`${r}, sans-serif`,"check font"),o=this.MeasureText(`${r}, serif`,"check font"),n=this.MeasureText(`${r}, monospace`,"check font");return s.width===o.width&&o.width===n.width}static MeasureText(e,t,i=0){this.EnsureMeasurementNode(),this.text_measurement_node.style.font=e,/\n/.test(t)?(t=t.replace(/\n/g,"<BR/>"),this.text_measurement_node.innerHTML=t):this.text_measurement_node.textContent=t,this.text_measurement_node.style.lineHeight="1em",i?this.text_measurement_node.style.transform=`rotate(${i}deg)`:this.text_measurement_node.style.transform="";let r=this.text_measurement_node.getBoundingClientRect();return{width:r.width,height:r.height}}};var lt,Lt=f=>{let e=new Map;for(let t=0;t<f.length;t++){let i=f[t];e.set(i,f.getPropertyValue(i))}return e},Ei=(f,e,t)=>{let i=new Map,r=Lt(e);for(let[o,n]of r.entries())n!==t.get(o)&&i.set(o,n);return(Array.from(i.entries()).map(([o,n])=>`${o}: ${n}`).join("; ")+"; "+(f.getAttribute("style")||"")).trim().replace(/"/g,"'")},Ut=(f,e)=>{let t=f.cloneNode(!1),i=getComputedStyle(f),r=Ei(f,i,e);t.removeAttribute("class"),t.setAttribute("style",r);let s;return Array.prototype.forEach.call(f.childNodes,o=>{switch(o.nodeType){case Node.ELEMENT_NODE:s||(s=Lt(i)),t.appendChild(Ut(o,s));break;case Node.TEXT_NODE:f.textContent&&t.appendChild(document.createTextNode(f.textContent));break;case Node.COMMENT_NODE:break;default:console.warn("unhandled node type in serialize",o)}}),t},Ft=f=>{if(!lt){let t=new Map,i=document.createElement("iframe");i.style.width="10px",i.style.height="10px",i.style.position="absolute",i.style.left="-100px",document.body.appendChild(i);let r=i.contentDocument;if(r){let s=r.createElement("div");r.body.appendChild(s);let o=getComputedStyle(s);Array.prototype.forEach.call(o,n=>t.set(n,o[n]))}document.body.removeChild(i),lt=t}let e=Ut(f,lt);return e instanceof Element&&e.tagName==="svg"&&(e.hasAttribute("version")||e.setAttribute("version","1.1"),e.hasAttribute("xmlns")||e.setAttribute("xmlns","http://www.w3.org/2000/svg"),e.hasAttribute("xmlns:xlink")||e.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink")),e};var Di={data:!0,same_origin:!0,remote:!1},zt=(f,e={})=>{let t={...Di,...e};try{let i=new URL(f,document.location.href);return i.protocol==="data:"?t.data?i.href:void 0:i.origin===document.location.origin?t.same_origin?i.href:void 0:t.remote?i.hash:void 0}catch(i){console.error(i)}};var jr=(f,e,t=6.5,i=!1,r=!1)=>{if(e===f)e++,f&&f--;else{let h=Math.round(e*1e5)/1e5;Math.abs(h-e)/(e-f)<1e-5&&(e=h)}let s=e-f,o=Math.log(s)/Math.log(10),n=Math.floor(Math.abs(o))*(o<0?-1:1)-1;r&&(n=Math.max(0,n));let a=r?[1,2,5,10,15,20,25,50,100]:[.1,.25,.5,1,2.5,5,10,25,50,100],l=-1,c=0;for(let h of a){let d=h*Math.pow(10,n),u=Math.floor(f/d)*d,m=(Math.ceil(e/d)*d-u)/d,b=Math.abs(m-t);(l<0||b<c)&&(!i||m<=t)&&(c=b,l=d)}return f=Math.floor(f/l)*l,e=Math.ceil(e/l)*l,t=Math.round((e-f)/l),{scale:n,step:l,count:t,min:f,max:e}};var Nt={spreadsheet_semantics:!0,dimensioned_quantities:!1,fractions:!0,decimal_mark:".",argument_separator:",",boolean_true:"TRUE",boolean_false:"FALSE"};var ue=/[\s-+=<>!()]/,Bt=/['*\\]/,ct=34,ht=39,Ii=160,Pt=32,Mi=9,Li=10,Ui=13,te=48,_e=57,dt=46,ut=43,be=45,Ot=40,ft=41,ye=44,Fi=37,pt=95,Ee=36,zi=123,Ni=125,ge=91,Vt=93,Pi=63,Oi=33,Gt=59,mt=35,Vi=64,de=65,we=97,Gi=69,Hi=101,De=90,Ie=122,Bi=105,_t=192,bt=382,yt={"==":6,"!=":6,"<>":6,"=":6,"<":7,">":7,"<=":7,">=":7,"+":9,"-":9,"&":9,"*":10,"/":10,"^":11,":":13},$i={"@":50,"-":100,"+":100},Ji=[...Object.keys(yt),"@"].sort((f,e)=>e.length-f.length),Me=class{get argument_separator(){return this.flags.argument_separator}get decimal_mark(){return this.flags.decimal_mark}flags={...Nt};r1c1_regex=/[rR]((?:\[[-+]{0,1}\d+\]|\d*))[cC]((?:\[[-+]{0,1}\d+\]|\d*))$/;argument_separator_char=ye;decimal_mark_char=dt;imaginary_char=Bi;imaginary_number="i";id_counter=0;expression="";data=[];index=0;length=0;valid=!0;error_position;error;dependencies={addresses:{},ranges:{}};address_refcount={};full_reference_list=[];parser_state_cache=[];SetLocaleSettings(e,t){if(typeof t>"u"&&(t=e===","?";":","),t===e)throw new Error("invalid locale setting");this.flags.argument_separator=t,this.flags.decimal_mark=e}Save(){this.parser_state_cache.push(JSON.stringify(this.flags))}Restore(){let e=this.parser_state_cache.shift();if(e)try{this.flags=JSON.parse(e)}catch(t){console.error(t)}else console.warn("No parser state to restore")}Walk2(e,t){let i=t(e);if(typeof i=="object")return i;switch(e.type){case"address":case"missing":case"literal":case"complex":case"identifier":case"operator":case"structured-reference":break;case"dimensioned":i&&(e.expression=this.Walk2(e.expression,t),e.unit=this.Walk2(e.unit,t));break;case"range":t(e)&&(e.start=this.Walk2(e.start,t),e.end=this.Walk2(e.end,t));break;case"binary":t(e)&&(e.left=this.Walk2(e.left,t),e.right=this.Walk2(e.right,t));break;case"unary":t(e)&&(e.operand=this.Walk2(e.operand,t));break;case"group":t(e)&&(e.elements=e.elements.map(r=>this.Walk2(r,t)));break;case"implicit-call":t(e)&&(e.call=this.Walk2(e.call,t),e.args=e.args.map(r=>this.Walk2(r,t)));break;case"call":t(e)&&(e.args=e.args.map(r=>this.Walk2(r,t)));break}return e}Walk(e,t){switch(e.type){case"address":case"missing":case"literal":case"complex":case"identifier":case"operator":case"structured-reference":t(e);return;case"dimensioned":t(e)&&(this.Walk(e.expression,t),this.Walk(e.unit,t));return;case"range":t(e)&&(this.Walk(e.start,t),this.Walk(e.end,t));return;case"binary":t(e)&&(this.Walk(e.left,t),this.Walk(e.right,t));return;case"unary":t(e)&&this.Walk(e.operand,t);return;case"group":if(t(e))for(let i of e.elements)this.Walk(i,t);return;case"implicit-call":if(t(e)){this.Walk(e.call,t);for(let i of e.args)this.Walk(i,t)}return;case"call":if(t(e))for(let i of e.args)this.Walk(i,t)}}Transpose(e){let t=e.length,i=[],r=0;for(let s=0;s<t;s++)Array.isArray(e[s])&&(r=Math.max(r,e[s].length));for(let s=0;s<r;s++){i[s]=[];for(let o=0;o<t;o++)i[s][o]=e[o]?e[o][s]:void 0}return i}Render(e,t={}){let i=t.offset||{rows:0,columns:0},r=t.missing??"(missing)",{convert_decimal:s,convert_argument_separator:o,long_structured_references:n,table_name:a}=t,l=this.flags.argument_separator+" ";o===","?l=", ":o===";"&&(l="; ");let c=s===","?",":".",h=this.flags.decimal_mark===","?/,/:/\./,d=this.flags.decimal_mark===","?/,/g:/\./g;switch(e.type){case"address":return t.pass_through_addresses?e.label:t.r1c1?this.R1C1Label(e,t):this.AddressLabel(e,i);case"range":return t.pass_through_addresses?e.label:t.r1c1?this.R1C1Label(e.start,t)+":"+this.R1C1Label(e.end,t):this.AddressLabel(e.start,i)+":"+this.AddressLabel(e.end,i);case"missing":return r;case"array":return"{"+this.Transpose(e.values).map(u=>u.map(p=>typeof p=="string"?'"'+p+'"':p).join(", ")).join("; ")+"}";case"binary":{let u=e.operator===":"||e.operator==="^"?"":" ";return this.Render(e.left,t)+u+e.operator+u+this.Render(e.right,t)}case"unary":return e.operator+this.Render(e.operand,t);case"complex":if(e.text)return s?e.text.replace(d,c):e.text;{let u=Math.abs(e.imaginary).toString();if((s===","||this.flags.decimal_mark===",")&&(u=u.replace(/\./,",")),e.real){let p=e.real.toString();(s===","||this.flags.decimal_mark===",")&&(p=p.replace(/\./,","));let m=Math.abs(e.imaginary);return`${p}${e.imaginary<0?" - ":" + "}${m===1?"":u}i`}else return e.imaginary===-1?"-i":e.imaginary===1?"i":`${e.imaginary<0?"-":""}${u}i`}break;case"literal":if(typeof e.value=="string")return'"'+e.value.replace(/"/g,'""')+'"';if(typeof e.value=="boolean")return e.value?t.boolean_true||this.flags.boolean_true||"true":t.boolean_false||this.flags.boolean_false||"false";if(s&&typeof e.value=="number")if(e.text){let u=e.text;return s===","&&this.flags.decimal_mark==="."&&(u=u.replace(/,/g,"")),u.replace(h,c)}else return e.value.toString().replace(/\./,c);else if(e.text)return e.text;return e.value.toString();case"identifier":return e.name;case"operator":return"["+e.operator+"]";case"group":return e.explicit?"("+e.elements.map(u=>this.Render(u,t)).join(l)+")":e.elements.map(u=>this.Render(u,t)).join(l);case"implicit-call":return this.Render(e.call,t)+"("+e.args.map(u=>this.Render(u,t)).join(l)+")";case"call":return e.name+"("+e.args.map(u=>this.Render(u,t)).join(l)+")";case"dimensioned":return this.Render(e.expression)+" "+this.Render(e.unit);case"structured-reference":{let u=e.column;/[^A-Za-z]/.test(u)&&(u="["+u+"]");let p=e.table;switch(!p&&n&&a&&(p=a),e.scope){case"all":return`${p}[[#all],${u}]`;case"row":return n?`${p}[[#this row],${u}]`:`${p}[@${u}]`;case"column":return`${p}[${u}]`}throw new Error("unhandled scope in structured reference")}}return"??"}Parse(e){e=e.trim(),e[0]==="="&&(e=e.substr(1).trim()),this.expression=e,this.data=[],this.length=e.length,this.index=0,this.valid=!0,this.error_position=void 0,this.error=void 0,this.dependencies.addresses={},this.dependencies.ranges={},this.address_refcount={},this.full_reference_list=[],this.id_counter=0,this.flags.argument_separator===";"?this.argument_separator_char=Gt:this.argument_separator_char=ye,this.flags.decimal_mark===","?this.decimal_mark_char=ye:this.decimal_mark_char=dt;for(let r=0;r<this.length;r++)this.data[r]=e.charCodeAt(r);let t=this.ParseGeneric(),i={};for(let r of Object.keys(this.dependencies.addresses))this.address_refcount[r]&&(i[r]=this.dependencies.addresses[r]);return this.dependencies.addresses=i,{expression:t||void 0,valid:this.valid,error:this.error,error_position:this.error_position,dependencies:this.dependencies,separator:this.flags.argument_separator,decimal_mark:this.flags.decimal_mark,full_reference_list:this.full_reference_list.slice(0)}}ColumnLabel(e){if(e===1/0)return"";let t=String.fromCharCode(65+e%26);for(;e>25;)e=Math.floor(e/26)-1,t=String.fromCharCode(65+e%26)+t;return t}R1C1Label(e,t){let i=!!t.r1c1_force_relative,r=t.r1c1_base,s="";e.sheet&&(s=(ue.test(e.sheet)?"'"+e.sheet+"'":e.sheet)+"!");let o="",n="";if(i&&t.r1c1_proper_semantics&&r){if(e.absolute_row)o=(e.row+1).toString();else{let a=e.row-r.row;a&&(o=`[${a}]`)}if(e.absolute_column)n=(e.column+1).toString();else{let a=e.column-r.column;a&&(n=`[${a}]`)}}else if(i&&r){let a=e.row-r.row,l=e.column-r.column;a&&(o=`[${a}]`),l&&(n=`[${l}]`)}else o=e.offset_row?`[${e.row}]`:(e.row+1).toString(),n=e.offset_column?`[${e.column}]`:(e.column+1).toString();return s+=`R${o}C${n}`,s}AddressLabel(e,t){let i=e.column;!e.absolute_column&&e.column!==1/0&&(i+=t.columns);let r=e.row;if(!e.absolute_row&&e.row!==1/0&&(r+=t.rows),r<0||i<0||r===1/0&&i===1/0)return"#REF";let s="";return e.sheet&&(s=(ue.test(e.sheet)?"'"+e.sheet+"'":e.sheet)+"!"),r===1/0?s+(e.absolute_column?"$":"")+this.ColumnLabel(i):i===1/0?s+(e.absolute_row?"$":"")+(r+1):s+(e.absolute_column?"$":"")+this.ColumnLabel(i)+(e.absolute_row?"$":"")+(r+1)+(e.spill?"#":"")}ParseGeneric(e=[0],t=!1){let i=[];for(;this.index<this.length;){let r=this.ParseNext(i.length===0);if(typeof r=="number"){if(e.some(s=>r===s))break;if(r===Ot){this.index++;let s=this.ParseGeneric([ft],!0);this.index++,i.push({type:"group",id:this.id_counter++,elements:s?[s]:[],explicit:!0})}else{let s=this.ConsumeOperator();s?i.push(s):t&&r===this.argument_separator_char?(i.push({type:"group-separator",position:this.index,id:this.id_counter++}),this.index++):(this.error=`unexpected character [1]: ${String.fromCharCode(r)}, 0x${r.toString(16)}`,this.valid=!1,this.index++)}}else i.push(r)}if(i.length){if(i=this.BinaryToRange2(i),this.flags.fractions){let r=[],s=n=>n.type==="literal"&&typeof n.value=="number"&&n.value%1===0,o=0;for(;o<i.length-3;o++)if(s(i[o])&&s(i[o+1])&&i[o+2].type==="operator"&&i[o+2].operator==="/"&&s(i[o+3])){let n=i[o],a=i[o+1],l=i[o+3],c=(n.value<0?-1:1)*(a.value/l.value);o+=3,r.push({id:i[o].id,type:"literal",text:this.expression.substring(n.position,l.position+1),value:n.value+c,position:n.position})}else r.push(i[o]);for(;o<i.length;o++)r.push(i[o]);i=r}if(i=i.map(r=>r.type==="identifier"&&r.name===this.imaginary_number?{type:"complex",real:0,imaginary:1,position:r.position,text:r.name,id:this.id_counter++}:r),this.flags.dimensioned_quantities){let r=[],s;for(let o=0;o<i.length;o++){let n=i[o];if(!s)s=n;else if(n.type==="identifier"&&(s.type==="literal"||s.type==="group"||s.type==="call")){let a=n;for(;i[o+1]?.type==="identifier";)a.name+=" "+i[++o].name;r.push({type:"dimensioned",expression:s,unit:n,id:this.id_counter++}),s=void 0}else r.push(s),s=n}s&&r.push(s),i=r}}return i.length===0?null:i.length===1?i[0]:this.BinaryToComplex(this.ArrangeUnits(i))}UnitToAddress(e){if(e.type==="literal"){if(typeof e.value=="number"&&e.value>0&&!/\./.test(e.text||""))return{type:"address",position:e.position,label:e.value.toString(),row:e.value-1,id:this.id_counter++,column:1/0}}else{let t,i=e.name,r=i.split("!");if(r.length>1&&(t=r.slice(0,r.length-1).join("!"),i=i.substr(t.length+1),t[0]==="'"))if(t.length>1&&t[t.length-1]==="'")t=t.substr(1,t.length-2);else return;let s=i[0]==="$";i=(s?i.substr(1):i).toUpperCase();let o=Number(i);if(isNaN(o)){if(/[A-Z]{1,3}/.test(i)){let n=-1;for(let a=0;a<i.length;a++){let l=i[a].charCodeAt(0);n=26*(1+n)+(l-de)}return{type:"address",position:e.position,absolute_column:s,label:e.name,column:n,id:this.id_counter++,row:1/0,sheet:t}}}else if(o>0&&o!==1/0&&!/\./.test(i))return{type:"address",position:e.position,absolute_row:s,label:e.name,row:o-1,id:this.id_counter++,column:1/0,sheet:t}}}BinaryToRange2(e){let t=[];for(let i=0;i<e.length;i++){let r=e[i],s=e[i+1],o=e[i+2],n,a="",l;if(r&&s&&o&&s.type==="operator"&&s.operator===":"){if(r.type==="address"&&o.type==="address"){let c=r.position+r.label.length,h=o.position;n={type:"range",id:this.id_counter++,position:r.position,start:r,end:o,label:r.label+this.expression.substring(c,h)+o.label},a=n.start.label+":"+n.end.label,this.address_refcount[n.start.label]--,this.address_refcount[n.end.label]--;let d=[r.position,o.position];this.full_reference_list=this.full_reference_list.filter(u=>u.position!==d[0]&&u.position!==d[1])}else if((r.type==="literal"||r.type==="identifier")&&(o.type==="literal"||o.type==="identifier")){let c=this.UnitToAddress(r);if(!c&&r.type==="literal"&&typeof r.value=="number"&&r.value<0){let d={...r,text:(r.text||"").replace(/^-/,""),position:r.position+1,value:-r.value};c=this.UnitToAddress(d),c&&(l={type:"operator",operator:"-",position:r.position,id:this.id_counter++})}let h=this.UnitToAddress(o);c&&h&&(c.column===1/0&&h.column===1/0||c.row===1/0&&h.row===1/0)&&(a=c.label+":"+h.label,n={type:"range",id:this.id_counter++,position:c.position,start:c,end:h,label:a})}}n?(l&&t.push(l),t.push(n),this.dependencies.ranges[a]=n,this.full_reference_list.push(n),i+=2):t.push(r)}return t}BinaryToComplex(e){if(e.type==="binary")if((e.operator==="+"||e.operator==="-")&&e.left.type==="literal"&&typeof e.left.value=="number"&&e.right.type==="complex"&&!e.right.composited){let t="";t=this.expression.substring(e.left.position,e.right.position+(e.right.text?.length||0));let i=e.right.imaginary;return e.operator==="-"&&(i=-i),{type:"complex",position:e.left.position,text:t,id:this.id_counter++,imaginary:i,real:e.left.value,composited:!0}}else e.left=this.BinaryToComplex(e.left),e.right=this.BinaryToComplex(e.right);else if(e.type==="unary"&&(e.operator==="-"||e.operator==="+")&&e.operand.type==="complex"&&e.operand.text===this.imaginary_number)return{...e.operand,position:e.position,text:this.expression.substring(e.position,e.operand.position+(e.operand.text||"").length),imaginary:e.operand.imaginary*(e.operator==="-"?-1:1)};return e}ArrangeUnits(e){if(e.length===0)return{type:"missing",id:this.id_counter++};if(e.length===1)return e[0];let t=[];for(let i=0;i<e.length;i++){let r=e[i];if(r.type!=="group-separator"){if(r.type==="operator")if(t.length===0||t[t.length-1].type==="operator")if($i[r.operator]){let s=this.BinaryToComplex(this.ArrangeUnits(e.slice(i+1)));if(!this.valid)return{type:"group",id:this.id_counter++,elements:e,explicit:!1};s.type==="binary"?(s.left={type:"unary",id:this.id_counter++,operator:r.operator,operand:s.left,position:r.position},r=s):r={type:"unary",id:this.id_counter++,operator:r.operator,operand:s,position:r.position},i=e.length}else return this.error=`unexpected character [2]: ${r.operator}`,this.error_position=r.position,this.valid=!1,{type:"group",id:this.id_counter++,elements:e,explicit:!1};else{t.push(r);continue}if(t.length<2){if(t.length===1){let s=t[0].type;if(r.type==="group"&&r.explicit&&(s==="address"||s==="call"||s==="identifier"||s==="implicit-call")){let o=r.elements;o.length===1&&o[0].type==="group"&&!o[0].explicit&&(o=o[0].elements),t[0]={type:"implicit-call",call:t[0],args:o,id:this.id_counter++,position:t[0].position};continue}}t.push(r)}else if(t[t.length-1].type==="operator"){let s=t[t.length-2],o=t[t.length-1],n=o.operator,a={type:"binary",id:this.id_counter++,left:s,operator:n,position:o.position,right:r};s.type==="binary"&&yt[n]>yt[s.operator]&&(a.left=s.left,a.operator=s.operator,a.position=s.position,a.right={type:"binary",id:this.id_counter++,left:s.right,right:r,operator:n,position:o.position}),t.splice(-2,2,a)}else t.push(r)}}return t.length>1?{type:"group",id:this.id_counter++,elements:t,explicit:!1}:t[0]}ParseNext(e=!0){this.ConsumeWhiteSpace();let t=this.data[this.index];if(t===ct)return{type:"literal",id:this.id_counter++,position:this.index,value:this.ConsumeString()};if(t>=te&&t<=_e||t===this.decimal_mark_char)return this.ConsumeNumber();if(t===zi)return this.ConsumeArray();if(e&&(t===be||t===ut)){let i=this.data[this.index+1];if(i>=te&&i<=_e||i===this.decimal_mark_char)return this.ConsumeNumber()}else if(t>=de&&t<=De||t>=we&&t<=Ie||t===pt||t===mt||t===ht||t===Ee||t===ge||t>=_t&&t<=bt)return this.ConsumeToken(t);return t}ConsumeArray(){let e={type:"array",id:this.id_counter++,values:[],position:this.index};this.index++;let t=0,i=0;for(;this.index<this.length;){let r=this.ParseNext(),s=this.index;if(typeof r=="number")switch(this.index++,r){case Gt:i++,t=0;break;case ye:t++;break;case Ni:return e;default:this.valid&&(this.error="invalid character in array literal",this.error_position=s,this.valid=!1);break}else r.type==="literal"?(e.values[t]||(e.values[t]=[]),e.values[t][i]=r.value):this.valid&&(this.error="invalid value in array literal",this.error_position=s,this.valid=!1)}return e}ConsumeOperator(){for(let e of Ji)if(this.expression.substr(this.index,e.length)===e){let t=this.index;return this.index+=e.length,{type:"operator",id:this.id_counter++,operator:e,position:t}}return null}ConsumeArguments(){this.index++;let e=0,t=[];for(;this.index<this.length;){let i=this.ParseGeneric([this.argument_separator_char,ft]);i!==null&&t.push(i);let r=this.data[this.index];if(r===this.argument_separator_char){this.index++,e++;for(let s=t.length;s<e;s++)t.push({type:"missing",id:this.id_counter++})}else if(r===ft)return this.index++,t}return t}ConsumeToken(e){let t=[e],i=this.index,r=e===ht,s=0,o=!1;for(e===ge&&(s=1,o=!0),++this.index;this.index<this.length;this.index++){let h=this.data[this.index];if(h>=de&&h<=De||h>=we&&h<=Ie||h>=_t&&h<=bt||h===pt||h===Ee||h===dt||h===Oi||r||h>=te&&h<=_e||h===ge||s>0&&h===Vt||h===be&&this.flags.r1c1&&s===1||s>0&&h===Vi&&this.data[this.index-1]===ge||s===1&&(h===ye||h===Pt)||s>1||h===Pi&&s===0)t.push(h),h===ge&&(s++,o=!0),h===Vt&&s--,h===ht&&(r=!1);else break}this.data[this.index]===mt&&t.push(this.data[this.index++]);let n=t.map(h=>String.fromCharCode(h)).join("");if(r)return this.error="unbalanced single quote",this.error_position=i,this.valid=!1,{type:"identifier",id:this.id_counter++,name:n,position:i};if(s)return this.error="unbalanced square bracket",this.error_position=i,this.valid=!1,{type:"identifier",id:this.id_counter++,name:n,position:i};if(this.ConsumeWhiteSpace(),this.flags.spreadsheet_semantics){let h=this.ConsumeAddress(n,i);if(h)return h}if(this.data[this.index]===Ot){let h=this.ConsumeArguments();return{type:"call",id:this.id_counter++,name:n,args:h,position:i,end:this.index}}if(this.flags.spreadsheet_semantics&&o){let h=this.ConsumeStructuredReference(n,i);if(h)return h}let l=n.toLowerCase();if(l==="true"||this.flags.boolean_true&&l===this.flags.boolean_true.toLowerCase())return{type:"literal",id:this.id_counter++,value:!0,position:i};if(l==="false"||this.flags.boolean_false&&l===this.flags.boolean_false.toLowerCase())return{type:"literal",id:this.id_counter++,value:!1,position:i};let c={type:"identifier",id:this.id_counter++,name:n,position:i};return this.full_reference_list.push(c),c}ConsumeStructuredReference(e,t){let i=e.length,r=e,s="",o=0;for(;o<i;o++){if(e[o]==="["){e=e.substring(o);break}s+=e[o]}if(e[0]!=="["||e[e.length-1]!=="]")return;e=e.substring(1,e.length-1);let n=e.split(",").map(h=>h.trim()),a="column",l="";if(n.length>2)return;n.length===2?(/\[#this row\]/i.test(n[0])?a="row":/\[#all\]/i.test(n[0])&&(a="all"),l=n[1]):(l=n[0],l[0]==="@"&&(a="row",l=l.substring(1,l.length))),l[0]==="["&&l[l.length-1]==="]"&&(l=l.substring(1,l.length-1));let c={type:"structured-reference",id:this.id_counter++,label:r,position:t,scope:a,column:l,table:s};return this.full_reference_list.push(c),c}ConsumeAddress(e,t){let i=t,r=e.length,s,o=e.split("!");if(o.length>1&&(s=o.slice(0,o.length-1).join("!"),t+=s.length+1),this.flags.r1c1){let h=o[o.length-1].match(this.r1c1_regex);if(h){let d={type:"address",id:this.id_counter++,label:e,row:0,column:0,position:i,sheet:s,r1c1:!0};return h[1][0]==="["?(d.offset_row=!0,d.row=Number(h[1].substring(1,h[1].length-1))):h[1]?(d.row=Number(h[1])-1,this.flags.r1c1_proper_semantics&&(d.absolute_row=!0)):(d.offset_row=!0,d.row=0),h[2][0]==="["?(d.offset_column=!0,d.column=Number(h[2].substring(1,h[2].length-1))):h[2]?(d.column=Number(h[2])-1,this.flags.r1c1_proper_semantics&&(d.absolute_column=!0)):(d.offset_column=!0,d.column=0),d}}let n=this.ConsumeAddressColumn(t);if(!n)return null;t=n.position;let a=this.ConsumeAddressRow(t);if(!a||(t=a.position,n.column===8508&&a.row===9))return null;let l=s?s+e.substr(s.length,t-i).toUpperCase():e.substr(0,t-i).toUpperCase();s&&s[0]==="'"&&(s=s.substr(1,s.length-2));let c={type:"address",id:this.id_counter++,label:l,row:a.row,column:n.column,absolute_row:a.absolute,absolute_column:n.absolute,position:i,sheet:s,spill:a.spill};return r!==t-i?null:(this.dependencies.addresses[c.label]=c,this.address_refcount[c.label]=(this.address_refcount[c.label]||0)+1,this.full_reference_list.push(c),c)}ConsumeAddressRow(e){let t=this.data[e]===Ee;t&&e++;let i=e,r=0;for(;;e++){let o=this.data[e];if(o>=te&&o<=_e)r*=10,r+=o-te;else break}if(i===e||r===0)return!1;let s=!1;return this.data[e]===mt&&(e++,s=!0),{absolute:t,row:r-1,position:e,spill:s}}ConsumeAddressColumn(e){let t=-1,i=0,r=this.data[e]===Ee;for(r&&e++;;e++,i++){if(i>=4)return!1;let s=this.data[e];if(s>=de&&s<=De)t=26*(1+t)+(s-de);else if(s>=we&&s<=Ie)t=26*(1+t)+(s-we);else break}return t<0?!1:{absolute:r,column:t,position:e}}ConsumeNumber(){let e=this.index,t=0,i=!1,r=!1,s=0,o=0,n=0,a="integer",l=0,c=!1,h=this.index;for(;this.index<this.length;this.index++,l++){let u=this.data[this.index];if(u===this.decimal_mark_char)if(a==="integer")a="fraction";else break;else if(u===Fi){s/=100,n/=100,this.index++;break}else if(u===ut||u===be)if(l===0)u===be&&(r=!0);else break;else if(u===Gi||u===Hi)if(a==="integer"||a==="fraction")a="exponent",this.index<this.length-1&&(this.data[this.index+1]===ut?this.index++:this.data[this.index+1]===be&&(this.index++,i=!0));else break;else if(u===this.imaginary_char){let p=this.data[this.index+1];if(p>=de&&p<=De||p>=we&&p<=Ie||p>=_t&&p<=bt||p===pt)break;if(a==="integer"||a==="fraction"){this.index++,c=!0;break}}else if(u>=te&&u<=_e)switch(a){case"integer":s=s*10+(u-te);break;case"fraction":n=n*10+(u-te),o++;break;case"exponent":t=t*10+(u-te);break}else break}let d=s+n/Math.pow(10,o);return a==="exponent"&&(d=d*Math.pow(10,(i?-1:1)*t)),c?{type:"complex",id:this.id_counter++,position:e,imaginary:r?-d:d,real:0,text:this.expression.substring(h,this.index)||""}:{type:"literal",id:this.id_counter++,position:e,value:r?-d:d,text:this.expression.substring(h,this.index)||""}}ConsumeString(){this.index++;let e=[];for(;this.index<this.length;this.index++){let t=this.data[this.index];if(t===ct&&(this.index++,this.index>=this.length||this.data[this.index]!==ct))break;e.push(t)}return e.map(t=>String.fromCharCode(t)).join("")}ConsumeWhiteSpace(){for(;this.index<this.length;){let e=this.data[this.index];if(e===Pt||e===Mi||e===Li||e===Ui||e===Ii)this.index++;else return}}};var $t=(f,e=",")=>{let t=0,i=[],r="",s=[],o=f.length;if(/[\r\n"]/.test(e))throw new Error("invalid delimiter");for(let n=0;n<o;n++){let a=f[n];if(!(n===0&&a.charCodeAt(0)===65279))if(t===0)switch(a){case e:i.push(r),r="";break;case"\r":break;case`
3
3
  `:i.push(r),r="",s.push(i),i=[];break;case'"':r.length===0?t=1:r+=a;break;default:r+=a;break}else a==='"'?n+1<o&&f[n+1]==='"'?(r+='"',n++):t=0:r+=a}return(i.length||r.length)&&(i.push(r),s.push(i)),s};var oe=class f{static _instance=new f;constructor(){}static get instance(){return this._instance}HTML(e,t={}){t={br:!0,...t};let i=[];for(let r of e){let s=[];for(let o of r)o.pre&&s.push("<pre>"),o.emphasis&&s.push("<em>"),o.strong&&s.push("<strong>"),o.strike&&s.push("<strike>"),s.push(o.text),o.strike&&s.push("</strike>"),o.strong&&s.push("</strong>"),o.emphasis&&s.push("</em>"),o.pre&&s.push("</pre>");i.push(s.join(""))}return i.join(t.br?`<br/>
4
4
  `:`
@@ -1,5 +1,5 @@
1
- /*! TREB v37.1.0. Copyright 2018-2026 trebco, llc. All rights reserved. LGPL: https://treb.app/license */
2
- import{E as Yt,N as Bt,a as Rt,b as He,d as Ue,g as q,m as zt,n as Ot,p as Ce,q as be,r as ge,s as Ze}from"./chunk-A2NJA5VB.mjs";var Je=Rt(Xe=>{"use strict";Xe.byteLength=_r;Xe.toByteArray=Gr;Xe.fromByteArray=Or;var de=[],ae=[],Wr=typeof Uint8Array<"u"?Uint8Array:Array,ht="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(ve=0,kt=ht.length;ve<kt;++ve)de[ve]=ht[ve],ae[ht.charCodeAt(ve)]=ve;var ve,kt;ae[45]=62;ae[95]=63;function Lt(r){var e=r.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=r.indexOf("=");t===-1&&(t=e);var n=t===e?0:4-t%4;return[t,n]}function _r(r){var e=Lt(r),t=e[0],n=e[1];return(t+n)*3/4-n}function Er(r,e,t){return(e+t)*3/4-t}function Gr(r){var e,t=Lt(r),n=t[0],s=t[1],i=new Wr(Er(r,n,s)),o=0,a=s>0?n-4:n,l;for(l=0;l<a;l+=4)e=ae[r.charCodeAt(l)]<<18|ae[r.charCodeAt(l+1)]<<12|ae[r.charCodeAt(l+2)]<<6|ae[r.charCodeAt(l+3)],i[o++]=e>>16&255,i[o++]=e>>8&255,i[o++]=e&255;return s===2&&(e=ae[r.charCodeAt(l)]<<2|ae[r.charCodeAt(l+1)]>>4,i[o++]=e&255),s===1&&(e=ae[r.charCodeAt(l)]<<10|ae[r.charCodeAt(l+1)]<<4|ae[r.charCodeAt(l+2)]>>2,i[o++]=e>>8&255,i[o++]=e&255),i}function Rr(r){return de[r>>18&63]+de[r>>12&63]+de[r>>6&63]+de[r&63]}function zr(r,e,t){for(var n,s=[],i=e;i<t;i+=3)n=(r[i]<<16&16711680)+(r[i+1]<<8&65280)+(r[i+2]&255),s.push(Rr(n));return s.join("")}function Or(r){for(var e,t=r.length,n=t%3,s=[],i=16383,o=0,a=t-n;o<a;o+=i)s.push(zr(r,o,o+i>a?a:o+i));return n===1?(e=r[t-1],s.push(de[e>>2]+de[e<<4&63]+"==")):n===2&&(e=(r[t-2]<<8)+r[t-1],s.push(de[e>>10]+de[e>>4&63]+de[e<<2&63]+"=")),s.join("")}});var Ar=Rt((Is,Pt)=>{var p={};typeof Pt=="object"&&(Pt.exports=p);p.parse=function(r,e){for(var t=p.bin.readUshort,n=p.bin.readUint,a=0,s={},i=new Uint8Array(r),o=i.length-4;n(i,o)!=101010256;)o--;var a=o;a+=4,a+=4;var l=t(i,a);a+=2;var c=t(i,a);a+=2;var f=n(i,a);a+=4;var d=n(i,a);a+=4,a=d;for(var u=0;u<l;u++){var h=n(i,a);a+=4,a+=4,a+=4,a+=4;var y=n(i,a);a+=4;var f=n(i,a);a+=4;var w=n(i,a);a+=4;var N=t(i,a),x=t(i,a+2),v=t(i,a+4);a+=6,a+=8;var m=n(i,a);a+=4,a+=N+x+v,p._readLocal(i,m,s,f,w,e)}return s};p._readLocal=function(r,e,t,n,s,i){var o=p.bin.readUshort,a=p.bin.readUint,l=a(r,e);e+=4;var c=o(r,e);e+=2;var f=o(r,e);e+=2;var d=o(r,e);e+=2;var u=a(r,e);e+=4;var h=a(r,e);e+=4,e+=8;var y=o(r,e);e+=2;var w=o(r,e);e+=2;var N=p.bin.readUTF8(r,e,y);if(e+=y,e+=w,i){t[N]={size:s,csize:n};return}var x=new Uint8Array(r.buffer,e);if(d==0)t[N]=new Uint8Array(x.buffer.slice(e,e+n));else if(d==8){var v=new Uint8Array(s);p.inflateRaw(x,v),t[N]=v}else throw"unknown compression method: "+d};p.inflateRaw=function(r,e){return p.F.inflate(r,e)};p.inflate=function(r,e){var t=r[0],n=r[1],s=t&15,i=t>>>4;return p.inflateRaw(new Uint8Array(r.buffer,r.byteOffset+2,r.length-6),e)};p.deflate=function(r,e){e==null&&(e={level:6});var t=0,n=new Uint8Array(50+Math.floor(r.length*1.1));n[t]=120,n[t+1]=156,t+=2,t=p.F.deflateRaw(r,n,t,e.level);var s=p.adler(r,0,r.length);return n[t+0]=s>>>24&255,n[t+1]=s>>>16&255,n[t+2]=s>>>8&255,n[t+3]=s>>>0&255,new Uint8Array(n.buffer,0,t+4)};p.deflateRaw=function(r,e){e==null&&(e={level:6});var t=new Uint8Array(50+Math.floor(r.length*1.1)),n=p.F.deflateRaw(r,t,n,e.level);return new Uint8Array(t.buffer,0,n)};p.encode=function(r,e){e==null&&(e=!1);var t=0,n=p.bin.writeUint,s=p.bin.writeUshort,i={};for(var o in r){var a=!p._noNeed(o)&&!e,l=r[o],c=p.crc.crc(l,0,l.length);i[o]={cpr:a,usize:l.length,crc:c,file:a?p.deflateRaw(l):l}}for(var o in i)t+=i[o].file.length+30+46+2*p.bin.sizeUTF8(o);t+=22;var f=new Uint8Array(t),d=0,u=[];for(var o in i){var h=i[o];u.push(d),d=p._writeHeader(f,d,o,h,0)}var y=0,w=d;for(var o in i){var h=i[o];u.push(d),d=p._writeHeader(f,d,o,h,1,u[y++])}var N=d-w;return n(f,d,101010256),d+=4,d+=4,s(f,d,y),d+=2,s(f,d,y),d+=2,n(f,d,N),d+=4,n(f,d,w),d+=4,d+=2,f.buffer};p._noNeed=function(r){var e=r.split(".").pop().toLowerCase();return"png,jpg,jpeg,zip".indexOf(e)!=-1};p._writeHeader=function(r,e,t,n,s,i){var o=p.bin.writeUint,a=p.bin.writeUshort,l=n.file;o(r,e,s==0?67324752:33639248),e+=4,s==1&&(e+=2),a(r,e,20),e+=2,a(r,e,0),e+=2,a(r,e,n.cpr?8:0),e+=2,o(r,e,0),e+=4,o(r,e,n.crc),e+=4,o(r,e,l.length),e+=4,o(r,e,n.usize),e+=4,a(r,e,p.bin.sizeUTF8(t)),e+=2,a(r,e,0),e+=2,s==1&&(e+=2,e+=2,e+=6,o(r,e,i),e+=4);var c=p.bin.writeUTF8(r,e,t);return e+=c,s==0&&(r.set(l,e),e+=l.length),e};p.crc={table:(function(){for(var r=new Uint32Array(256),e=0;e<256;e++){for(var t=e,n=0;n<8;n++)t&1?t=3988292384^t>>>1:t=t>>>1;r[e]=t}return r})(),update:function(r,e,t,n){for(var s=0;s<n;s++)r=p.crc.table[(r^e[t+s])&255]^r>>>8;return r},crc:function(r,e,t){return p.crc.update(4294967295,r,e,t)^4294967295}};p.adler=function(r,e,t){for(var n=1,s=0,i=e,o=e+t;i<o;){for(var a=Math.min(i+5552,o);i<a;)n+=r[i++],s+=n;n=n%65521,s=s%65521}return s<<16|n};p.bin={readUshort:function(r,e){return r[e]|r[e+1]<<8},writeUshort:function(r,e,t){r[e]=t&255,r[e+1]=t>>8&255},readUint:function(r,e){return r[e+3]*(256*256*256)+(r[e+2]<<16|r[e+1]<<8|r[e])},writeUint:function(r,e,t){r[e]=t&255,r[e+1]=t>>8&255,r[e+2]=t>>16&255,r[e+3]=t>>24&255},readASCII:function(r,e,t){for(var n="",s=0;s<t;s++)n+=String.fromCharCode(r[e+s]);return n},writeASCII:function(r,e,t){for(var n=0;n<t.length;n++)r[e+n]=t.charCodeAt(n)},pad:function(r){return r.length<2?"0"+r:r},readUTF8:function(r,e,t){for(var n="",s,i=0;i<t;i++)n+="%"+p.bin.pad(r[e+i].toString(16));try{s=decodeURIComponent(n)}catch{return p.bin.readASCII(r,e,t)}return s},writeUTF8:function(r,e,t){for(var n=t.length,s=0,i=0;i<n;i++){var o=t.charCodeAt(i);if((o&4294967168)==0)r[e+s]=o,s++;else if((o&4294965248)==0)r[e+s]=192|o>>6,r[e+s+1]=128|o>>0&63,s+=2;else if((o&4294901760)==0)r[e+s]=224|o>>12,r[e+s+1]=128|o>>6&63,r[e+s+2]=128|o>>0&63,s+=3;else if((o&4294967295-(1<<21)+1)==0)r[e+s]=240|o>>18,r[e+s+1]=128|o>>12&63,r[e+s+2]=128|o>>6&63,r[e+s+3]=128|o>>0&63,s+=4;else throw"e"}return s},sizeUTF8:function(r){for(var e=r.length,t=0,n=0;n<e;n++){var s=r.charCodeAt(n);if((s&4294967168)==0)t++;else if((s&4294965248)==0)t+=2;else if((s&4294901760)==0)t+=3;else if((s&4294967295-(1<<21)+1)==0)t+=4;else throw"e"}return t}};p.F={};p.F.deflateRaw=function(r,e,t,n){var s=[[0,0,0,0,0],[4,4,8,4,0],[4,5,16,8,0],[4,6,16,16,0],[4,10,16,32,0],[8,16,32,32,0],[8,16,128,128,0],[8,32,128,256,0],[32,128,258,1024,1],[32,258,258,4096,1]],i=s[n],o=p.F.U,a=p.F._goodIndex,l=p.F._hash,c=p.F._putsE,f=0,d=t<<3,u=0,h=r.length;if(n==0){for(;f<h;){var y=Math.min(65535,h-f);c(e,d,f+y==h?1:0),d=p.F._copyExact(r,f,y,e,d+8),f+=y}return d>>>3}var w=o.lits,N=o.strt,x=o.prev,v=0,m=0,b=0,P=0,V=0,E=0;h>2&&(E=p.F._hash(r,0),N[E]=0);var R=0,k=0;for(f=0;f<h;f++){if(V=E,f+1<h-2){E=p.F._hash(r,f+1);var Y=f+1&32767;x[Y]=N[E],N[E]=Y}if(u<=f){(v>14e3||m>26697)&&h-f>100&&(u<f&&(w[v]=f-u,v+=2,u=f),d=p.F._writeBlock(f==h-1||u==h?1:0,w,v,P,r,b,f-b,e,d),v=m=P=0,b=f);var B=0;f<h-2&&(B=p.F._bestMatch(r,f,x,V,Math.min(i[2],h-f),i[3]));var y=B>>>16,U=B&65535;if(B!=0){var y=B>>>16,U=B&65535,g=a(y,o.of0);o.lhst[257+g]++;var M=a(U,o.df0);o.dhst[M]++,P+=o.exb[g]+o.dxb[M],w[v]=y<<23|f-u,w[v+1]=U<<16|g<<8|M,v+=2,u=f+y}else o.lhst[r[f]]++;m++}}for((b!=f||r.length==0)&&(u<f&&(w[v]=f-u,v+=2,u=f),d=p.F._writeBlock(1,w,v,P,r,b,f-b,e,d),v=0,m=0,v=m=P=0,b=f);(d&7)!=0;)d++;return d>>>3};p.F._bestMatch=function(r,e,t,n,s,i){var o=e&32767,a=t[o],l=o-a+32768&32767;if(a==o||n!=p.F._hash(r,e-l))return 0;for(var c=0,f=0,d=Math.min(32767,e);l<=d&&--i!=0&&a!=o;){if(c==0||r[e+c]==r[e+c-l]){var u=p.F._howLong(r,e,l);if(u>c){if(c=u,f=l,c>=s)break;l+2<u&&(u=l+2);for(var h=0,y=0;y<u-2;y++){var w=e-l+y+32768&32767,N=t[w],x=w-N+32768&32767;x>h&&(h=x,a=w)}}}o=a,a=t[o],l+=o-a+32768&32767}return c<<16|f};p.F._howLong=function(r,e,t){if(r[e]!=r[e-t]||r[e+1]!=r[e+1-t]||r[e+2]!=r[e+2-t])return 0;var n=e,s=Math.min(r.length,e+258);for(e+=3;e<s&&r[e]==r[e-t];)e++;return e-n};p.F._hash=function(r,e){return(r[e]<<8|r[e+1])+(r[e+2]<<4)&65535};p.saved=0;p.F._writeBlock=function(r,e,t,n,s,i,o,a,l){var c=p.F.U,f=p.F._putsF,d=p.F._putsE,u,h,y,w,N,x,v,m,b;c.lhst[256]++,u=p.F.getTrees(),h=u[0],y=u[1],w=u[2],N=u[3],x=u[4],v=u[5],m=u[6],b=u[7];var P=((l+3&7)==0?0:8-(l+3&7))+32+(o<<3),V=n+p.F.contSize(c.fltree,c.lhst)+p.F.contSize(c.fdtree,c.dhst),E=n+p.F.contSize(c.ltree,c.lhst)+p.F.contSize(c.dtree,c.dhst);E+=14+3*v+p.F.contSize(c.itree,c.ihst)+(c.ihst[16]*2+c.ihst[17]*3+c.ihst[18]*7);for(var R=0;R<286;R++)c.lhst[R]=0;for(var R=0;R<30;R++)c.dhst[R]=0;for(var R=0;R<19;R++)c.ihst[R]=0;var k=P<V&&P<E?0:V<E?1:2;f(a,l,r),f(a,l+1,k),l+=3;var Y=l;if(k==0){for(;(l&7)!=0;)l++;l=p.F._copyExact(s,i,o,a,l)}else{var B,U;if(k==1&&(B=c.fltree,U=c.fdtree),k==2){p.F.makeCodes(c.ltree,h),p.F.revCodes(c.ltree,h),p.F.makeCodes(c.dtree,y),p.F.revCodes(c.dtree,y),p.F.makeCodes(c.itree,w),p.F.revCodes(c.itree,w),B=c.ltree,U=c.dtree,d(a,l,N-257),l+=5,d(a,l,x-1),l+=5,d(a,l,v-4),l+=4;for(var g=0;g<v;g++)d(a,l+g*3,c.itree[(c.ordr[g]<<1)+1]);l+=3*v,l=p.F._codeTiny(m,c.itree,a,l),l=p.F._codeTiny(b,c.itree,a,l)}for(var M=i,$=0;$<t;$+=2){for(var C=e[$],Z=C>>>23,I=M+(C&(1<<23)-1);M<I;)l=p.F._writeLit(s[M++],B,a,l);if(Z!=0){var _=e[$+1],z=_>>16,J=_>>8&255,Q=_&255;l=p.F._writeLit(257+J,B,a,l),d(a,l,Z-c.of0[J]),l+=c.exb[J],l=p.F._writeLit(Q,U,a,l),f(a,l,z-c.df0[Q]),l+=c.dxb[Q],M+=Z}}l=p.F._writeLit(256,B,a,l)}return l};p.F._copyExact=function(r,e,t,n,s){var i=s>>>3;return n[i]=t,n[i+1]=t>>>8,n[i+2]=255-n[i],n[i+3]=255-n[i+1],i+=4,n.set(new Uint8Array(r.buffer,e,t),i),s+(t+4<<3)};p.F.getTrees=function(){for(var r=p.F.U,e=p.F._hufTree(r.lhst,r.ltree,15),t=p.F._hufTree(r.dhst,r.dtree,15),n=[],s=p.F._lenCodes(r.ltree,n),i=[],o=p.F._lenCodes(r.dtree,i),a=0;a<n.length;a+=2)r.ihst[n[a]]++;for(var a=0;a<i.length;a+=2)r.ihst[i[a]]++;for(var l=p.F._hufTree(r.ihst,r.itree,7),c=19;c>4&&r.itree[(r.ordr[c-1]<<1)+1]==0;)c--;return[e,t,l,s,o,c,n,i]};p.F.getSecond=function(r){for(var e=[],t=0;t<r.length;t+=2)e.push(r[t+1]);return e};p.F.nonZero=function(r){for(var e="",t=0;t<r.length;t+=2)r[t+1]!=0&&(e+=(t>>1)+",");return e};p.F.contSize=function(r,e){for(var t=0,n=0;n<e.length;n++)t+=e[n]*r[(n<<1)+1];return t};p.F._codeTiny=function(r,e,t,n){for(var s=0;s<r.length;s+=2){var i=r[s],o=r[s+1];n=p.F._writeLit(i,e,t,n);var a=i==16?2:i==17?3:7;i>15&&(p.F._putsE(t,n,o,a),n+=a)}return n};p.F._lenCodes=function(r,e){for(var t=r.length;t!=2&&r[t-1]==0;)t-=2;for(var n=0;n<t;n+=2){var s=r[n+1],i=n+3<t?r[n+3]:-1,o=n+5<t?r[n+5]:-1,a=n==0?-1:r[n-1];if(s==0&&i==s&&o==s){for(var l=n+5;l+2<t&&r[l+2]==s;)l+=2;var c=Math.min(l+1-n>>>1,138);c<11?e.push(17,c-3):e.push(18,c-11),n+=c*2-2}else if(s==a&&i==s&&o==s){for(var l=n+5;l+2<t&&r[l+2]==s;)l+=2;var c=Math.min(l+1-n>>>1,6);e.push(16,c-3),n+=c*2-2}else e.push(s,0)}return t>>>1};p.F._hufTree=function(r,e,t){var n=[],s=r.length,i=e.length,o=0;for(o=0;o<i;o+=2)e[o]=0,e[o+1]=0;for(o=0;o<s;o++)r[o]!=0&&n.push({lit:o,f:r[o]});var a=n.length,l=n.slice(0);if(a==0)return 0;if(a==1){var c=n[0].lit,l=c==0?1:0;return e[(c<<1)+1]=1,e[(l<<1)+1]=1,1}n.sort(function(N,x){return N.f-x.f});var f=n[0],d=n[1],u=0,h=1,y=2;for(n[0]={lit:-1,f:f.f+d.f,l:f,r:d,d:0};h!=a-1;)u!=h&&(y==a||n[u].f<n[y].f)?f=n[u++]:f=n[y++],u!=h&&(y==a||n[u].f<n[y].f)?d=n[u++]:d=n[y++],n[h++]={lit:-1,f:f.f+d.f,l:f,r:d};var w=p.F.setDepth(n[h-1],0);for(w>t&&(p.F.restrictDepth(l,t,w),w=t),o=0;o<a;o++)e[(l[o].lit<<1)+1]=l[o].d;return w};p.F.setDepth=function(r,e){return r.lit!=-1?(r.d=e,e):Math.max(p.F.setDepth(r.l,e+1),p.F.setDepth(r.r,e+1))};p.F.restrictDepth=function(r,e,t){var n=0,s=1<<t-e,i=0;for(r.sort(function(a,l){return l.d==a.d?a.f-l.f:l.d-a.d}),n=0;n<r.length&&r[n].d>e;n++){var o=r[n].d;r[n].d=e,i+=s-(1<<t-o)}for(i=i>>>t-e;i>0;){var o=r[n].d;o<e?(r[n].d++,i-=1<<e-o-1):n++}for(;n>=0;n--)r[n].d==e&&i<0&&(r[n].d--,i++);i!=0&&console.log("debt left")};p.F._goodIndex=function(r,e){var t=0;return e[t|16]<=r&&(t|=16),e[t|8]<=r&&(t|=8),e[t|4]<=r&&(t|=4),e[t|2]<=r&&(t|=2),e[t|1]<=r&&(t|=1),t};p.F._writeLit=function(r,e,t,n){return p.F._putsF(t,n,e[r<<1]),n+e[(r<<1)+1]};p.F.inflate=function(r,e){var t=Uint8Array;if(r[0]==3&&r[1]==0)return e||new t(0);var n=p.F,s=n._bitsF,i=n._bitsE,o=n._decodeTiny,a=n.makeCodes,l=n.codes2map,c=n._get17,f=n.U,d=e==null;d&&(e=new t(r.length>>>2<<3));for(var u=0,h=0,y=0,w=0,N=0,x=0,v=0,m=0,b=0,P,V;u==0;){if(u=s(r,b,1),h=s(r,b+1,2),b+=3,h==0){(b&7)!=0&&(b+=8-(b&7));var E=(b>>>3)+4,R=r[E-4]|r[E-3]<<8;d&&(e=p.F._check(e,m+R)),e.set(new t(r.buffer,r.byteOffset+E,R),m),b=E+R<<3,m+=R;continue}if(d&&(e=p.F._check(e,m+(1<<17))),h==1&&(P=f.flmap,V=f.fdmap,x=511,v=31),h==2){y=i(r,b,5)+257,w=i(r,b+5,5)+1,N=i(r,b+10,4)+4,b+=14;for(var k=b,Y=0;Y<38;Y+=2)f.itree[Y]=0,f.itree[Y+1]=0;for(var B=1,Y=0;Y<N;Y++){var U=i(r,b+Y*3,3);f.itree[(f.ordr[Y]<<1)+1]=U,U>B&&(B=U)}b+=3*N,a(f.itree,B),l(f.itree,B,f.imap),P=f.lmap,V=f.dmap,b=o(f.imap,(1<<B)-1,y+w,r,b,f.ttree);var g=n._copyOut(f.ttree,0,y,f.ltree);x=(1<<g)-1;var M=n._copyOut(f.ttree,y,w,f.dtree);v=(1<<M)-1,a(f.ltree,g),l(f.ltree,g,P),a(f.dtree,M),l(f.dtree,M,V)}for(;;){var $=P[c(r,b)&x];b+=$&15;var C=$>>>4;if(!(C>>>8))e[m++]=C;else{if(C==256)break;var Z=m+C-254;if(C>264){var I=f.ldef[C-257];Z=m+(I>>>3)+i(r,b,I&7),b+=I&7}var _=V[c(r,b)&v];b+=_&15;var z=_>>>4,J=f.ddef[z],Q=(J>>>4)+s(r,b,J&15);for(b+=J&15,d&&(e=p.F._check(e,m+(1<<17)));m<Z;)e[m]=e[m++-Q],e[m]=e[m++-Q],e[m]=e[m++-Q],e[m]=e[m++-Q];m=Z}}}return e.length==m?e:e.slice(0,m)};p.F._check=function(r,e){var t=r.length;if(e<=t)return r;var n=new Uint8Array(Math.max(t<<1,e));return n.set(r,0),n};p.F._decodeTiny=function(r,e,t,n,s,i){for(var o=p.F._bitsE,a=p.F._get17,l=0;l<t;){var c=r[a(n,s)&e];s+=c&15;var f=c>>>4;if(f<=15)i[l]=f,l++;else{var d=0,u=0;f==16?(u=3+o(n,s,2),s+=2,d=i[l-1]):f==17?(u=3+o(n,s,3),s+=3):f==18&&(u=11+o(n,s,7),s+=7);for(var h=l+u;l<h;)i[l]=d,l++}}return s};p.F._copyOut=function(r,e,t,n){for(var s=0,i=0,o=n.length>>>1;i<t;){var a=r[i+e];n[i<<1]=0,n[(i<<1)+1]=a,a>s&&(s=a),i++}for(;i<o;)n[i<<1]=0,n[(i<<1)+1]=0,i++;return s};p.F.makeCodes=function(r,e){for(var t=p.F.U,n=r.length,s,i,o,a,l,c=t.bl_count,a=0;a<=e;a++)c[a]=0;for(a=1;a<n;a+=2)c[r[a]]++;var f=t.next_code;for(s=0,c[0]=0,i=1;i<=e;i++)s=s+c[i-1]<<1,f[i]=s;for(o=0;o<n;o+=2)l=r[o+1],l!=0&&(r[o]=f[l],f[l]++)};p.F.codes2map=function(r,e,t){for(var n=r.length,s=p.F.U,i=s.rev15,o=0;o<n;o+=2)if(r[o+1]!=0)for(var a=o>>1,l=r[o+1],c=a<<4|l,f=e-l,d=r[o]<<f,u=d+(1<<f);d!=u;){var h=i[d]>>>15-e;t[h]=c,d++}};p.F.revCodes=function(r,e){for(var t=p.F.U.rev15,n=15-e,s=0;s<r.length;s+=2){var i=r[s]<<e-r[s+1];r[s]=t[i]>>>n}};p.F._putsE=function(r,e,t){t=t<<(e&7);var n=e>>>3;r[n]|=t,r[n+1]|=t>>>8};p.F._putsF=function(r,e,t){t=t<<(e&7);var n=e>>>3;r[n]|=t,r[n+1]|=t>>>8,r[n+2]|=t>>>16};p.F._bitsE=function(r,e,t){return(r[e>>>3]|r[(e>>>3)+1]<<8)>>>(e&7)&(1<<t)-1};p.F._bitsF=function(r,e,t){return(r[e>>>3]|r[(e>>>3)+1]<<8|r[(e>>>3)+2]<<16)>>>(e&7)&(1<<t)-1};p.F._get17=function(r,e){return(r[e>>>3]|r[(e>>>3)+1]<<8|r[(e>>>3)+2]<<16)>>>(e&7)};p.F._get25=function(r,e){return(r[e>>>3]|r[(e>>>3)+1]<<8|r[(e>>>3)+2]<<16|r[(e>>>3)+3]<<24)>>>(e&7)};p.F.U=(function(){var r=Uint16Array,e=Uint32Array;return{next_code:new r(16),bl_count:new r(16),ordr:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],of0:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],exb:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],ldef:new r(32),df0:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],dxb:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],ddef:new e(32),flmap:new r(512),fltree:[],fdmap:new r(32),fdtree:[],lmap:new r(32768),ltree:[],ttree:[],dmap:new r(32768),dtree:[],imap:new r(512),itree:[],rev15:new r(32768),lhst:new e(286),dhst:new e(30),ihst:new e(19),lits:new e(15e3),strt:new r(65536),prev:new r(32768)}})();(function(){for(var r=p.F.U,e=32768,t=0;t<e;t++){var n=t;n=(n&2863311530)>>>1|(n&1431655765)<<1,n=(n&3435973836)>>>2|(n&858993459)<<2,n=(n&4042322160)>>>4|(n&252645135)<<4,n=(n&4278255360)>>>8|(n&16711935)<<8,r.rev15[t]=(n>>>16|n<<16)>>>17}function s(i,o,a){for(;o--!=0;)i.push(0,a)}for(var t=0;t<32;t++)r.ldef[t]=r.of0[t]<<3|r.exb[t],r.ddef[t]=r.df0[t]<<4|r.dxb[t];s(r.fltree,144,8),s(r.fltree,112,9),s(r.fltree,24,7),s(r.fltree,8,8),p.F.makeCodes(r.fltree,9),p.F.codes2map(r.fltree,9,r.flmap),p.F.revCodes(r.fltree,9),s(r.fdtree,32,5),p.F.makeCodes(r.fdtree,5),p.F.codes2map(r.fdtree,5,r.fdmap),p.F.revCodes(r.fdtree,5),s(r.itree,19,0),s(r.ltree,286,0),s(r.dtree,30,0),s(r.ttree,320,0)})()});var Cr=He(Je());var De=r=>{let e=Math.floor((r-5)/7*100+.5)/100;return Math.floor((e*7+5)/7*256)/256},ut=r=>Math.floor((256*r+Math.floor(18.285714285714285))/256*7);var Vt="UEsDBAoAAAAAAAAAIQBi7p1okAQAAJAEAAATAAAAW0NvbnRlbnRfVHlwZXNdLnhtbDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjxUeXBlcyB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9jb250ZW50LXR5cGVzIj48RGVmYXVsdCBFeHRlbnNpb249InJlbHMiIENvbnRlbnRUeXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtcGFja2FnZS5yZWxhdGlvbnNoaXBzK3htbCIvPjxEZWZhdWx0IEV4dGVuc2lvbj0ieG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24veG1sIi8+PE92ZXJyaWRlIFBhcnROYW1lPSIveGwvd29ya2Jvb2sueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQubWFpbit4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii94bC93b3Jrc2hlZXRzL3NoZWV0MS54bWwiIENvbnRlbnRUeXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC53b3Jrc2hlZXQreG1sIi8+PE92ZXJyaWRlIFBhcnROYW1lPSIveGwvdGhlbWUvdGhlbWUxLnhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC50aGVtZSt4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii94bC9zdHlsZXMueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc3R5bGVzK3htbCIvPjxPdmVycmlkZSBQYXJ0TmFtZT0iL3hsL3NoYXJlZFN0cmluZ3MueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hhcmVkU3RyaW5ncyt4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii9kb2NQcm9wcy9jb3JlLnhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1wYWNrYWdlLmNvcmUtcHJvcGVydGllcyt4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii9kb2NQcm9wcy9hcHAueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmV4dGVuZGVkLXByb3BlcnRpZXMreG1sIi8+PC9UeXBlcz5QSwMECgAAAAAAAAAhALVVMCNMAgAATAIAAAsAAABfcmVscy8ucmVsczw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjxSZWxhdGlvbnNoaXBzIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvcGFja2FnZS8yMDA2L3JlbGF0aW9uc2hpcHMiPjxSZWxhdGlvbnNoaXAgSWQ9InJJZDMiIFR5cGU9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvZXh0ZW5kZWQtcHJvcGVydGllcyIgVGFyZ2V0PSJkb2NQcm9wcy9hcHAueG1sIi8+PFJlbGF0aW9uc2hpcCBJZD0icklkMiIgVHlwZT0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9yZWxhdGlvbnNoaXBzL21ldGFkYXRhL2NvcmUtcHJvcGVydGllcyIgVGFyZ2V0PSJkb2NQcm9wcy9jb3JlLnhtbCIvPjxSZWxhdGlvbnNoaXAgSWQ9InJJZDEiIFR5cGU9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvb2ZmaWNlRG9jdW1lbnQiIFRhcmdldD0ieGwvd29ya2Jvb2sueG1sIi8+PC9SZWxhdGlvbnNoaXBzPlBLAwQKAAAAAAAAACEAunCeZsoGAADKBgAADwAAAHhsL3dvcmtib29rLnhtbDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjx3b3JrYm9vayB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIiB4bWxuczpyPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzIiB4bWxuczptYz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL21hcmt1cC1jb21wYXRpYmlsaXR5LzIwMDYiIG1jOklnbm9yYWJsZT0ieDE1IHhyIHhyNiB4cjEwIHhyMiIgeG1sbnM6eDE1PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvbWFpbiIgeG1sbnM6eHI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAxNC9yZXZpc2lvbiIgeG1sbnM6eHI2PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTYvcmV2aXNpb242IiB4bWxuczp4cjEwPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTYvcmV2aXNpb24xMCIgeG1sbnM6eHIyPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTUvcmV2aXNpb24yIj48ZmlsZVZlcnNpb24gYXBwTmFtZT0ieGwiIGxhc3RFZGl0ZWQ9IjciIGxvd2VzdEVkaXRlZD0iNyIgcnVwQnVpbGQ9IjIxMTI2Ii8+PHdvcmtib29rUHIgZGVmYXVsdFRoZW1lVmVyc2lvbj0iMTY2OTI1Ii8+PG1jOkFsdGVybmF0ZUNvbnRlbnQgeG1sbnM6bWM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9tYXJrdXAtY29tcGF0aWJpbGl0eS8yMDA2Ij48bWM6Q2hvaWNlIFJlcXVpcmVzPSJ4MTUiPjx4MTVhYzphYnNQYXRoIHVybD0iSDpcVFJFQlx0cmViLWV4cG9ydFx0ZW1wbGF0ZVwiIHhtbG5zOngxNWFjPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvYWMiLz48L21jOkNob2ljZT48L21jOkFsdGVybmF0ZUNvbnRlbnQ+PHhyOnJldmlzaW9uUHRyIHJldklETGFzdFNhdmU9IjAiIGRvY3VtZW50SWQ9Ijhfe0Q4NThGOUY3LTBEOTItNEFFNC04QTQyLTQ4MENCMzU5QjYyRH0iIHhyNjpjb2F1dGhWZXJzaW9uTGFzdD0iNDAiIHhyNjpjb2F1dGhWZXJzaW9uTWF4PSI0MCIgeHIxMDp1aWRMYXN0U2F2ZT0iezAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMH0iLz48Ym9va1ZpZXdzPjx3b3JrYm9va1ZpZXcgeFdpbmRvdz0iMCIgeVdpbmRvdz0iMCIgd2luZG93V2lkdGg9IjI0NTcwIiB3aW5kb3dIZWlnaHQ9IjExMTMwIiB4cjI6dWlkPSJ7REU0RTdEMzUtNDkyRC00MEQ3LTk5MjUtNDY0N0Y1ODdFMURFfSIvPjwvYm9va1ZpZXdzPjxzaGVldHM+PHNoZWV0IG5hbWU9IlNoZWV0MSIgc2hlZXRJZD0iMSIgcjppZD0icklkMSIvPjwvc2hlZXRzPjxjYWxjUHIgY2FsY0lkPSIxOTEwMjkiLz48ZXh0THN0PjxleHQgdXJpPSJ7MTQwQTcwOTQtMEUzNS00ODkyLTg0MzItQzREMkU1N0VERUI1fSIgeG1sbnM6eDE1PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvbWFpbiI+PHgxNTp3b3JrYm9va1ByIGNoYXJ0VHJhY2tpbmdSZWZCYXNlPSIxIi8+PC9leHQ+PC9leHRMc3Q+PC93b3JrYm9vaz5QSwMECgAAAAAAAAAhAIE+lJe6AgAAugIAABoAAAB4bC9fcmVscy93b3JrYm9vay54bWwucmVsczw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjxSZWxhdGlvbnNoaXBzIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvcGFja2FnZS8yMDA2L3JlbGF0aW9uc2hpcHMiPjxSZWxhdGlvbnNoaXAgSWQ9InJJZDMiIFR5cGU9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvc3R5bGVzIiBUYXJnZXQ9InN0eWxlcy54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQyIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3RoZW1lIiBUYXJnZXQ9InRoZW1lL3RoZW1lMS54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQxIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3dvcmtzaGVldCIgVGFyZ2V0PSJ3b3Jrc2hlZXRzL3NoZWV0MS54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQ0IiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3NoYXJlZFN0cmluZ3MiIFRhcmdldD0ic2hhcmVkU3RyaW5ncy54bWwiLz48L1JlbGF0aW9uc2hpcHM+UEsDBAoAAAAAAAAAIQACrURzpAMAAKQDAAAYAAAAeGwvd29ya3NoZWV0cy9zaGVldDEueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPHdvcmtzaGVldCB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIiB4bWxuczpyPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzIiB4bWxuczptYz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL21hcmt1cC1jb21wYXRpYmlsaXR5LzIwMDYiIG1jOklnbm9yYWJsZT0ieDE0YWMgeHIgeHIyIHhyMyIgeG1sbnM6eDE0YWM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAwOS85L2FjIiB4bWxuczp4cj0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDE0L3JldmlzaW9uIiB4bWxuczp4cjI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAxNS9yZXZpc2lvbjIiIHhtbG5zOnhyMz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDE2L3JldmlzaW9uMyIgeHI6dWlkPSJ7MEQ4RTVDQTItNUM5RS00RDRCLTk0QzUtRjM1QzA0MUYzOUJEfSI+PGRpbWVuc2lvbiByZWY9IkExIi8+PHNoZWV0Vmlld3M+PHNoZWV0VmlldyB0YWJTZWxlY3RlZD0iMSIgd29ya2Jvb2tWaWV3SWQ9IjAiLz48L3NoZWV0Vmlld3M+PHNoZWV0Rm9ybWF0UHIgZGVmYXVsdFJvd0hlaWdodD0iMTUiIHgxNGFjOmR5RGVzY2VudD0iMC4yNSIvPjxzaGVldERhdGEvPjxwYWdlTWFyZ2lucyBsZWZ0PSIwLjciIHJpZ2h0PSIwLjciIHRvcD0iMC43NSIgYm90dG9tPSIwLjc1IiBoZWFkZXI9IjAuMyIgZm9vdGVyPSIwLjMiLz48L3dvcmtzaGVldD5QSwMECgAAAAAAAAAhAMEXEL7GIAAAxiAAABMAAAB4bC90aGVtZS90aGVtZTEueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPGE6dGhlbWUgeG1sbnM6YT0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL2RyYXdpbmdtbC8yMDA2L21haW4iIG5hbWU9Ik9mZmljZSBUaGVtZSI+PGE6dGhlbWVFbGVtZW50cz48YTpjbHJTY2hlbWUgbmFtZT0iT2ZmaWNlIj48YTpkazE+PGE6c3lzQ2xyIHZhbD0id2luZG93VGV4dCIgbGFzdENscj0iMDAwMDAwIi8+PC9hOmRrMT48YTpsdDE+PGE6c3lzQ2xyIHZhbD0id2luZG93IiBsYXN0Q2xyPSJGRkZGRkYiLz48L2E6bHQxPjxhOmRrMj48YTpzcmdiQ2xyIHZhbD0iNDQ1NDZBIi8+PC9hOmRrMj48YTpsdDI+PGE6c3JnYkNsciB2YWw9IkU3RTZFNiIvPjwvYTpsdDI+PGE6YWNjZW50MT48YTpzcmdiQ2xyIHZhbD0iNDQ3MkM0Ii8+PC9hOmFjY2VudDE+PGE6YWNjZW50Mj48YTpzcmdiQ2xyIHZhbD0iRUQ3RDMxIi8+PC9hOmFjY2VudDI+PGE6YWNjZW50Mz48YTpzcmdiQ2xyIHZhbD0iQTVBNUE1Ii8+PC9hOmFjY2VudDM+PGE6YWNjZW50ND48YTpzcmdiQ2xyIHZhbD0iRkZDMDAwIi8+PC9hOmFjY2VudDQ+PGE6YWNjZW50NT48YTpzcmdiQ2xyIHZhbD0iNUI5QkQ1Ii8+PC9hOmFjY2VudDU+PGE6YWNjZW50Nj48YTpzcmdiQ2xyIHZhbD0iNzBBRDQ3Ii8+PC9hOmFjY2VudDY+PGE6aGxpbms+PGE6c3JnYkNsciB2YWw9IjA1NjNDMSIvPjwvYTpobGluaz48YTpmb2xIbGluaz48YTpzcmdiQ2xyIHZhbD0iOTU0RjcyIi8+PC9hOmZvbEhsaW5rPjwvYTpjbHJTY2hlbWU+PGE6Zm9udFNjaGVtZSBuYW1lPSJPZmZpY2UiPjxhOm1ham9yRm9udD48YTpsYXRpbiB0eXBlZmFjZT0iQ2FsaWJyaSBMaWdodCIgcGFub3NlPSIwMjBGMDMwMjAyMDIwNDAzMDIwNCIvPjxhOmVhIHR5cGVmYWNlPSIiLz48YTpjcyB0eXBlZmFjZT0iIi8+PGE6Zm9udCBzY3JpcHQ9IkpwYW4iIHR5cGVmYWNlPSLmuLjjgrTjgrfjg4Pjgq8gTGlnaHQiLz48YTpmb250IHNjcmlwdD0iSGFuZyIgdHlwZWZhY2U9IuunkeydgCDqs6DrlJUiLz48YTpmb250IHNjcmlwdD0iSGFucyIgdHlwZWZhY2U9Iuetiee6vyBMaWdodCIvPjxhOmZvbnQgc2NyaXB0PSJIYW50IiB0eXBlZmFjZT0i5paw57Sw5piO6auUIi8+PGE6Zm9udCBzY3JpcHQ9IkFyYWIiIHR5cGVmYWNlPSJUaW1lcyBOZXcgUm9tYW4iLz48YTpmb250IHNjcmlwdD0iSGViciIgdHlwZWZhY2U9IlRpbWVzIE5ldyBSb21hbiIvPjxhOmZvbnQgc2NyaXB0PSJUaGFpIiB0eXBlZmFjZT0iVGFob21hIi8+PGE6Zm9udCBzY3JpcHQ9IkV0aGkiIHR5cGVmYWNlPSJOeWFsYSIvPjxhOmZvbnQgc2NyaXB0PSJCZW5nIiB0eXBlZmFjZT0iVnJpbmRhIi8+PGE6Zm9udCBzY3JpcHQ9Ikd1anIiIHR5cGVmYWNlPSJTaHJ1dGkiLz48YTpmb250IHNjcmlwdD0iS2htciIgdHlwZWZhY2U9Ik1vb2xCb3JhbiIvPjxhOmZvbnQgc2NyaXB0PSJLbmRhIiB0eXBlZmFjZT0iVHVuZ2EiLz48YTpmb250IHNjcmlwdD0iR3VydSIgdHlwZWZhY2U9IlJhYXZpIi8+PGE6Zm9udCBzY3JpcHQ9IkNhbnMiIHR5cGVmYWNlPSJFdXBoZW1pYSIvPjxhOmZvbnQgc2NyaXB0PSJDaGVyIiB0eXBlZmFjZT0iUGxhbnRhZ2VuZXQgQ2hlcm9rZWUiLz48YTpmb250IHNjcmlwdD0iWWlpaSIgdHlwZWZhY2U9Ik1pY3Jvc29mdCBZaSBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJUaWJ0IiB0eXBlZmFjZT0iTWljcm9zb2Z0IEhpbWFsYXlhIi8+PGE6Zm9udCBzY3JpcHQ9IlRoYWEiIHR5cGVmYWNlPSJNViBCb2xpIi8+PGE6Zm9udCBzY3JpcHQ9IkRldmEiIHR5cGVmYWNlPSJNYW5nYWwiLz48YTpmb250IHNjcmlwdD0iVGVsdSIgdHlwZWZhY2U9IkdhdXRhbWkiLz48YTpmb250IHNjcmlwdD0iVGFtbCIgdHlwZWZhY2U9IkxhdGhhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cmMiIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJPcnlhIiB0eXBlZmFjZT0iS2FsaW5nYSIvPjxhOmZvbnQgc2NyaXB0PSJNbHltIiB0eXBlZmFjZT0iS2FydGlrYSIvPjxhOmZvbnQgc2NyaXB0PSJMYW9vIiB0eXBlZmFjZT0iRG9rQ2hhbXBhIi8+PGE6Zm9udCBzY3JpcHQ9IlNpbmgiIHR5cGVmYWNlPSJJc2tvb2xhIFBvdGEiLz48YTpmb250IHNjcmlwdD0iTW9uZyIgdHlwZWZhY2U9Ik1vbmdvbGlhbiBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJWaWV0IiB0eXBlZmFjZT0iVGltZXMgTmV3IFJvbWFuIi8+PGE6Zm9udCBzY3JpcHQ9IlVpZ2giIHR5cGVmYWNlPSJNaWNyb3NvZnQgVWlnaHVyIi8+PGE6Zm9udCBzY3JpcHQ9Ikdlb3IiIHR5cGVmYWNlPSJTeWxmYWVuIi8+PGE6Zm9udCBzY3JpcHQ9IkFybW4iIHR5cGVmYWNlPSJBcmlhbCIvPjxhOmZvbnQgc2NyaXB0PSJCdWdpIiB0eXBlZmFjZT0iTGVlbGF3YWRlZSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJCb3BvIiB0eXBlZmFjZT0iTWljcm9zb2Z0IEpoZW5nSGVpIi8+PGE6Zm9udCBzY3JpcHQ9IkphdmEiIHR5cGVmYWNlPSJKYXZhbmVzZSBUZXh0Ii8+PGE6Zm9udCBzY3JpcHQ9Ikxpc3UiIHR5cGVmYWNlPSJTZWdvZSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJNeW1yIiB0eXBlZmFjZT0iTXlhbm1hciBUZXh0Ii8+PGE6Zm9udCBzY3JpcHQ9Ik5rb28iIHR5cGVmYWNlPSJFYnJpbWEiLz48YTpmb250IHNjcmlwdD0iT2xjayIgdHlwZWZhY2U9Ik5pcm1hbGEgVUkiLz48YTpmb250IHNjcmlwdD0iT3NtYSIgdHlwZWZhY2U9IkVicmltYSIvPjxhOmZvbnQgc2NyaXB0PSJQaGFnIiB0eXBlZmFjZT0iUGhhZ3NwYSIvPjxhOmZvbnQgc2NyaXB0PSJTeXJuIiB0eXBlZmFjZT0iRXN0cmFuZ2VsbyBFZGVzc2EiLz48YTpmb250IHNjcmlwdD0iU3lyaiIgdHlwZWZhY2U9IkVzdHJhbmdlbG8gRWRlc3NhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cmUiIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJTb3JhIiB0eXBlZmFjZT0iTmlybWFsYSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJUYWxlIiB0eXBlZmFjZT0iTWljcm9zb2Z0IFRhaSBMZSIvPjxhOmZvbnQgc2NyaXB0PSJUYWx1IiB0eXBlZmFjZT0iTWljcm9zb2Z0IE5ldyBUYWkgTHVlIi8+PGE6Zm9udCBzY3JpcHQ9IlRmbmciIHR5cGVmYWNlPSJFYnJpbWEiLz48L2E6bWFqb3JGb250PjxhOm1pbm9yRm9udD48YTpsYXRpbiB0eXBlZmFjZT0iQ2FsaWJyaSIgcGFub3NlPSIwMjBGMDUwMjAyMDIwNDAzMDIwNCIvPjxhOmVhIHR5cGVmYWNlPSIiLz48YTpjcyB0eXBlZmFjZT0iIi8+PGE6Zm9udCBzY3JpcHQ9IkpwYW4iIHR5cGVmYWNlPSLmuLjjgrTjgrfjg4Pjgq8iLz48YTpmb250IHNjcmlwdD0iSGFuZyIgdHlwZWZhY2U9IuunkeydgCDqs6DrlJUiLz48YTpmb250IHNjcmlwdD0iSGFucyIgdHlwZWZhY2U9Iuetiee6vyIvPjxhOmZvbnQgc2NyaXB0PSJIYW50IiB0eXBlZmFjZT0i5paw57Sw5piO6auUIi8+PGE6Zm9udCBzY3JpcHQ9IkFyYWIiIHR5cGVmYWNlPSJBcmlhbCIvPjxhOmZvbnQgc2NyaXB0PSJIZWJyIiB0eXBlZmFjZT0iQXJpYWwiLz48YTpmb250IHNjcmlwdD0iVGhhaSIgdHlwZWZhY2U9IlRhaG9tYSIvPjxhOmZvbnQgc2NyaXB0PSJFdGhpIiB0eXBlZmFjZT0iTnlhbGEiLz48YTpmb250IHNjcmlwdD0iQmVuZyIgdHlwZWZhY2U9IlZyaW5kYSIvPjxhOmZvbnQgc2NyaXB0PSJHdWpyIiB0eXBlZmFjZT0iU2hydXRpIi8+PGE6Zm9udCBzY3JpcHQ9IktobXIiIHR5cGVmYWNlPSJEYXVuUGVuaCIvPjxhOmZvbnQgc2NyaXB0PSJLbmRhIiB0eXBlZmFjZT0iVHVuZ2EiLz48YTpmb250IHNjcmlwdD0iR3VydSIgdHlwZWZhY2U9IlJhYXZpIi8+PGE6Zm9udCBzY3JpcHQ9IkNhbnMiIHR5cGVmYWNlPSJFdXBoZW1pYSIvPjxhOmZvbnQgc2NyaXB0PSJDaGVyIiB0eXBlZmFjZT0iUGxhbnRhZ2VuZXQgQ2hlcm9rZWUiLz48YTpmb250IHNjcmlwdD0iWWlpaSIgdHlwZWZhY2U9Ik1pY3Jvc29mdCBZaSBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJUaWJ0IiB0eXBlZmFjZT0iTWljcm9zb2Z0IEhpbWFsYXlhIi8+PGE6Zm9udCBzY3JpcHQ9IlRoYWEiIHR5cGVmYWNlPSJNViBCb2xpIi8+PGE6Zm9udCBzY3JpcHQ9IkRldmEiIHR5cGVmYWNlPSJNYW5nYWwiLz48YTpmb250IHNjcmlwdD0iVGVsdSIgdHlwZWZhY2U9IkdhdXRhbWkiLz48YTpmb250IHNjcmlwdD0iVGFtbCIgdHlwZWZhY2U9IkxhdGhhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cmMiIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJPcnlhIiB0eXBlZmFjZT0iS2FsaW5nYSIvPjxhOmZvbnQgc2NyaXB0PSJNbHltIiB0eXBlZmFjZT0iS2FydGlrYSIvPjxhOmZvbnQgc2NyaXB0PSJMYW9vIiB0eXBlZmFjZT0iRG9rQ2hhbXBhIi8+PGE6Zm9udCBzY3JpcHQ9IlNpbmgiIHR5cGVmYWNlPSJJc2tvb2xhIFBvdGEiLz48YTpmb250IHNjcmlwdD0iTW9uZyIgdHlwZWZhY2U9Ik1vbmdvbGlhbiBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJWaWV0IiB0eXBlZmFjZT0iQXJpYWwiLz48YTpmb250IHNjcmlwdD0iVWlnaCIgdHlwZWZhY2U9Ik1pY3Jvc29mdCBVaWdodXIiLz48YTpmb250IHNjcmlwdD0iR2VvciIgdHlwZWZhY2U9IlN5bGZhZW4iLz48YTpmb250IHNjcmlwdD0iQXJtbiIgdHlwZWZhY2U9IkFyaWFsIi8+PGE6Zm9udCBzY3JpcHQ9IkJ1Z2kiIHR5cGVmYWNlPSJMZWVsYXdhZGVlIFVJIi8+PGE6Zm9udCBzY3JpcHQ9IkJvcG8iIHR5cGVmYWNlPSJNaWNyb3NvZnQgSmhlbmdIZWkiLz48YTpmb250IHNjcmlwdD0iSmF2YSIgdHlwZWZhY2U9IkphdmFuZXNlIFRleHQiLz48YTpmb250IHNjcmlwdD0iTGlzdSIgdHlwZWZhY2U9IlNlZ29lIFVJIi8+PGE6Zm9udCBzY3JpcHQ9Ik15bXIiIHR5cGVmYWNlPSJNeWFubWFyIFRleHQiLz48YTpmb250IHNjcmlwdD0iTmtvbyIgdHlwZWZhY2U9IkVicmltYSIvPjxhOmZvbnQgc2NyaXB0PSJPbGNrIiB0eXBlZmFjZT0iTmlybWFsYSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJPc21hIiB0eXBlZmFjZT0iRWJyaW1hIi8+PGE6Zm9udCBzY3JpcHQ9IlBoYWciIHR5cGVmYWNlPSJQaGFnc3BhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cm4iIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJTeXJqIiB0eXBlZmFjZT0iRXN0cmFuZ2VsbyBFZGVzc2EiLz48YTpmb250IHNjcmlwdD0iU3lyZSIgdHlwZWZhY2U9IkVzdHJhbmdlbG8gRWRlc3NhIi8+PGE6Zm9udCBzY3JpcHQ9IlNvcmEiIHR5cGVmYWNlPSJOaXJtYWxhIFVJIi8+PGE6Zm9udCBzY3JpcHQ9IlRhbGUiIHR5cGVmYWNlPSJNaWNyb3NvZnQgVGFpIExlIi8+PGE6Zm9udCBzY3JpcHQ9IlRhbHUiIHR5cGVmYWNlPSJNaWNyb3NvZnQgTmV3IFRhaSBMdWUiLz48YTpmb250IHNjcmlwdD0iVGZuZyIgdHlwZWZhY2U9IkVicmltYSIvPjwvYTptaW5vckZvbnQ+PC9hOmZvbnRTY2hlbWU+PGE6Zm10U2NoZW1lIG5hbWU9Ik9mZmljZSI+PGE6ZmlsbFN0eWxlTHN0PjxhOnNvbGlkRmlsbD48YTpzY2hlbWVDbHIgdmFsPSJwaENsciIvPjwvYTpzb2xpZEZpbGw+PGE6Z3JhZEZpbGwgcm90V2l0aFNoYXBlPSIxIj48YTpnc0xzdD48YTpncyBwb3M9IjAiPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIj48YTpsdW1Nb2QgdmFsPSIxMTAwMDAiLz48YTpzYXRNb2QgdmFsPSIxMDUwMDAiLz48YTp0aW50IHZhbD0iNjcwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48YTpncyBwb3M9IjUwMDAwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6bHVtTW9kIHZhbD0iMTA1MDAwIi8+PGE6c2F0TW9kIHZhbD0iMTAzMDAwIi8+PGE6dGludCB2YWw9IjczMDAwIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+PGE6Z3MgcG9zPSIxMDAwMDAiPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIj48YTpsdW1Nb2QgdmFsPSIxMDUwMDAiLz48YTpzYXRNb2QgdmFsPSIxMDkwMDAiLz48YTp0aW50IHZhbD0iODEwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48L2E6Z3NMc3Q+PGE6bGluIGFuZz0iNTQwMDAwMCIgc2NhbGVkPSIwIi8+PC9hOmdyYWRGaWxsPjxhOmdyYWRGaWxsIHJvdFdpdGhTaGFwZT0iMSI+PGE6Z3NMc3Q+PGE6Z3MgcG9zPSIwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6c2F0TW9kIHZhbD0iMTAzMDAwIi8+PGE6bHVtTW9kIHZhbD0iMTAyMDAwIi8+PGE6dGludCB2YWw9Ijk0MDAwIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+PGE6Z3MgcG9zPSI1MDAwMCI+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiPjxhOnNhdE1vZCB2YWw9IjExMDAwMCIvPjxhOmx1bU1vZCB2YWw9IjEwMDAwMCIvPjxhOnNoYWRlIHZhbD0iMTAwMDAwIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+PGE6Z3MgcG9zPSIxMDAwMDAiPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIj48YTpsdW1Nb2QgdmFsPSI5OTAwMCIvPjxhOnNhdE1vZCB2YWw9IjEyMDAwMCIvPjxhOnNoYWRlIHZhbD0iNzgwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48L2E6Z3NMc3Q+PGE6bGluIGFuZz0iNTQwMDAwMCIgc2NhbGVkPSIwIi8+PC9hOmdyYWRGaWxsPjwvYTpmaWxsU3R5bGVMc3Q+PGE6bG5TdHlsZUxzdD48YTpsbiB3PSI2MzUwIiBjYXA9ImZsYXQiIGNtcGQ9InNuZyIgYWxnbj0iY3RyIj48YTpzb2xpZEZpbGw+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiLz48L2E6c29saWRGaWxsPjxhOnByc3REYXNoIHZhbD0ic29saWQiLz48YTptaXRlciBsaW09IjgwMDAwMCIvPjwvYTpsbj48YTpsbiB3PSIxMjcwMCIgY2FwPSJmbGF0IiBjbXBkPSJzbmciIGFsZ249ImN0ciI+PGE6c29saWRGaWxsPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIi8+PC9hOnNvbGlkRmlsbD48YTpwcnN0RGFzaCB2YWw9InNvbGlkIi8+PGE6bWl0ZXIgbGltPSI4MDAwMDAiLz48L2E6bG4+PGE6bG4gdz0iMTkwNTAiIGNhcD0iZmxhdCIgY21wZD0ic25nIiBhbGduPSJjdHIiPjxhOnNvbGlkRmlsbD48YTpzY2hlbWVDbHIgdmFsPSJwaENsciIvPjwvYTpzb2xpZEZpbGw+PGE6cHJzdERhc2ggdmFsPSJzb2xpZCIvPjxhOm1pdGVyIGxpbT0iODAwMDAwIi8+PC9hOmxuPjwvYTpsblN0eWxlTHN0PjxhOmVmZmVjdFN0eWxlTHN0PjxhOmVmZmVjdFN0eWxlPjxhOmVmZmVjdExzdC8+PC9hOmVmZmVjdFN0eWxlPjxhOmVmZmVjdFN0eWxlPjxhOmVmZmVjdExzdC8+PC9hOmVmZmVjdFN0eWxlPjxhOmVmZmVjdFN0eWxlPjxhOmVmZmVjdExzdD48YTpvdXRlclNoZHcgYmx1clJhZD0iNTcxNTAiIGRpc3Q9IjE5MDUwIiBkaXI9IjU0MDAwMDAiIGFsZ249ImN0ciIgcm90V2l0aFNoYXBlPSIwIj48YTpzcmdiQ2xyIHZhbD0iMDAwMDAwIj48YTphbHBoYSB2YWw9IjYzMDAwIi8+PC9hOnNyZ2JDbHI+PC9hOm91dGVyU2hkdz48L2E6ZWZmZWN0THN0PjwvYTplZmZlY3RTdHlsZT48L2E6ZWZmZWN0U3R5bGVMc3Q+PGE6YmdGaWxsU3R5bGVMc3Q+PGE6c29saWRGaWxsPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIi8+PC9hOnNvbGlkRmlsbD48YTpzb2xpZEZpbGw+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiPjxhOnRpbnQgdmFsPSI5NTAwMCIvPjxhOnNhdE1vZCB2YWw9IjE3MDAwMCIvPjwvYTpzY2hlbWVDbHI+PC9hOnNvbGlkRmlsbD48YTpncmFkRmlsbCByb3RXaXRoU2hhcGU9IjEiPjxhOmdzTHN0PjxhOmdzIHBvcz0iMCI+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiPjxhOnRpbnQgdmFsPSI5MzAwMCIvPjxhOnNhdE1vZCB2YWw9IjE1MDAwMCIvPjxhOnNoYWRlIHZhbD0iOTgwMDAiLz48YTpsdW1Nb2QgdmFsPSIxMDIwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48YTpncyBwb3M9IjUwMDAwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6dGludCB2YWw9Ijk4MDAwIi8+PGE6c2F0TW9kIHZhbD0iMTMwMDAwIi8+PGE6c2hhZGUgdmFsPSI5MDAwMCIvPjxhOmx1bU1vZCB2YWw9IjEwMzAwMCIvPjwvYTpzY2hlbWVDbHI+PC9hOmdzPjxhOmdzIHBvcz0iMTAwMDAwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6c2hhZGUgdmFsPSI2MzAwMCIvPjxhOnNhdE1vZCB2YWw9IjEyMDAwMCIvPjwvYTpzY2hlbWVDbHI+PC9hOmdzPjwvYTpnc0xzdD48YTpsaW4gYW5nPSI1NDAwMDAwIiBzY2FsZWQ9IjAiLz48L2E6Z3JhZEZpbGw+PC9hOmJnRmlsbFN0eWxlTHN0PjwvYTpmbXRTY2hlbWU+PC9hOnRoZW1lRWxlbWVudHM+PGE6b2JqZWN0RGVmYXVsdHMvPjxhOmV4dHJhQ2xyU2NoZW1lTHN0Lz48YTpleHRMc3Q+PGE6ZXh0IHVyaT0iezA1QTRDMjVDLTA4NUUtNDM0MC04NUEzLUE1NTMxRTUxMERCMn0iPjx0aG0xNTp0aGVtZUZhbWlseSB4bWxuczp0aG0xNT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2UvdGhlbWVtbC8yMDEyL21haW4iIG5hbWU9Ik9mZmljZSBUaGVtZSIgaWQ9Ins2MkY5MzlCNi05M0FGLTREQjgtOUM2Qi1ENkM3REZEQzU4OUZ9IiB2aWQ9Ins0QTNDNDZFOC02MUNDLTQ2MDMtQTU4OS03NDIyQTQ3QThFNEF9Ii8+PC9hOmV4dD48L2E6ZXh0THN0PjwvYTp0aGVtZT5QSwMECgAAAAAAAAAhAHmhgGxSBgAAUgYAAA0AAAB4bC9zdHlsZXMueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPHN0eWxlU2hlZXQgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9zcHJlYWRzaGVldG1sLzIwMDYvbWFpbiIgeG1sbnM6bWM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9tYXJrdXAtY29tcGF0aWJpbGl0eS8yMDA2IiBtYzpJZ25vcmFibGU9IngxNGFjIHgxNnIyIHhyIiB4bWxuczp4MTRhYz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDA5LzkvYWMiIHhtbG5zOngxNnIyPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTUvMDIvbWFpbiIgeG1sbnM6eHI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAxNC9yZXZpc2lvbiI+PGZvbnRzIGNvdW50PSIxIiB4MTRhYzprbm93bkZvbnRzPSIxIj48Zm9udD48c3ogdmFsPSIxMSIvPjxjb2xvciB0aGVtZT0iMSIvPjxuYW1lIHZhbD0iQ2FsaWJyaSIvPjxmYW1pbHkgdmFsPSIyIi8+PHNjaGVtZSB2YWw9Im1pbm9yIi8+PC9mb250PjwvZm9udHM+PGZpbGxzIGNvdW50PSIyIj48ZmlsbD48cGF0dGVybkZpbGwgcGF0dGVyblR5cGU9Im5vbmUiLz48L2ZpbGw+PGZpbGw+PHBhdHRlcm5GaWxsIHBhdHRlcm5UeXBlPSJncmF5MTI1Ii8+PC9maWxsPjwvZmlsbHM+PGJvcmRlcnMgY291bnQ9IjEiPjxib3JkZXI+PGxlZnQvPjxyaWdodC8+PHRvcC8+PGJvdHRvbS8+PGRpYWdvbmFsLz48L2JvcmRlcj48L2JvcmRlcnM+PGNlbGxTdHlsZVhmcyBjb3VudD0iMSI+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjAiIGZpbGxJZD0iMCIgYm9yZGVySWQ9IjAiLz48L2NlbGxTdHlsZVhmcz48Y2VsbFhmcyBjb3VudD0iMSI+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjAiIGZpbGxJZD0iMCIgYm9yZGVySWQ9IjAiIHhmSWQ9IjAiLz48L2NlbGxYZnM+PGNlbGxTdHlsZXMgY291bnQ9IjEiPjxjZWxsU3R5bGUgbmFtZT0iTm9ybWFsIiB4ZklkPSIwIiBidWlsdGluSWQ9IjAiLz48L2NlbGxTdHlsZXM+PGR4ZnMgY291bnQ9IjAiLz48dGFibGVTdHlsZXMgY291bnQ9IjAiIGRlZmF1bHRUYWJsZVN0eWxlPSJUYWJsZVN0eWxlTWVkaXVtMiIgZGVmYXVsdFBpdm90U3R5bGU9IlBpdm90U3R5bGVMaWdodDE2Ii8+PGV4dExzdD48ZXh0IHVyaT0ie0VCNzlERUYyLTgwQjgtNDNlNS05NUJELTU0Q0JEREY5MDIwQ30iIHhtbG5zOngxND0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDA5LzkvbWFpbiI+PHgxNDpzbGljZXJTdHlsZXMgZGVmYXVsdFNsaWNlclN0eWxlPSJTbGljZXJTdHlsZUxpZ2h0MSIvPjwvZXh0PjxleHQgdXJpPSJ7OTI2MEE1MTAtRjMwMS00NmE4LTg2MzUtRjUxMkQ2NEJFNUY1fSIgeG1sbnM6eDE1PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvbWFpbiI+PHgxNTp0aW1lbGluZVN0eWxlcyBkZWZhdWx0VGltZWxpbmVTdHlsZT0iVGltZVNsaWNlclN0eWxlTGlnaHQxIi8+PC9leHQ+PC9leHRMc3Q+PC9zdHlsZVNoZWV0PlBLAwQKAAAAAAAAACEA0IywC4EAAACBAAAAFAAAAHhsL3NoYXJlZFN0cmluZ3MueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPHNzdCB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIi8+UEsDBAoAAAAAAAAAIQDcCx83XQIAAF0CAAARAAAAZG9jUHJvcHMvY29yZS54bWw8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ieWVzIj8+DQo8Y3A6Y29yZVByb3BlcnRpZXMgeG1sbnM6Y3A9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9wYWNrYWdlLzIwMDYvbWV0YWRhdGEvY29yZS1wcm9wZXJ0aWVzIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOmRjdGVybXM9Imh0dHA6Ly9wdXJsLm9yZy9kYy90ZXJtcy8iIHhtbG5zOmRjbWl0eXBlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIj48ZGM6Y3JlYXRvcj5kdW5jYW48L2RjOmNyZWF0b3I+PGNwOmxhc3RNb2RpZmllZEJ5PmR1bmNhbjwvY3A6bGFzdE1vZGlmaWVkQnk+PGRjdGVybXM6Y3JlYXRlZCB4c2k6dHlwZT0iZGN0ZXJtczpXM0NEVEYiPjIwMTktMDEtMzFUMTY6NDg6MDNaPC9kY3Rlcm1zOmNyZWF0ZWQ+PGRjdGVybXM6bW9kaWZpZWQgeHNpOnR5cGU9ImRjdGVybXM6VzNDRFRGIj4yMDE5LTAxLTMxVDE2OjQ4OjI4WjwvZGN0ZXJtczptb2RpZmllZD48L2NwOmNvcmVQcm9wZXJ0aWVzPlBLAwQKAAAAAAAAACEAYUkJEBEDAAARAwAAEAAAAGRvY1Byb3BzL2FwcC54bWw8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ieWVzIj8+DQo8UHJvcGVydGllcyB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvZXh0ZW5kZWQtcHJvcGVydGllcyIgeG1sbnM6dnQ9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L2RvY1Byb3BzVlR5cGVzIj48QXBwbGljYXRpb24+TWljcm9zb2Z0IEV4Y2VsPC9BcHBsaWNhdGlvbj48RG9jU2VjdXJpdHk+MDwvRG9jU2VjdXJpdHk+PFNjYWxlQ3JvcD5mYWxzZTwvU2NhbGVDcm9wPjxIZWFkaW5nUGFpcnM+PHZ0OnZlY3RvciBzaXplPSIyIiBiYXNlVHlwZT0idmFyaWFudCI+PHZ0OnZhcmlhbnQ+PHZ0Omxwc3RyPldvcmtzaGVldHM8L3Z0Omxwc3RyPjwvdnQ6dmFyaWFudD48dnQ6dmFyaWFudD48dnQ6aTQ+MTwvdnQ6aTQ+PC92dDp2YXJpYW50PjwvdnQ6dmVjdG9yPjwvSGVhZGluZ1BhaXJzPjxUaXRsZXNPZlBhcnRzPjx2dDp2ZWN0b3Igc2l6ZT0iMSIgYmFzZVR5cGU9Imxwc3RyIj48dnQ6bHBzdHI+U2hlZXQxPC92dDpscHN0cj48L3Z0OnZlY3Rvcj48L1RpdGxlc09mUGFydHM+PENvbXBhbnk+PC9Db21wYW55PjxMaW5rc1VwVG9EYXRlPmZhbHNlPC9MaW5rc1VwVG9EYXRlPjxTaGFyZWREb2M+ZmFsc2U8L1NoYXJlZERvYz48SHlwZXJsaW5rc0NoYW5nZWQ+ZmFsc2U8L0h5cGVybGlua3NDaGFuZ2VkPjxBcHBWZXJzaW9uPjE2LjAzMDA8L0FwcFZlcnNpb24+PC9Qcm9wZXJ0aWVzPlBLAQIUAAoAAAAAAAAAIQBi7p1okAQAAJAEAAATAAAAAAAAAAAAAAAAAAAAAABbQ29udGVudF9UeXBlc10ueG1sUEsBAhQACgAAAAAAAAAhALVVMCNMAgAATAIAAAsAAAAAAAAAAAAAAAAAwQQAAF9yZWxzLy5yZWxzUEsBAhQACgAAAAAAAAAhALpwnmbKBgAAygYAAA8AAAAAAAAAAAAAAAAANgcAAHhsL3dvcmtib29rLnhtbFBLAQIUAAoAAAAAAAAAIQCBPpSXugIAALoCAAAaAAAAAAAAAAAAAAAAAC0OAAB4bC9fcmVscy93b3JrYm9vay54bWwucmVsc1BLAQIUAAoAAAAAAAAAIQACrURzpAMAAKQDAAAYAAAAAAAAAAAAAAAAAB8RAAB4bC93b3Jrc2hlZXRzL3NoZWV0MS54bWxQSwECFAAKAAAAAAAAACEAwRcQvsYgAADGIAAAEwAAAAAAAAAAAAAAAAD5FAAAeGwvdGhlbWUvdGhlbWUxLnhtbFBLAQIUAAoAAAAAAAAAIQB5oYBsUgYAAFIGAAANAAAAAAAAAAAAAAAAAPA1AAB4bC9zdHlsZXMueG1sUEsBAhQACgAAAAAAAAAhANCMsAuBAAAAgQAAABQAAAAAAAAAAAAAAAAAbTwAAHhsL3NoYXJlZFN0cmluZ3MueG1sUEsBAhQACgAAAAAAAAAhANwLHzddAgAAXQIAABEAAAAAAAAAAAAAAAAAID0AAGRvY1Byb3BzL2NvcmUueG1sUEsBAhQACgAAAAAAAAAhAGFJCRARAwAAEQMAABAAAAAAAAAAAAAAAAAArD8AAGRvY1Byb3BzL2FwcC54bWxQSwUGAAAAAAoACgCAAgAA60IAAAAA";var jt=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",Yr=jt+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",Br="["+jt+"]["+Yr+"]*",kr=new RegExp("^"+Br+"$");function Qe(r,e){let t=[],n=e.exec(r);for(;n;){let s=[];s.startIndex=e.lastIndex-n[0].length;let i=n.length;for(let o=0;o<i;o++)s.push(n[o]);t.push(s),n=e.exec(r)}return t}var Pe=function(r){let e=kr.exec(r);return!(e===null||typeof e>"u")};function Ht(r){return typeof r<"u"}var _e=["hasOwnProperty","toString","valueOf","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__"],qe=["__proto__","constructor","prototype"];var Lr={allowBooleanAttributes:!1,unpairedTags:[]};function Qt(r,e){e=Object.assign({},Lr,e);let t=[],n=!1,s=!1;r[0]==="\uFEFF"&&(r=r.substr(1));for(let i=0;i<r.length;i++)if(r[i]==="<"&&r[i+1]==="?"){if(i+=2,i=Xt(r,i),i.err)return i}else if(r[i]==="<"){let o=i;if(i++,r[i]==="!"){i=Jt(r,i);continue}else{let a=!1;r[i]==="/"&&(a=!0,i++);let l="";for(;i<r.length&&r[i]!==">"&&r[i]!==" "&&r[i]!==" "&&r[i]!==`
1
+ /*! TREB v37.1.2. Copyright 2018-2026 trebco, llc. All rights reserved. LGPL: https://treb.app/license */
2
+ import{E as Yt,N as Bt,a as Rt,b as He,d as Ue,g as q,m as zt,n as Ot,p as Ce,q as be,r as ge,s as Ze}from"./chunk-UFKGUUNF.mjs";var Je=Rt(Xe=>{"use strict";Xe.byteLength=_r;Xe.toByteArray=Gr;Xe.fromByteArray=Or;var de=[],ae=[],Wr=typeof Uint8Array<"u"?Uint8Array:Array,ht="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(ve=0,kt=ht.length;ve<kt;++ve)de[ve]=ht[ve],ae[ht.charCodeAt(ve)]=ve;var ve,kt;ae[45]=62;ae[95]=63;function Lt(r){var e=r.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=r.indexOf("=");t===-1&&(t=e);var n=t===e?0:4-t%4;return[t,n]}function _r(r){var e=Lt(r),t=e[0],n=e[1];return(t+n)*3/4-n}function Er(r,e,t){return(e+t)*3/4-t}function Gr(r){var e,t=Lt(r),n=t[0],s=t[1],i=new Wr(Er(r,n,s)),o=0,a=s>0?n-4:n,l;for(l=0;l<a;l+=4)e=ae[r.charCodeAt(l)]<<18|ae[r.charCodeAt(l+1)]<<12|ae[r.charCodeAt(l+2)]<<6|ae[r.charCodeAt(l+3)],i[o++]=e>>16&255,i[o++]=e>>8&255,i[o++]=e&255;return s===2&&(e=ae[r.charCodeAt(l)]<<2|ae[r.charCodeAt(l+1)]>>4,i[o++]=e&255),s===1&&(e=ae[r.charCodeAt(l)]<<10|ae[r.charCodeAt(l+1)]<<4|ae[r.charCodeAt(l+2)]>>2,i[o++]=e>>8&255,i[o++]=e&255),i}function Rr(r){return de[r>>18&63]+de[r>>12&63]+de[r>>6&63]+de[r&63]}function zr(r,e,t){for(var n,s=[],i=e;i<t;i+=3)n=(r[i]<<16&16711680)+(r[i+1]<<8&65280)+(r[i+2]&255),s.push(Rr(n));return s.join("")}function Or(r){for(var e,t=r.length,n=t%3,s=[],i=16383,o=0,a=t-n;o<a;o+=i)s.push(zr(r,o,o+i>a?a:o+i));return n===1?(e=r[t-1],s.push(de[e>>2]+de[e<<4&63]+"==")):n===2&&(e=(r[t-2]<<8)+r[t-1],s.push(de[e>>10]+de[e>>4&63]+de[e<<2&63]+"=")),s.join("")}});var Ar=Rt((Is,Pt)=>{var p={};typeof Pt=="object"&&(Pt.exports=p);p.parse=function(r,e){for(var t=p.bin.readUshort,n=p.bin.readUint,a=0,s={},i=new Uint8Array(r),o=i.length-4;n(i,o)!=101010256;)o--;var a=o;a+=4,a+=4;var l=t(i,a);a+=2;var c=t(i,a);a+=2;var f=n(i,a);a+=4;var d=n(i,a);a+=4,a=d;for(var u=0;u<l;u++){var h=n(i,a);a+=4,a+=4,a+=4,a+=4;var y=n(i,a);a+=4;var f=n(i,a);a+=4;var w=n(i,a);a+=4;var N=t(i,a),x=t(i,a+2),v=t(i,a+4);a+=6,a+=8;var m=n(i,a);a+=4,a+=N+x+v,p._readLocal(i,m,s,f,w,e)}return s};p._readLocal=function(r,e,t,n,s,i){var o=p.bin.readUshort,a=p.bin.readUint,l=a(r,e);e+=4;var c=o(r,e);e+=2;var f=o(r,e);e+=2;var d=o(r,e);e+=2;var u=a(r,e);e+=4;var h=a(r,e);e+=4,e+=8;var y=o(r,e);e+=2;var w=o(r,e);e+=2;var N=p.bin.readUTF8(r,e,y);if(e+=y,e+=w,i){t[N]={size:s,csize:n};return}var x=new Uint8Array(r.buffer,e);if(d==0)t[N]=new Uint8Array(x.buffer.slice(e,e+n));else if(d==8){var v=new Uint8Array(s);p.inflateRaw(x,v),t[N]=v}else throw"unknown compression method: "+d};p.inflateRaw=function(r,e){return p.F.inflate(r,e)};p.inflate=function(r,e){var t=r[0],n=r[1],s=t&15,i=t>>>4;return p.inflateRaw(new Uint8Array(r.buffer,r.byteOffset+2,r.length-6),e)};p.deflate=function(r,e){e==null&&(e={level:6});var t=0,n=new Uint8Array(50+Math.floor(r.length*1.1));n[t]=120,n[t+1]=156,t+=2,t=p.F.deflateRaw(r,n,t,e.level);var s=p.adler(r,0,r.length);return n[t+0]=s>>>24&255,n[t+1]=s>>>16&255,n[t+2]=s>>>8&255,n[t+3]=s>>>0&255,new Uint8Array(n.buffer,0,t+4)};p.deflateRaw=function(r,e){e==null&&(e={level:6});var t=new Uint8Array(50+Math.floor(r.length*1.1)),n=p.F.deflateRaw(r,t,n,e.level);return new Uint8Array(t.buffer,0,n)};p.encode=function(r,e){e==null&&(e=!1);var t=0,n=p.bin.writeUint,s=p.bin.writeUshort,i={};for(var o in r){var a=!p._noNeed(o)&&!e,l=r[o],c=p.crc.crc(l,0,l.length);i[o]={cpr:a,usize:l.length,crc:c,file:a?p.deflateRaw(l):l}}for(var o in i)t+=i[o].file.length+30+46+2*p.bin.sizeUTF8(o);t+=22;var f=new Uint8Array(t),d=0,u=[];for(var o in i){var h=i[o];u.push(d),d=p._writeHeader(f,d,o,h,0)}var y=0,w=d;for(var o in i){var h=i[o];u.push(d),d=p._writeHeader(f,d,o,h,1,u[y++])}var N=d-w;return n(f,d,101010256),d+=4,d+=4,s(f,d,y),d+=2,s(f,d,y),d+=2,n(f,d,N),d+=4,n(f,d,w),d+=4,d+=2,f.buffer};p._noNeed=function(r){var e=r.split(".").pop().toLowerCase();return"png,jpg,jpeg,zip".indexOf(e)!=-1};p._writeHeader=function(r,e,t,n,s,i){var o=p.bin.writeUint,a=p.bin.writeUshort,l=n.file;o(r,e,s==0?67324752:33639248),e+=4,s==1&&(e+=2),a(r,e,20),e+=2,a(r,e,0),e+=2,a(r,e,n.cpr?8:0),e+=2,o(r,e,0),e+=4,o(r,e,n.crc),e+=4,o(r,e,l.length),e+=4,o(r,e,n.usize),e+=4,a(r,e,p.bin.sizeUTF8(t)),e+=2,a(r,e,0),e+=2,s==1&&(e+=2,e+=2,e+=6,o(r,e,i),e+=4);var c=p.bin.writeUTF8(r,e,t);return e+=c,s==0&&(r.set(l,e),e+=l.length),e};p.crc={table:(function(){for(var r=new Uint32Array(256),e=0;e<256;e++){for(var t=e,n=0;n<8;n++)t&1?t=3988292384^t>>>1:t=t>>>1;r[e]=t}return r})(),update:function(r,e,t,n){for(var s=0;s<n;s++)r=p.crc.table[(r^e[t+s])&255]^r>>>8;return r},crc:function(r,e,t){return p.crc.update(4294967295,r,e,t)^4294967295}};p.adler=function(r,e,t){for(var n=1,s=0,i=e,o=e+t;i<o;){for(var a=Math.min(i+5552,o);i<a;)n+=r[i++],s+=n;n=n%65521,s=s%65521}return s<<16|n};p.bin={readUshort:function(r,e){return r[e]|r[e+1]<<8},writeUshort:function(r,e,t){r[e]=t&255,r[e+1]=t>>8&255},readUint:function(r,e){return r[e+3]*(256*256*256)+(r[e+2]<<16|r[e+1]<<8|r[e])},writeUint:function(r,e,t){r[e]=t&255,r[e+1]=t>>8&255,r[e+2]=t>>16&255,r[e+3]=t>>24&255},readASCII:function(r,e,t){for(var n="",s=0;s<t;s++)n+=String.fromCharCode(r[e+s]);return n},writeASCII:function(r,e,t){for(var n=0;n<t.length;n++)r[e+n]=t.charCodeAt(n)},pad:function(r){return r.length<2?"0"+r:r},readUTF8:function(r,e,t){for(var n="",s,i=0;i<t;i++)n+="%"+p.bin.pad(r[e+i].toString(16));try{s=decodeURIComponent(n)}catch{return p.bin.readASCII(r,e,t)}return s},writeUTF8:function(r,e,t){for(var n=t.length,s=0,i=0;i<n;i++){var o=t.charCodeAt(i);if((o&4294967168)==0)r[e+s]=o,s++;else if((o&4294965248)==0)r[e+s]=192|o>>6,r[e+s+1]=128|o>>0&63,s+=2;else if((o&4294901760)==0)r[e+s]=224|o>>12,r[e+s+1]=128|o>>6&63,r[e+s+2]=128|o>>0&63,s+=3;else if((o&4294967295-(1<<21)+1)==0)r[e+s]=240|o>>18,r[e+s+1]=128|o>>12&63,r[e+s+2]=128|o>>6&63,r[e+s+3]=128|o>>0&63,s+=4;else throw"e"}return s},sizeUTF8:function(r){for(var e=r.length,t=0,n=0;n<e;n++){var s=r.charCodeAt(n);if((s&4294967168)==0)t++;else if((s&4294965248)==0)t+=2;else if((s&4294901760)==0)t+=3;else if((s&4294967295-(1<<21)+1)==0)t+=4;else throw"e"}return t}};p.F={};p.F.deflateRaw=function(r,e,t,n){var s=[[0,0,0,0,0],[4,4,8,4,0],[4,5,16,8,0],[4,6,16,16,0],[4,10,16,32,0],[8,16,32,32,0],[8,16,128,128,0],[8,32,128,256,0],[32,128,258,1024,1],[32,258,258,4096,1]],i=s[n],o=p.F.U,a=p.F._goodIndex,l=p.F._hash,c=p.F._putsE,f=0,d=t<<3,u=0,h=r.length;if(n==0){for(;f<h;){var y=Math.min(65535,h-f);c(e,d,f+y==h?1:0),d=p.F._copyExact(r,f,y,e,d+8),f+=y}return d>>>3}var w=o.lits,N=o.strt,x=o.prev,v=0,m=0,b=0,P=0,V=0,E=0;h>2&&(E=p.F._hash(r,0),N[E]=0);var R=0,k=0;for(f=0;f<h;f++){if(V=E,f+1<h-2){E=p.F._hash(r,f+1);var Y=f+1&32767;x[Y]=N[E],N[E]=Y}if(u<=f){(v>14e3||m>26697)&&h-f>100&&(u<f&&(w[v]=f-u,v+=2,u=f),d=p.F._writeBlock(f==h-1||u==h?1:0,w,v,P,r,b,f-b,e,d),v=m=P=0,b=f);var B=0;f<h-2&&(B=p.F._bestMatch(r,f,x,V,Math.min(i[2],h-f),i[3]));var y=B>>>16,U=B&65535;if(B!=0){var y=B>>>16,U=B&65535,g=a(y,o.of0);o.lhst[257+g]++;var M=a(U,o.df0);o.dhst[M]++,P+=o.exb[g]+o.dxb[M],w[v]=y<<23|f-u,w[v+1]=U<<16|g<<8|M,v+=2,u=f+y}else o.lhst[r[f]]++;m++}}for((b!=f||r.length==0)&&(u<f&&(w[v]=f-u,v+=2,u=f),d=p.F._writeBlock(1,w,v,P,r,b,f-b,e,d),v=0,m=0,v=m=P=0,b=f);(d&7)!=0;)d++;return d>>>3};p.F._bestMatch=function(r,e,t,n,s,i){var o=e&32767,a=t[o],l=o-a+32768&32767;if(a==o||n!=p.F._hash(r,e-l))return 0;for(var c=0,f=0,d=Math.min(32767,e);l<=d&&--i!=0&&a!=o;){if(c==0||r[e+c]==r[e+c-l]){var u=p.F._howLong(r,e,l);if(u>c){if(c=u,f=l,c>=s)break;l+2<u&&(u=l+2);for(var h=0,y=0;y<u-2;y++){var w=e-l+y+32768&32767,N=t[w],x=w-N+32768&32767;x>h&&(h=x,a=w)}}}o=a,a=t[o],l+=o-a+32768&32767}return c<<16|f};p.F._howLong=function(r,e,t){if(r[e]!=r[e-t]||r[e+1]!=r[e+1-t]||r[e+2]!=r[e+2-t])return 0;var n=e,s=Math.min(r.length,e+258);for(e+=3;e<s&&r[e]==r[e-t];)e++;return e-n};p.F._hash=function(r,e){return(r[e]<<8|r[e+1])+(r[e+2]<<4)&65535};p.saved=0;p.F._writeBlock=function(r,e,t,n,s,i,o,a,l){var c=p.F.U,f=p.F._putsF,d=p.F._putsE,u,h,y,w,N,x,v,m,b;c.lhst[256]++,u=p.F.getTrees(),h=u[0],y=u[1],w=u[2],N=u[3],x=u[4],v=u[5],m=u[6],b=u[7];var P=((l+3&7)==0?0:8-(l+3&7))+32+(o<<3),V=n+p.F.contSize(c.fltree,c.lhst)+p.F.contSize(c.fdtree,c.dhst),E=n+p.F.contSize(c.ltree,c.lhst)+p.F.contSize(c.dtree,c.dhst);E+=14+3*v+p.F.contSize(c.itree,c.ihst)+(c.ihst[16]*2+c.ihst[17]*3+c.ihst[18]*7);for(var R=0;R<286;R++)c.lhst[R]=0;for(var R=0;R<30;R++)c.dhst[R]=0;for(var R=0;R<19;R++)c.ihst[R]=0;var k=P<V&&P<E?0:V<E?1:2;f(a,l,r),f(a,l+1,k),l+=3;var Y=l;if(k==0){for(;(l&7)!=0;)l++;l=p.F._copyExact(s,i,o,a,l)}else{var B,U;if(k==1&&(B=c.fltree,U=c.fdtree),k==2){p.F.makeCodes(c.ltree,h),p.F.revCodes(c.ltree,h),p.F.makeCodes(c.dtree,y),p.F.revCodes(c.dtree,y),p.F.makeCodes(c.itree,w),p.F.revCodes(c.itree,w),B=c.ltree,U=c.dtree,d(a,l,N-257),l+=5,d(a,l,x-1),l+=5,d(a,l,v-4),l+=4;for(var g=0;g<v;g++)d(a,l+g*3,c.itree[(c.ordr[g]<<1)+1]);l+=3*v,l=p.F._codeTiny(m,c.itree,a,l),l=p.F._codeTiny(b,c.itree,a,l)}for(var M=i,$=0;$<t;$+=2){for(var C=e[$],Z=C>>>23,I=M+(C&(1<<23)-1);M<I;)l=p.F._writeLit(s[M++],B,a,l);if(Z!=0){var _=e[$+1],z=_>>16,J=_>>8&255,Q=_&255;l=p.F._writeLit(257+J,B,a,l),d(a,l,Z-c.of0[J]),l+=c.exb[J],l=p.F._writeLit(Q,U,a,l),f(a,l,z-c.df0[Q]),l+=c.dxb[Q],M+=Z}}l=p.F._writeLit(256,B,a,l)}return l};p.F._copyExact=function(r,e,t,n,s){var i=s>>>3;return n[i]=t,n[i+1]=t>>>8,n[i+2]=255-n[i],n[i+3]=255-n[i+1],i+=4,n.set(new Uint8Array(r.buffer,e,t),i),s+(t+4<<3)};p.F.getTrees=function(){for(var r=p.F.U,e=p.F._hufTree(r.lhst,r.ltree,15),t=p.F._hufTree(r.dhst,r.dtree,15),n=[],s=p.F._lenCodes(r.ltree,n),i=[],o=p.F._lenCodes(r.dtree,i),a=0;a<n.length;a+=2)r.ihst[n[a]]++;for(var a=0;a<i.length;a+=2)r.ihst[i[a]]++;for(var l=p.F._hufTree(r.ihst,r.itree,7),c=19;c>4&&r.itree[(r.ordr[c-1]<<1)+1]==0;)c--;return[e,t,l,s,o,c,n,i]};p.F.getSecond=function(r){for(var e=[],t=0;t<r.length;t+=2)e.push(r[t+1]);return e};p.F.nonZero=function(r){for(var e="",t=0;t<r.length;t+=2)r[t+1]!=0&&(e+=(t>>1)+",");return e};p.F.contSize=function(r,e){for(var t=0,n=0;n<e.length;n++)t+=e[n]*r[(n<<1)+1];return t};p.F._codeTiny=function(r,e,t,n){for(var s=0;s<r.length;s+=2){var i=r[s],o=r[s+1];n=p.F._writeLit(i,e,t,n);var a=i==16?2:i==17?3:7;i>15&&(p.F._putsE(t,n,o,a),n+=a)}return n};p.F._lenCodes=function(r,e){for(var t=r.length;t!=2&&r[t-1]==0;)t-=2;for(var n=0;n<t;n+=2){var s=r[n+1],i=n+3<t?r[n+3]:-1,o=n+5<t?r[n+5]:-1,a=n==0?-1:r[n-1];if(s==0&&i==s&&o==s){for(var l=n+5;l+2<t&&r[l+2]==s;)l+=2;var c=Math.min(l+1-n>>>1,138);c<11?e.push(17,c-3):e.push(18,c-11),n+=c*2-2}else if(s==a&&i==s&&o==s){for(var l=n+5;l+2<t&&r[l+2]==s;)l+=2;var c=Math.min(l+1-n>>>1,6);e.push(16,c-3),n+=c*2-2}else e.push(s,0)}return t>>>1};p.F._hufTree=function(r,e,t){var n=[],s=r.length,i=e.length,o=0;for(o=0;o<i;o+=2)e[o]=0,e[o+1]=0;for(o=0;o<s;o++)r[o]!=0&&n.push({lit:o,f:r[o]});var a=n.length,l=n.slice(0);if(a==0)return 0;if(a==1){var c=n[0].lit,l=c==0?1:0;return e[(c<<1)+1]=1,e[(l<<1)+1]=1,1}n.sort(function(N,x){return N.f-x.f});var f=n[0],d=n[1],u=0,h=1,y=2;for(n[0]={lit:-1,f:f.f+d.f,l:f,r:d,d:0};h!=a-1;)u!=h&&(y==a||n[u].f<n[y].f)?f=n[u++]:f=n[y++],u!=h&&(y==a||n[u].f<n[y].f)?d=n[u++]:d=n[y++],n[h++]={lit:-1,f:f.f+d.f,l:f,r:d};var w=p.F.setDepth(n[h-1],0);for(w>t&&(p.F.restrictDepth(l,t,w),w=t),o=0;o<a;o++)e[(l[o].lit<<1)+1]=l[o].d;return w};p.F.setDepth=function(r,e){return r.lit!=-1?(r.d=e,e):Math.max(p.F.setDepth(r.l,e+1),p.F.setDepth(r.r,e+1))};p.F.restrictDepth=function(r,e,t){var n=0,s=1<<t-e,i=0;for(r.sort(function(a,l){return l.d==a.d?a.f-l.f:l.d-a.d}),n=0;n<r.length&&r[n].d>e;n++){var o=r[n].d;r[n].d=e,i+=s-(1<<t-o)}for(i=i>>>t-e;i>0;){var o=r[n].d;o<e?(r[n].d++,i-=1<<e-o-1):n++}for(;n>=0;n--)r[n].d==e&&i<0&&(r[n].d--,i++);i!=0&&console.log("debt left")};p.F._goodIndex=function(r,e){var t=0;return e[t|16]<=r&&(t|=16),e[t|8]<=r&&(t|=8),e[t|4]<=r&&(t|=4),e[t|2]<=r&&(t|=2),e[t|1]<=r&&(t|=1),t};p.F._writeLit=function(r,e,t,n){return p.F._putsF(t,n,e[r<<1]),n+e[(r<<1)+1]};p.F.inflate=function(r,e){var t=Uint8Array;if(r[0]==3&&r[1]==0)return e||new t(0);var n=p.F,s=n._bitsF,i=n._bitsE,o=n._decodeTiny,a=n.makeCodes,l=n.codes2map,c=n._get17,f=n.U,d=e==null;d&&(e=new t(r.length>>>2<<3));for(var u=0,h=0,y=0,w=0,N=0,x=0,v=0,m=0,b=0,P,V;u==0;){if(u=s(r,b,1),h=s(r,b+1,2),b+=3,h==0){(b&7)!=0&&(b+=8-(b&7));var E=(b>>>3)+4,R=r[E-4]|r[E-3]<<8;d&&(e=p.F._check(e,m+R)),e.set(new t(r.buffer,r.byteOffset+E,R),m),b=E+R<<3,m+=R;continue}if(d&&(e=p.F._check(e,m+(1<<17))),h==1&&(P=f.flmap,V=f.fdmap,x=511,v=31),h==2){y=i(r,b,5)+257,w=i(r,b+5,5)+1,N=i(r,b+10,4)+4,b+=14;for(var k=b,Y=0;Y<38;Y+=2)f.itree[Y]=0,f.itree[Y+1]=0;for(var B=1,Y=0;Y<N;Y++){var U=i(r,b+Y*3,3);f.itree[(f.ordr[Y]<<1)+1]=U,U>B&&(B=U)}b+=3*N,a(f.itree,B),l(f.itree,B,f.imap),P=f.lmap,V=f.dmap,b=o(f.imap,(1<<B)-1,y+w,r,b,f.ttree);var g=n._copyOut(f.ttree,0,y,f.ltree);x=(1<<g)-1;var M=n._copyOut(f.ttree,y,w,f.dtree);v=(1<<M)-1,a(f.ltree,g),l(f.ltree,g,P),a(f.dtree,M),l(f.dtree,M,V)}for(;;){var $=P[c(r,b)&x];b+=$&15;var C=$>>>4;if(!(C>>>8))e[m++]=C;else{if(C==256)break;var Z=m+C-254;if(C>264){var I=f.ldef[C-257];Z=m+(I>>>3)+i(r,b,I&7),b+=I&7}var _=V[c(r,b)&v];b+=_&15;var z=_>>>4,J=f.ddef[z],Q=(J>>>4)+s(r,b,J&15);for(b+=J&15,d&&(e=p.F._check(e,m+(1<<17)));m<Z;)e[m]=e[m++-Q],e[m]=e[m++-Q],e[m]=e[m++-Q],e[m]=e[m++-Q];m=Z}}}return e.length==m?e:e.slice(0,m)};p.F._check=function(r,e){var t=r.length;if(e<=t)return r;var n=new Uint8Array(Math.max(t<<1,e));return n.set(r,0),n};p.F._decodeTiny=function(r,e,t,n,s,i){for(var o=p.F._bitsE,a=p.F._get17,l=0;l<t;){var c=r[a(n,s)&e];s+=c&15;var f=c>>>4;if(f<=15)i[l]=f,l++;else{var d=0,u=0;f==16?(u=3+o(n,s,2),s+=2,d=i[l-1]):f==17?(u=3+o(n,s,3),s+=3):f==18&&(u=11+o(n,s,7),s+=7);for(var h=l+u;l<h;)i[l]=d,l++}}return s};p.F._copyOut=function(r,e,t,n){for(var s=0,i=0,o=n.length>>>1;i<t;){var a=r[i+e];n[i<<1]=0,n[(i<<1)+1]=a,a>s&&(s=a),i++}for(;i<o;)n[i<<1]=0,n[(i<<1)+1]=0,i++;return s};p.F.makeCodes=function(r,e){for(var t=p.F.U,n=r.length,s,i,o,a,l,c=t.bl_count,a=0;a<=e;a++)c[a]=0;for(a=1;a<n;a+=2)c[r[a]]++;var f=t.next_code;for(s=0,c[0]=0,i=1;i<=e;i++)s=s+c[i-1]<<1,f[i]=s;for(o=0;o<n;o+=2)l=r[o+1],l!=0&&(r[o]=f[l],f[l]++)};p.F.codes2map=function(r,e,t){for(var n=r.length,s=p.F.U,i=s.rev15,o=0;o<n;o+=2)if(r[o+1]!=0)for(var a=o>>1,l=r[o+1],c=a<<4|l,f=e-l,d=r[o]<<f,u=d+(1<<f);d!=u;){var h=i[d]>>>15-e;t[h]=c,d++}};p.F.revCodes=function(r,e){for(var t=p.F.U.rev15,n=15-e,s=0;s<r.length;s+=2){var i=r[s]<<e-r[s+1];r[s]=t[i]>>>n}};p.F._putsE=function(r,e,t){t=t<<(e&7);var n=e>>>3;r[n]|=t,r[n+1]|=t>>>8};p.F._putsF=function(r,e,t){t=t<<(e&7);var n=e>>>3;r[n]|=t,r[n+1]|=t>>>8,r[n+2]|=t>>>16};p.F._bitsE=function(r,e,t){return(r[e>>>3]|r[(e>>>3)+1]<<8)>>>(e&7)&(1<<t)-1};p.F._bitsF=function(r,e,t){return(r[e>>>3]|r[(e>>>3)+1]<<8|r[(e>>>3)+2]<<16)>>>(e&7)&(1<<t)-1};p.F._get17=function(r,e){return(r[e>>>3]|r[(e>>>3)+1]<<8|r[(e>>>3)+2]<<16)>>>(e&7)};p.F._get25=function(r,e){return(r[e>>>3]|r[(e>>>3)+1]<<8|r[(e>>>3)+2]<<16|r[(e>>>3)+3]<<24)>>>(e&7)};p.F.U=(function(){var r=Uint16Array,e=Uint32Array;return{next_code:new r(16),bl_count:new r(16),ordr:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],of0:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],exb:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],ldef:new r(32),df0:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],dxb:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],ddef:new e(32),flmap:new r(512),fltree:[],fdmap:new r(32),fdtree:[],lmap:new r(32768),ltree:[],ttree:[],dmap:new r(32768),dtree:[],imap:new r(512),itree:[],rev15:new r(32768),lhst:new e(286),dhst:new e(30),ihst:new e(19),lits:new e(15e3),strt:new r(65536),prev:new r(32768)}})();(function(){for(var r=p.F.U,e=32768,t=0;t<e;t++){var n=t;n=(n&2863311530)>>>1|(n&1431655765)<<1,n=(n&3435973836)>>>2|(n&858993459)<<2,n=(n&4042322160)>>>4|(n&252645135)<<4,n=(n&4278255360)>>>8|(n&16711935)<<8,r.rev15[t]=(n>>>16|n<<16)>>>17}function s(i,o,a){for(;o--!=0;)i.push(0,a)}for(var t=0;t<32;t++)r.ldef[t]=r.of0[t]<<3|r.exb[t],r.ddef[t]=r.df0[t]<<4|r.dxb[t];s(r.fltree,144,8),s(r.fltree,112,9),s(r.fltree,24,7),s(r.fltree,8,8),p.F.makeCodes(r.fltree,9),p.F.codes2map(r.fltree,9,r.flmap),p.F.revCodes(r.fltree,9),s(r.fdtree,32,5),p.F.makeCodes(r.fdtree,5),p.F.codes2map(r.fdtree,5,r.fdmap),p.F.revCodes(r.fdtree,5),s(r.itree,19,0),s(r.ltree,286,0),s(r.dtree,30,0),s(r.ttree,320,0)})()});var Cr=He(Je());var De=r=>{let e=Math.floor((r-5)/7*100+.5)/100;return Math.floor((e*7+5)/7*256)/256},ut=r=>Math.floor((256*r+Math.floor(18.285714285714285))/256*7);var Vt="UEsDBAoAAAAAAAAAIQBi7p1okAQAAJAEAAATAAAAW0NvbnRlbnRfVHlwZXNdLnhtbDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjxUeXBlcyB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9jb250ZW50LXR5cGVzIj48RGVmYXVsdCBFeHRlbnNpb249InJlbHMiIENvbnRlbnRUeXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtcGFja2FnZS5yZWxhdGlvbnNoaXBzK3htbCIvPjxEZWZhdWx0IEV4dGVuc2lvbj0ieG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24veG1sIi8+PE92ZXJyaWRlIFBhcnROYW1lPSIveGwvd29ya2Jvb2sueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQubWFpbit4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii94bC93b3Jrc2hlZXRzL3NoZWV0MS54bWwiIENvbnRlbnRUeXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC53b3Jrc2hlZXQreG1sIi8+PE92ZXJyaWRlIFBhcnROYW1lPSIveGwvdGhlbWUvdGhlbWUxLnhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC50aGVtZSt4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii94bC9zdHlsZXMueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc3R5bGVzK3htbCIvPjxPdmVycmlkZSBQYXJ0TmFtZT0iL3hsL3NoYXJlZFN0cmluZ3MueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hhcmVkU3RyaW5ncyt4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii9kb2NQcm9wcy9jb3JlLnhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1wYWNrYWdlLmNvcmUtcHJvcGVydGllcyt4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii9kb2NQcm9wcy9hcHAueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmV4dGVuZGVkLXByb3BlcnRpZXMreG1sIi8+PC9UeXBlcz5QSwMECgAAAAAAAAAhALVVMCNMAgAATAIAAAsAAABfcmVscy8ucmVsczw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjxSZWxhdGlvbnNoaXBzIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvcGFja2FnZS8yMDA2L3JlbGF0aW9uc2hpcHMiPjxSZWxhdGlvbnNoaXAgSWQ9InJJZDMiIFR5cGU9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvZXh0ZW5kZWQtcHJvcGVydGllcyIgVGFyZ2V0PSJkb2NQcm9wcy9hcHAueG1sIi8+PFJlbGF0aW9uc2hpcCBJZD0icklkMiIgVHlwZT0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9yZWxhdGlvbnNoaXBzL21ldGFkYXRhL2NvcmUtcHJvcGVydGllcyIgVGFyZ2V0PSJkb2NQcm9wcy9jb3JlLnhtbCIvPjxSZWxhdGlvbnNoaXAgSWQ9InJJZDEiIFR5cGU9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvb2ZmaWNlRG9jdW1lbnQiIFRhcmdldD0ieGwvd29ya2Jvb2sueG1sIi8+PC9SZWxhdGlvbnNoaXBzPlBLAwQKAAAAAAAAACEAunCeZsoGAADKBgAADwAAAHhsL3dvcmtib29rLnhtbDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjx3b3JrYm9vayB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIiB4bWxuczpyPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzIiB4bWxuczptYz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL21hcmt1cC1jb21wYXRpYmlsaXR5LzIwMDYiIG1jOklnbm9yYWJsZT0ieDE1IHhyIHhyNiB4cjEwIHhyMiIgeG1sbnM6eDE1PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvbWFpbiIgeG1sbnM6eHI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAxNC9yZXZpc2lvbiIgeG1sbnM6eHI2PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTYvcmV2aXNpb242IiB4bWxuczp4cjEwPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTYvcmV2aXNpb24xMCIgeG1sbnM6eHIyPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTUvcmV2aXNpb24yIj48ZmlsZVZlcnNpb24gYXBwTmFtZT0ieGwiIGxhc3RFZGl0ZWQ9IjciIGxvd2VzdEVkaXRlZD0iNyIgcnVwQnVpbGQ9IjIxMTI2Ii8+PHdvcmtib29rUHIgZGVmYXVsdFRoZW1lVmVyc2lvbj0iMTY2OTI1Ii8+PG1jOkFsdGVybmF0ZUNvbnRlbnQgeG1sbnM6bWM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9tYXJrdXAtY29tcGF0aWJpbGl0eS8yMDA2Ij48bWM6Q2hvaWNlIFJlcXVpcmVzPSJ4MTUiPjx4MTVhYzphYnNQYXRoIHVybD0iSDpcVFJFQlx0cmViLWV4cG9ydFx0ZW1wbGF0ZVwiIHhtbG5zOngxNWFjPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvYWMiLz48L21jOkNob2ljZT48L21jOkFsdGVybmF0ZUNvbnRlbnQ+PHhyOnJldmlzaW9uUHRyIHJldklETGFzdFNhdmU9IjAiIGRvY3VtZW50SWQ9Ijhfe0Q4NThGOUY3LTBEOTItNEFFNC04QTQyLTQ4MENCMzU5QjYyRH0iIHhyNjpjb2F1dGhWZXJzaW9uTGFzdD0iNDAiIHhyNjpjb2F1dGhWZXJzaW9uTWF4PSI0MCIgeHIxMDp1aWRMYXN0U2F2ZT0iezAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMH0iLz48Ym9va1ZpZXdzPjx3b3JrYm9va1ZpZXcgeFdpbmRvdz0iMCIgeVdpbmRvdz0iMCIgd2luZG93V2lkdGg9IjI0NTcwIiB3aW5kb3dIZWlnaHQ9IjExMTMwIiB4cjI6dWlkPSJ7REU0RTdEMzUtNDkyRC00MEQ3LTk5MjUtNDY0N0Y1ODdFMURFfSIvPjwvYm9va1ZpZXdzPjxzaGVldHM+PHNoZWV0IG5hbWU9IlNoZWV0MSIgc2hlZXRJZD0iMSIgcjppZD0icklkMSIvPjwvc2hlZXRzPjxjYWxjUHIgY2FsY0lkPSIxOTEwMjkiLz48ZXh0THN0PjxleHQgdXJpPSJ7MTQwQTcwOTQtMEUzNS00ODkyLTg0MzItQzREMkU1N0VERUI1fSIgeG1sbnM6eDE1PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvbWFpbiI+PHgxNTp3b3JrYm9va1ByIGNoYXJ0VHJhY2tpbmdSZWZCYXNlPSIxIi8+PC9leHQ+PC9leHRMc3Q+PC93b3JrYm9vaz5QSwMECgAAAAAAAAAhAIE+lJe6AgAAugIAABoAAAB4bC9fcmVscy93b3JrYm9vay54bWwucmVsczw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjxSZWxhdGlvbnNoaXBzIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvcGFja2FnZS8yMDA2L3JlbGF0aW9uc2hpcHMiPjxSZWxhdGlvbnNoaXAgSWQ9InJJZDMiIFR5cGU9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvc3R5bGVzIiBUYXJnZXQ9InN0eWxlcy54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQyIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3RoZW1lIiBUYXJnZXQ9InRoZW1lL3RoZW1lMS54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQxIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3dvcmtzaGVldCIgVGFyZ2V0PSJ3b3Jrc2hlZXRzL3NoZWV0MS54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQ0IiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3NoYXJlZFN0cmluZ3MiIFRhcmdldD0ic2hhcmVkU3RyaW5ncy54bWwiLz48L1JlbGF0aW9uc2hpcHM+UEsDBAoAAAAAAAAAIQACrURzpAMAAKQDAAAYAAAAeGwvd29ya3NoZWV0cy9zaGVldDEueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPHdvcmtzaGVldCB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIiB4bWxuczpyPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzIiB4bWxuczptYz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL21hcmt1cC1jb21wYXRpYmlsaXR5LzIwMDYiIG1jOklnbm9yYWJsZT0ieDE0YWMgeHIgeHIyIHhyMyIgeG1sbnM6eDE0YWM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAwOS85L2FjIiB4bWxuczp4cj0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDE0L3JldmlzaW9uIiB4bWxuczp4cjI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAxNS9yZXZpc2lvbjIiIHhtbG5zOnhyMz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDE2L3JldmlzaW9uMyIgeHI6dWlkPSJ7MEQ4RTVDQTItNUM5RS00RDRCLTk0QzUtRjM1QzA0MUYzOUJEfSI+PGRpbWVuc2lvbiByZWY9IkExIi8+PHNoZWV0Vmlld3M+PHNoZWV0VmlldyB0YWJTZWxlY3RlZD0iMSIgd29ya2Jvb2tWaWV3SWQ9IjAiLz48L3NoZWV0Vmlld3M+PHNoZWV0Rm9ybWF0UHIgZGVmYXVsdFJvd0hlaWdodD0iMTUiIHgxNGFjOmR5RGVzY2VudD0iMC4yNSIvPjxzaGVldERhdGEvPjxwYWdlTWFyZ2lucyBsZWZ0PSIwLjciIHJpZ2h0PSIwLjciIHRvcD0iMC43NSIgYm90dG9tPSIwLjc1IiBoZWFkZXI9IjAuMyIgZm9vdGVyPSIwLjMiLz48L3dvcmtzaGVldD5QSwMECgAAAAAAAAAhAMEXEL7GIAAAxiAAABMAAAB4bC90aGVtZS90aGVtZTEueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPGE6dGhlbWUgeG1sbnM6YT0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL2RyYXdpbmdtbC8yMDA2L21haW4iIG5hbWU9Ik9mZmljZSBUaGVtZSI+PGE6dGhlbWVFbGVtZW50cz48YTpjbHJTY2hlbWUgbmFtZT0iT2ZmaWNlIj48YTpkazE+PGE6c3lzQ2xyIHZhbD0id2luZG93VGV4dCIgbGFzdENscj0iMDAwMDAwIi8+PC9hOmRrMT48YTpsdDE+PGE6c3lzQ2xyIHZhbD0id2luZG93IiBsYXN0Q2xyPSJGRkZGRkYiLz48L2E6bHQxPjxhOmRrMj48YTpzcmdiQ2xyIHZhbD0iNDQ1NDZBIi8+PC9hOmRrMj48YTpsdDI+PGE6c3JnYkNsciB2YWw9IkU3RTZFNiIvPjwvYTpsdDI+PGE6YWNjZW50MT48YTpzcmdiQ2xyIHZhbD0iNDQ3MkM0Ii8+PC9hOmFjY2VudDE+PGE6YWNjZW50Mj48YTpzcmdiQ2xyIHZhbD0iRUQ3RDMxIi8+PC9hOmFjY2VudDI+PGE6YWNjZW50Mz48YTpzcmdiQ2xyIHZhbD0iQTVBNUE1Ii8+PC9hOmFjY2VudDM+PGE6YWNjZW50ND48YTpzcmdiQ2xyIHZhbD0iRkZDMDAwIi8+PC9hOmFjY2VudDQ+PGE6YWNjZW50NT48YTpzcmdiQ2xyIHZhbD0iNUI5QkQ1Ii8+PC9hOmFjY2VudDU+PGE6YWNjZW50Nj48YTpzcmdiQ2xyIHZhbD0iNzBBRDQ3Ii8+PC9hOmFjY2VudDY+PGE6aGxpbms+PGE6c3JnYkNsciB2YWw9IjA1NjNDMSIvPjwvYTpobGluaz48YTpmb2xIbGluaz48YTpzcmdiQ2xyIHZhbD0iOTU0RjcyIi8+PC9hOmZvbEhsaW5rPjwvYTpjbHJTY2hlbWU+PGE6Zm9udFNjaGVtZSBuYW1lPSJPZmZpY2UiPjxhOm1ham9yRm9udD48YTpsYXRpbiB0eXBlZmFjZT0iQ2FsaWJyaSBMaWdodCIgcGFub3NlPSIwMjBGMDMwMjAyMDIwNDAzMDIwNCIvPjxhOmVhIHR5cGVmYWNlPSIiLz48YTpjcyB0eXBlZmFjZT0iIi8+PGE6Zm9udCBzY3JpcHQ9IkpwYW4iIHR5cGVmYWNlPSLmuLjjgrTjgrfjg4Pjgq8gTGlnaHQiLz48YTpmb250IHNjcmlwdD0iSGFuZyIgdHlwZWZhY2U9IuunkeydgCDqs6DrlJUiLz48YTpmb250IHNjcmlwdD0iSGFucyIgdHlwZWZhY2U9Iuetiee6vyBMaWdodCIvPjxhOmZvbnQgc2NyaXB0PSJIYW50IiB0eXBlZmFjZT0i5paw57Sw5piO6auUIi8+PGE6Zm9udCBzY3JpcHQ9IkFyYWIiIHR5cGVmYWNlPSJUaW1lcyBOZXcgUm9tYW4iLz48YTpmb250IHNjcmlwdD0iSGViciIgdHlwZWZhY2U9IlRpbWVzIE5ldyBSb21hbiIvPjxhOmZvbnQgc2NyaXB0PSJUaGFpIiB0eXBlZmFjZT0iVGFob21hIi8+PGE6Zm9udCBzY3JpcHQ9IkV0aGkiIHR5cGVmYWNlPSJOeWFsYSIvPjxhOmZvbnQgc2NyaXB0PSJCZW5nIiB0eXBlZmFjZT0iVnJpbmRhIi8+PGE6Zm9udCBzY3JpcHQ9Ikd1anIiIHR5cGVmYWNlPSJTaHJ1dGkiLz48YTpmb250IHNjcmlwdD0iS2htciIgdHlwZWZhY2U9Ik1vb2xCb3JhbiIvPjxhOmZvbnQgc2NyaXB0PSJLbmRhIiB0eXBlZmFjZT0iVHVuZ2EiLz48YTpmb250IHNjcmlwdD0iR3VydSIgdHlwZWZhY2U9IlJhYXZpIi8+PGE6Zm9udCBzY3JpcHQ9IkNhbnMiIHR5cGVmYWNlPSJFdXBoZW1pYSIvPjxhOmZvbnQgc2NyaXB0PSJDaGVyIiB0eXBlZmFjZT0iUGxhbnRhZ2VuZXQgQ2hlcm9rZWUiLz48YTpmb250IHNjcmlwdD0iWWlpaSIgdHlwZWZhY2U9Ik1pY3Jvc29mdCBZaSBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJUaWJ0IiB0eXBlZmFjZT0iTWljcm9zb2Z0IEhpbWFsYXlhIi8+PGE6Zm9udCBzY3JpcHQ9IlRoYWEiIHR5cGVmYWNlPSJNViBCb2xpIi8+PGE6Zm9udCBzY3JpcHQ9IkRldmEiIHR5cGVmYWNlPSJNYW5nYWwiLz48YTpmb250IHNjcmlwdD0iVGVsdSIgdHlwZWZhY2U9IkdhdXRhbWkiLz48YTpmb250IHNjcmlwdD0iVGFtbCIgdHlwZWZhY2U9IkxhdGhhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cmMiIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJPcnlhIiB0eXBlZmFjZT0iS2FsaW5nYSIvPjxhOmZvbnQgc2NyaXB0PSJNbHltIiB0eXBlZmFjZT0iS2FydGlrYSIvPjxhOmZvbnQgc2NyaXB0PSJMYW9vIiB0eXBlZmFjZT0iRG9rQ2hhbXBhIi8+PGE6Zm9udCBzY3JpcHQ9IlNpbmgiIHR5cGVmYWNlPSJJc2tvb2xhIFBvdGEiLz48YTpmb250IHNjcmlwdD0iTW9uZyIgdHlwZWZhY2U9Ik1vbmdvbGlhbiBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJWaWV0IiB0eXBlZmFjZT0iVGltZXMgTmV3IFJvbWFuIi8+PGE6Zm9udCBzY3JpcHQ9IlVpZ2giIHR5cGVmYWNlPSJNaWNyb3NvZnQgVWlnaHVyIi8+PGE6Zm9udCBzY3JpcHQ9Ikdlb3IiIHR5cGVmYWNlPSJTeWxmYWVuIi8+PGE6Zm9udCBzY3JpcHQ9IkFybW4iIHR5cGVmYWNlPSJBcmlhbCIvPjxhOmZvbnQgc2NyaXB0PSJCdWdpIiB0eXBlZmFjZT0iTGVlbGF3YWRlZSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJCb3BvIiB0eXBlZmFjZT0iTWljcm9zb2Z0IEpoZW5nSGVpIi8+PGE6Zm9udCBzY3JpcHQ9IkphdmEiIHR5cGVmYWNlPSJKYXZhbmVzZSBUZXh0Ii8+PGE6Zm9udCBzY3JpcHQ9Ikxpc3UiIHR5cGVmYWNlPSJTZWdvZSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJNeW1yIiB0eXBlZmFjZT0iTXlhbm1hciBUZXh0Ii8+PGE6Zm9udCBzY3JpcHQ9Ik5rb28iIHR5cGVmYWNlPSJFYnJpbWEiLz48YTpmb250IHNjcmlwdD0iT2xjayIgdHlwZWZhY2U9Ik5pcm1hbGEgVUkiLz48YTpmb250IHNjcmlwdD0iT3NtYSIgdHlwZWZhY2U9IkVicmltYSIvPjxhOmZvbnQgc2NyaXB0PSJQaGFnIiB0eXBlZmFjZT0iUGhhZ3NwYSIvPjxhOmZvbnQgc2NyaXB0PSJTeXJuIiB0eXBlZmFjZT0iRXN0cmFuZ2VsbyBFZGVzc2EiLz48YTpmb250IHNjcmlwdD0iU3lyaiIgdHlwZWZhY2U9IkVzdHJhbmdlbG8gRWRlc3NhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cmUiIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJTb3JhIiB0eXBlZmFjZT0iTmlybWFsYSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJUYWxlIiB0eXBlZmFjZT0iTWljcm9zb2Z0IFRhaSBMZSIvPjxhOmZvbnQgc2NyaXB0PSJUYWx1IiB0eXBlZmFjZT0iTWljcm9zb2Z0IE5ldyBUYWkgTHVlIi8+PGE6Zm9udCBzY3JpcHQ9IlRmbmciIHR5cGVmYWNlPSJFYnJpbWEiLz48L2E6bWFqb3JGb250PjxhOm1pbm9yRm9udD48YTpsYXRpbiB0eXBlZmFjZT0iQ2FsaWJyaSIgcGFub3NlPSIwMjBGMDUwMjAyMDIwNDAzMDIwNCIvPjxhOmVhIHR5cGVmYWNlPSIiLz48YTpjcyB0eXBlZmFjZT0iIi8+PGE6Zm9udCBzY3JpcHQ9IkpwYW4iIHR5cGVmYWNlPSLmuLjjgrTjgrfjg4Pjgq8iLz48YTpmb250IHNjcmlwdD0iSGFuZyIgdHlwZWZhY2U9IuunkeydgCDqs6DrlJUiLz48YTpmb250IHNjcmlwdD0iSGFucyIgdHlwZWZhY2U9Iuetiee6vyIvPjxhOmZvbnQgc2NyaXB0PSJIYW50IiB0eXBlZmFjZT0i5paw57Sw5piO6auUIi8+PGE6Zm9udCBzY3JpcHQ9IkFyYWIiIHR5cGVmYWNlPSJBcmlhbCIvPjxhOmZvbnQgc2NyaXB0PSJIZWJyIiB0eXBlZmFjZT0iQXJpYWwiLz48YTpmb250IHNjcmlwdD0iVGhhaSIgdHlwZWZhY2U9IlRhaG9tYSIvPjxhOmZvbnQgc2NyaXB0PSJFdGhpIiB0eXBlZmFjZT0iTnlhbGEiLz48YTpmb250IHNjcmlwdD0iQmVuZyIgdHlwZWZhY2U9IlZyaW5kYSIvPjxhOmZvbnQgc2NyaXB0PSJHdWpyIiB0eXBlZmFjZT0iU2hydXRpIi8+PGE6Zm9udCBzY3JpcHQ9IktobXIiIHR5cGVmYWNlPSJEYXVuUGVuaCIvPjxhOmZvbnQgc2NyaXB0PSJLbmRhIiB0eXBlZmFjZT0iVHVuZ2EiLz48YTpmb250IHNjcmlwdD0iR3VydSIgdHlwZWZhY2U9IlJhYXZpIi8+PGE6Zm9udCBzY3JpcHQ9IkNhbnMiIHR5cGVmYWNlPSJFdXBoZW1pYSIvPjxhOmZvbnQgc2NyaXB0PSJDaGVyIiB0eXBlZmFjZT0iUGxhbnRhZ2VuZXQgQ2hlcm9rZWUiLz48YTpmb250IHNjcmlwdD0iWWlpaSIgdHlwZWZhY2U9Ik1pY3Jvc29mdCBZaSBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJUaWJ0IiB0eXBlZmFjZT0iTWljcm9zb2Z0IEhpbWFsYXlhIi8+PGE6Zm9udCBzY3JpcHQ9IlRoYWEiIHR5cGVmYWNlPSJNViBCb2xpIi8+PGE6Zm9udCBzY3JpcHQ9IkRldmEiIHR5cGVmYWNlPSJNYW5nYWwiLz48YTpmb250IHNjcmlwdD0iVGVsdSIgdHlwZWZhY2U9IkdhdXRhbWkiLz48YTpmb250IHNjcmlwdD0iVGFtbCIgdHlwZWZhY2U9IkxhdGhhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cmMiIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJPcnlhIiB0eXBlZmFjZT0iS2FsaW5nYSIvPjxhOmZvbnQgc2NyaXB0PSJNbHltIiB0eXBlZmFjZT0iS2FydGlrYSIvPjxhOmZvbnQgc2NyaXB0PSJMYW9vIiB0eXBlZmFjZT0iRG9rQ2hhbXBhIi8+PGE6Zm9udCBzY3JpcHQ9IlNpbmgiIHR5cGVmYWNlPSJJc2tvb2xhIFBvdGEiLz48YTpmb250IHNjcmlwdD0iTW9uZyIgdHlwZWZhY2U9Ik1vbmdvbGlhbiBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJWaWV0IiB0eXBlZmFjZT0iQXJpYWwiLz48YTpmb250IHNjcmlwdD0iVWlnaCIgdHlwZWZhY2U9Ik1pY3Jvc29mdCBVaWdodXIiLz48YTpmb250IHNjcmlwdD0iR2VvciIgdHlwZWZhY2U9IlN5bGZhZW4iLz48YTpmb250IHNjcmlwdD0iQXJtbiIgdHlwZWZhY2U9IkFyaWFsIi8+PGE6Zm9udCBzY3JpcHQ9IkJ1Z2kiIHR5cGVmYWNlPSJMZWVsYXdhZGVlIFVJIi8+PGE6Zm9udCBzY3JpcHQ9IkJvcG8iIHR5cGVmYWNlPSJNaWNyb3NvZnQgSmhlbmdIZWkiLz48YTpmb250IHNjcmlwdD0iSmF2YSIgdHlwZWZhY2U9IkphdmFuZXNlIFRleHQiLz48YTpmb250IHNjcmlwdD0iTGlzdSIgdHlwZWZhY2U9IlNlZ29lIFVJIi8+PGE6Zm9udCBzY3JpcHQ9Ik15bXIiIHR5cGVmYWNlPSJNeWFubWFyIFRleHQiLz48YTpmb250IHNjcmlwdD0iTmtvbyIgdHlwZWZhY2U9IkVicmltYSIvPjxhOmZvbnQgc2NyaXB0PSJPbGNrIiB0eXBlZmFjZT0iTmlybWFsYSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJPc21hIiB0eXBlZmFjZT0iRWJyaW1hIi8+PGE6Zm9udCBzY3JpcHQ9IlBoYWciIHR5cGVmYWNlPSJQaGFnc3BhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cm4iIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJTeXJqIiB0eXBlZmFjZT0iRXN0cmFuZ2VsbyBFZGVzc2EiLz48YTpmb250IHNjcmlwdD0iU3lyZSIgdHlwZWZhY2U9IkVzdHJhbmdlbG8gRWRlc3NhIi8+PGE6Zm9udCBzY3JpcHQ9IlNvcmEiIHR5cGVmYWNlPSJOaXJtYWxhIFVJIi8+PGE6Zm9udCBzY3JpcHQ9IlRhbGUiIHR5cGVmYWNlPSJNaWNyb3NvZnQgVGFpIExlIi8+PGE6Zm9udCBzY3JpcHQ9IlRhbHUiIHR5cGVmYWNlPSJNaWNyb3NvZnQgTmV3IFRhaSBMdWUiLz48YTpmb250IHNjcmlwdD0iVGZuZyIgdHlwZWZhY2U9IkVicmltYSIvPjwvYTptaW5vckZvbnQ+PC9hOmZvbnRTY2hlbWU+PGE6Zm10U2NoZW1lIG5hbWU9Ik9mZmljZSI+PGE6ZmlsbFN0eWxlTHN0PjxhOnNvbGlkRmlsbD48YTpzY2hlbWVDbHIgdmFsPSJwaENsciIvPjwvYTpzb2xpZEZpbGw+PGE6Z3JhZEZpbGwgcm90V2l0aFNoYXBlPSIxIj48YTpnc0xzdD48YTpncyBwb3M9IjAiPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIj48YTpsdW1Nb2QgdmFsPSIxMTAwMDAiLz48YTpzYXRNb2QgdmFsPSIxMDUwMDAiLz48YTp0aW50IHZhbD0iNjcwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48YTpncyBwb3M9IjUwMDAwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6bHVtTW9kIHZhbD0iMTA1MDAwIi8+PGE6c2F0TW9kIHZhbD0iMTAzMDAwIi8+PGE6dGludCB2YWw9IjczMDAwIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+PGE6Z3MgcG9zPSIxMDAwMDAiPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIj48YTpsdW1Nb2QgdmFsPSIxMDUwMDAiLz48YTpzYXRNb2QgdmFsPSIxMDkwMDAiLz48YTp0aW50IHZhbD0iODEwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48L2E6Z3NMc3Q+PGE6bGluIGFuZz0iNTQwMDAwMCIgc2NhbGVkPSIwIi8+PC9hOmdyYWRGaWxsPjxhOmdyYWRGaWxsIHJvdFdpdGhTaGFwZT0iMSI+PGE6Z3NMc3Q+PGE6Z3MgcG9zPSIwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6c2F0TW9kIHZhbD0iMTAzMDAwIi8+PGE6bHVtTW9kIHZhbD0iMTAyMDAwIi8+PGE6dGludCB2YWw9Ijk0MDAwIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+PGE6Z3MgcG9zPSI1MDAwMCI+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiPjxhOnNhdE1vZCB2YWw9IjExMDAwMCIvPjxhOmx1bU1vZCB2YWw9IjEwMDAwMCIvPjxhOnNoYWRlIHZhbD0iMTAwMDAwIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+PGE6Z3MgcG9zPSIxMDAwMDAiPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIj48YTpsdW1Nb2QgdmFsPSI5OTAwMCIvPjxhOnNhdE1vZCB2YWw9IjEyMDAwMCIvPjxhOnNoYWRlIHZhbD0iNzgwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48L2E6Z3NMc3Q+PGE6bGluIGFuZz0iNTQwMDAwMCIgc2NhbGVkPSIwIi8+PC9hOmdyYWRGaWxsPjwvYTpmaWxsU3R5bGVMc3Q+PGE6bG5TdHlsZUxzdD48YTpsbiB3PSI2MzUwIiBjYXA9ImZsYXQiIGNtcGQ9InNuZyIgYWxnbj0iY3RyIj48YTpzb2xpZEZpbGw+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiLz48L2E6c29saWRGaWxsPjxhOnByc3REYXNoIHZhbD0ic29saWQiLz48YTptaXRlciBsaW09IjgwMDAwMCIvPjwvYTpsbj48YTpsbiB3PSIxMjcwMCIgY2FwPSJmbGF0IiBjbXBkPSJzbmciIGFsZ249ImN0ciI+PGE6c29saWRGaWxsPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIi8+PC9hOnNvbGlkRmlsbD48YTpwcnN0RGFzaCB2YWw9InNvbGlkIi8+PGE6bWl0ZXIgbGltPSI4MDAwMDAiLz48L2E6bG4+PGE6bG4gdz0iMTkwNTAiIGNhcD0iZmxhdCIgY21wZD0ic25nIiBhbGduPSJjdHIiPjxhOnNvbGlkRmlsbD48YTpzY2hlbWVDbHIgdmFsPSJwaENsciIvPjwvYTpzb2xpZEZpbGw+PGE6cHJzdERhc2ggdmFsPSJzb2xpZCIvPjxhOm1pdGVyIGxpbT0iODAwMDAwIi8+PC9hOmxuPjwvYTpsblN0eWxlTHN0PjxhOmVmZmVjdFN0eWxlTHN0PjxhOmVmZmVjdFN0eWxlPjxhOmVmZmVjdExzdC8+PC9hOmVmZmVjdFN0eWxlPjxhOmVmZmVjdFN0eWxlPjxhOmVmZmVjdExzdC8+PC9hOmVmZmVjdFN0eWxlPjxhOmVmZmVjdFN0eWxlPjxhOmVmZmVjdExzdD48YTpvdXRlclNoZHcgYmx1clJhZD0iNTcxNTAiIGRpc3Q9IjE5MDUwIiBkaXI9IjU0MDAwMDAiIGFsZ249ImN0ciIgcm90V2l0aFNoYXBlPSIwIj48YTpzcmdiQ2xyIHZhbD0iMDAwMDAwIj48YTphbHBoYSB2YWw9IjYzMDAwIi8+PC9hOnNyZ2JDbHI+PC9hOm91dGVyU2hkdz48L2E6ZWZmZWN0THN0PjwvYTplZmZlY3RTdHlsZT48L2E6ZWZmZWN0U3R5bGVMc3Q+PGE6YmdGaWxsU3R5bGVMc3Q+PGE6c29saWRGaWxsPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIi8+PC9hOnNvbGlkRmlsbD48YTpzb2xpZEZpbGw+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiPjxhOnRpbnQgdmFsPSI5NTAwMCIvPjxhOnNhdE1vZCB2YWw9IjE3MDAwMCIvPjwvYTpzY2hlbWVDbHI+PC9hOnNvbGlkRmlsbD48YTpncmFkRmlsbCByb3RXaXRoU2hhcGU9IjEiPjxhOmdzTHN0PjxhOmdzIHBvcz0iMCI+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiPjxhOnRpbnQgdmFsPSI5MzAwMCIvPjxhOnNhdE1vZCB2YWw9IjE1MDAwMCIvPjxhOnNoYWRlIHZhbD0iOTgwMDAiLz48YTpsdW1Nb2QgdmFsPSIxMDIwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48YTpncyBwb3M9IjUwMDAwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6dGludCB2YWw9Ijk4MDAwIi8+PGE6c2F0TW9kIHZhbD0iMTMwMDAwIi8+PGE6c2hhZGUgdmFsPSI5MDAwMCIvPjxhOmx1bU1vZCB2YWw9IjEwMzAwMCIvPjwvYTpzY2hlbWVDbHI+PC9hOmdzPjxhOmdzIHBvcz0iMTAwMDAwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6c2hhZGUgdmFsPSI2MzAwMCIvPjxhOnNhdE1vZCB2YWw9IjEyMDAwMCIvPjwvYTpzY2hlbWVDbHI+PC9hOmdzPjwvYTpnc0xzdD48YTpsaW4gYW5nPSI1NDAwMDAwIiBzY2FsZWQ9IjAiLz48L2E6Z3JhZEZpbGw+PC9hOmJnRmlsbFN0eWxlTHN0PjwvYTpmbXRTY2hlbWU+PC9hOnRoZW1lRWxlbWVudHM+PGE6b2JqZWN0RGVmYXVsdHMvPjxhOmV4dHJhQ2xyU2NoZW1lTHN0Lz48YTpleHRMc3Q+PGE6ZXh0IHVyaT0iezA1QTRDMjVDLTA4NUUtNDM0MC04NUEzLUE1NTMxRTUxMERCMn0iPjx0aG0xNTp0aGVtZUZhbWlseSB4bWxuczp0aG0xNT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2UvdGhlbWVtbC8yMDEyL21haW4iIG5hbWU9Ik9mZmljZSBUaGVtZSIgaWQ9Ins2MkY5MzlCNi05M0FGLTREQjgtOUM2Qi1ENkM3REZEQzU4OUZ9IiB2aWQ9Ins0QTNDNDZFOC02MUNDLTQ2MDMtQTU4OS03NDIyQTQ3QThFNEF9Ii8+PC9hOmV4dD48L2E6ZXh0THN0PjwvYTp0aGVtZT5QSwMECgAAAAAAAAAhAHmhgGxSBgAAUgYAAA0AAAB4bC9zdHlsZXMueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPHN0eWxlU2hlZXQgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9zcHJlYWRzaGVldG1sLzIwMDYvbWFpbiIgeG1sbnM6bWM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9tYXJrdXAtY29tcGF0aWJpbGl0eS8yMDA2IiBtYzpJZ25vcmFibGU9IngxNGFjIHgxNnIyIHhyIiB4bWxuczp4MTRhYz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDA5LzkvYWMiIHhtbG5zOngxNnIyPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTUvMDIvbWFpbiIgeG1sbnM6eHI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAxNC9yZXZpc2lvbiI+PGZvbnRzIGNvdW50PSIxIiB4MTRhYzprbm93bkZvbnRzPSIxIj48Zm9udD48c3ogdmFsPSIxMSIvPjxjb2xvciB0aGVtZT0iMSIvPjxuYW1lIHZhbD0iQ2FsaWJyaSIvPjxmYW1pbHkgdmFsPSIyIi8+PHNjaGVtZSB2YWw9Im1pbm9yIi8+PC9mb250PjwvZm9udHM+PGZpbGxzIGNvdW50PSIyIj48ZmlsbD48cGF0dGVybkZpbGwgcGF0dGVyblR5cGU9Im5vbmUiLz48L2ZpbGw+PGZpbGw+PHBhdHRlcm5GaWxsIHBhdHRlcm5UeXBlPSJncmF5MTI1Ii8+PC9maWxsPjwvZmlsbHM+PGJvcmRlcnMgY291bnQ9IjEiPjxib3JkZXI+PGxlZnQvPjxyaWdodC8+PHRvcC8+PGJvdHRvbS8+PGRpYWdvbmFsLz48L2JvcmRlcj48L2JvcmRlcnM+PGNlbGxTdHlsZVhmcyBjb3VudD0iMSI+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjAiIGZpbGxJZD0iMCIgYm9yZGVySWQ9IjAiLz48L2NlbGxTdHlsZVhmcz48Y2VsbFhmcyBjb3VudD0iMSI+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjAiIGZpbGxJZD0iMCIgYm9yZGVySWQ9IjAiIHhmSWQ9IjAiLz48L2NlbGxYZnM+PGNlbGxTdHlsZXMgY291bnQ9IjEiPjxjZWxsU3R5bGUgbmFtZT0iTm9ybWFsIiB4ZklkPSIwIiBidWlsdGluSWQ9IjAiLz48L2NlbGxTdHlsZXM+PGR4ZnMgY291bnQ9IjAiLz48dGFibGVTdHlsZXMgY291bnQ9IjAiIGRlZmF1bHRUYWJsZVN0eWxlPSJUYWJsZVN0eWxlTWVkaXVtMiIgZGVmYXVsdFBpdm90U3R5bGU9IlBpdm90U3R5bGVMaWdodDE2Ii8+PGV4dExzdD48ZXh0IHVyaT0ie0VCNzlERUYyLTgwQjgtNDNlNS05NUJELTU0Q0JEREY5MDIwQ30iIHhtbG5zOngxND0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDA5LzkvbWFpbiI+PHgxNDpzbGljZXJTdHlsZXMgZGVmYXVsdFNsaWNlclN0eWxlPSJTbGljZXJTdHlsZUxpZ2h0MSIvPjwvZXh0PjxleHQgdXJpPSJ7OTI2MEE1MTAtRjMwMS00NmE4LTg2MzUtRjUxMkQ2NEJFNUY1fSIgeG1sbnM6eDE1PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvbWFpbiI+PHgxNTp0aW1lbGluZVN0eWxlcyBkZWZhdWx0VGltZWxpbmVTdHlsZT0iVGltZVNsaWNlclN0eWxlTGlnaHQxIi8+PC9leHQ+PC9leHRMc3Q+PC9zdHlsZVNoZWV0PlBLAwQKAAAAAAAAACEA0IywC4EAAACBAAAAFAAAAHhsL3NoYXJlZFN0cmluZ3MueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPHNzdCB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIi8+UEsDBAoAAAAAAAAAIQDcCx83XQIAAF0CAAARAAAAZG9jUHJvcHMvY29yZS54bWw8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ieWVzIj8+DQo8Y3A6Y29yZVByb3BlcnRpZXMgeG1sbnM6Y3A9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9wYWNrYWdlLzIwMDYvbWV0YWRhdGEvY29yZS1wcm9wZXJ0aWVzIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOmRjdGVybXM9Imh0dHA6Ly9wdXJsLm9yZy9kYy90ZXJtcy8iIHhtbG5zOmRjbWl0eXBlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIj48ZGM6Y3JlYXRvcj5kdW5jYW48L2RjOmNyZWF0b3I+PGNwOmxhc3RNb2RpZmllZEJ5PmR1bmNhbjwvY3A6bGFzdE1vZGlmaWVkQnk+PGRjdGVybXM6Y3JlYXRlZCB4c2k6dHlwZT0iZGN0ZXJtczpXM0NEVEYiPjIwMTktMDEtMzFUMTY6NDg6MDNaPC9kY3Rlcm1zOmNyZWF0ZWQ+PGRjdGVybXM6bW9kaWZpZWQgeHNpOnR5cGU9ImRjdGVybXM6VzNDRFRGIj4yMDE5LTAxLTMxVDE2OjQ4OjI4WjwvZGN0ZXJtczptb2RpZmllZD48L2NwOmNvcmVQcm9wZXJ0aWVzPlBLAwQKAAAAAAAAACEAYUkJEBEDAAARAwAAEAAAAGRvY1Byb3BzL2FwcC54bWw8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ieWVzIj8+DQo8UHJvcGVydGllcyB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvZXh0ZW5kZWQtcHJvcGVydGllcyIgeG1sbnM6dnQ9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L2RvY1Byb3BzVlR5cGVzIj48QXBwbGljYXRpb24+TWljcm9zb2Z0IEV4Y2VsPC9BcHBsaWNhdGlvbj48RG9jU2VjdXJpdHk+MDwvRG9jU2VjdXJpdHk+PFNjYWxlQ3JvcD5mYWxzZTwvU2NhbGVDcm9wPjxIZWFkaW5nUGFpcnM+PHZ0OnZlY3RvciBzaXplPSIyIiBiYXNlVHlwZT0idmFyaWFudCI+PHZ0OnZhcmlhbnQ+PHZ0Omxwc3RyPldvcmtzaGVldHM8L3Z0Omxwc3RyPjwvdnQ6dmFyaWFudD48dnQ6dmFyaWFudD48dnQ6aTQ+MTwvdnQ6aTQ+PC92dDp2YXJpYW50PjwvdnQ6dmVjdG9yPjwvSGVhZGluZ1BhaXJzPjxUaXRsZXNPZlBhcnRzPjx2dDp2ZWN0b3Igc2l6ZT0iMSIgYmFzZVR5cGU9Imxwc3RyIj48dnQ6bHBzdHI+U2hlZXQxPC92dDpscHN0cj48L3Z0OnZlY3Rvcj48L1RpdGxlc09mUGFydHM+PENvbXBhbnk+PC9Db21wYW55PjxMaW5rc1VwVG9EYXRlPmZhbHNlPC9MaW5rc1VwVG9EYXRlPjxTaGFyZWREb2M+ZmFsc2U8L1NoYXJlZERvYz48SHlwZXJsaW5rc0NoYW5nZWQ+ZmFsc2U8L0h5cGVybGlua3NDaGFuZ2VkPjxBcHBWZXJzaW9uPjE2LjAzMDA8L0FwcFZlcnNpb24+PC9Qcm9wZXJ0aWVzPlBLAQIUAAoAAAAAAAAAIQBi7p1okAQAAJAEAAATAAAAAAAAAAAAAAAAAAAAAABbQ29udGVudF9UeXBlc10ueG1sUEsBAhQACgAAAAAAAAAhALVVMCNMAgAATAIAAAsAAAAAAAAAAAAAAAAAwQQAAF9yZWxzLy5yZWxzUEsBAhQACgAAAAAAAAAhALpwnmbKBgAAygYAAA8AAAAAAAAAAAAAAAAANgcAAHhsL3dvcmtib29rLnhtbFBLAQIUAAoAAAAAAAAAIQCBPpSXugIAALoCAAAaAAAAAAAAAAAAAAAAAC0OAAB4bC9fcmVscy93b3JrYm9vay54bWwucmVsc1BLAQIUAAoAAAAAAAAAIQACrURzpAMAAKQDAAAYAAAAAAAAAAAAAAAAAB8RAAB4bC93b3Jrc2hlZXRzL3NoZWV0MS54bWxQSwECFAAKAAAAAAAAACEAwRcQvsYgAADGIAAAEwAAAAAAAAAAAAAAAAD5FAAAeGwvdGhlbWUvdGhlbWUxLnhtbFBLAQIUAAoAAAAAAAAAIQB5oYBsUgYAAFIGAAANAAAAAAAAAAAAAAAAAPA1AAB4bC9zdHlsZXMueG1sUEsBAhQACgAAAAAAAAAhANCMsAuBAAAAgQAAABQAAAAAAAAAAAAAAAAAbTwAAHhsL3NoYXJlZFN0cmluZ3MueG1sUEsBAhQACgAAAAAAAAAhANwLHzddAgAAXQIAABEAAAAAAAAAAAAAAAAAID0AAGRvY1Byb3BzL2NvcmUueG1sUEsBAhQACgAAAAAAAAAhAGFJCRARAwAAEQMAABAAAAAAAAAAAAAAAAAArD8AAGRvY1Byb3BzL2FwcC54bWxQSwUGAAAAAAoACgCAAgAA60IAAAAA";var jt=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",Yr=jt+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",Br="["+jt+"]["+Yr+"]*",kr=new RegExp("^"+Br+"$");function Qe(r,e){let t=[],n=e.exec(r);for(;n;){let s=[];s.startIndex=e.lastIndex-n[0].length;let i=n.length;for(let o=0;o<i;o++)s.push(n[o]);t.push(s),n=e.exec(r)}return t}var Pe=function(r){let e=kr.exec(r);return!(e===null||typeof e>"u")};function Ht(r){return typeof r<"u"}var _e=["hasOwnProperty","toString","valueOf","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__"],qe=["__proto__","constructor","prototype"];var Lr={allowBooleanAttributes:!1,unpairedTags:[]};function Qt(r,e){e=Object.assign({},Lr,e);let t=[],n=!1,s=!1;r[0]==="\uFEFF"&&(r=r.substr(1));for(let i=0;i<r.length;i++)if(r[i]==="<"&&r[i+1]==="?"){if(i+=2,i=Xt(r,i),i.err)return i}else if(r[i]==="<"){let o=i;if(i++,r[i]==="!"){i=Jt(r,i);continue}else{let a=!1;r[i]==="/"&&(a=!0,i++);let l="";for(;i<r.length&&r[i]!==">"&&r[i]!==" "&&r[i]!==" "&&r[i]!==`
3
3
  `&&r[i]!=="\r";i++)l+=r[i];if(l=l.trim(),l[l.length-1]==="/"&&(l=l.substring(0,l.length-1),i--),!Qr(l)){let d;return l.trim().length===0?d="Invalid space after '<'.":d="Tag '"+l+"' is an invalid name.",X("InvalidTag",d,K(r,i))}let c=Hr(r,i);if(c===!1)return X("InvalidAttr","Attributes for '"+l+"' have open quote.",K(r,i));let f=c.value;if(i=c.index,f[f.length-1]==="/"){let d=i-f.length;f=f.substring(0,f.length-1);let u=Dt(f,e);if(u===!0)n=!0;else return X(u.err.code,u.err.msg,K(r,d+u.err.line))}else if(a)if(c.tagClosed){if(f.trim().length>0)return X("InvalidTag","Closing tag '"+l+"' can't have attributes or invalid starting.",K(r,o));if(t.length===0)return X("InvalidTag","Closing tag '"+l+"' has not been opened.",K(r,o));{let d=t.pop();if(l!==d.tagName){let u=K(r,d.tagStartPos);return X("InvalidTag","Expected closing tag '"+d.tagName+"' (opened in line "+u.line+", col "+u.col+") instead of closing tag '"+l+"'.",K(r,o))}t.length==0&&(s=!0)}}else return X("InvalidTag","Closing tag '"+l+"' doesn't have proper closing.",K(r,i));else{let d=Dt(f,e);if(d!==!0)return X(d.err.code,d.err.msg,K(r,i-f.length+d.err.line));if(s===!0)return X("InvalidXml","Multiple possible root nodes found.",K(r,i));e.unpairedTags.indexOf(l)!==-1||t.push({tagName:l,tagStartPos:o}),n=!0}for(i++;i<r.length;i++)if(r[i]==="<")if(r[i+1]==="!"){i++,i=Jt(r,i);continue}else if(r[i+1]==="?"){if(i=Xt(r,++i),i.err)return i}else break;else if(r[i]==="&"){let d=Jr(r,i);if(d==-1)return X("InvalidChar","char '&' is not expected.",K(r,i));i=d}else if(s===!0&&!Ut(r[i]))return X("InvalidXml","Extra text at the end",K(r,i));r[i]==="<"&&i--}}else{if(Ut(r[i]))continue;return X("InvalidChar","char '"+r[i]+"' is not expected.",K(r,i))}if(n){if(t.length==1)return X("InvalidTag","Unclosed tag '"+t[0].tagName+"'.",K(r,t[0].tagStartPos));if(t.length>0)return X("InvalidXml","Invalid '"+JSON.stringify(t.map(i=>i.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return X("InvalidXml","Start tag expected.",1);return!0}function Ut(r){return r===" "||r===" "||r===`
4
4
  `||r==="\r"}function Xt(r,e){let t=e;for(;e<r.length;e++)if(r[e]=="?"||r[e]==" "){let n=r.substr(t,e-t);if(e>5&&n==="xml")return X("InvalidXml","XML declaration allowed only at the start of the document.",K(r,e));if(r[e]=="?"&&r[e+1]==">"){e++;break}else continue}return e}function Jt(r,e){if(r.length>e+5&&r[e+1]==="-"&&r[e+2]==="-"){for(e+=3;e<r.length;e++)if(r[e]==="-"&&r[e+1]==="-"&&r[e+2]===">"){e+=2;break}}else if(r.length>e+8&&r[e+1]==="D"&&r[e+2]==="O"&&r[e+3]==="C"&&r[e+4]==="T"&&r[e+5]==="Y"&&r[e+6]==="P"&&r[e+7]==="E"){let t=1;for(e+=8;e<r.length;e++)if(r[e]==="<")t++;else if(r[e]===">"&&(t--,t===0))break}else if(r.length>e+9&&r[e+1]==="["&&r[e+2]==="C"&&r[e+3]==="D"&&r[e+4]==="A"&&r[e+5]==="T"&&r[e+6]==="A"&&r[e+7]==="["){for(e+=8;e<r.length;e++)if(r[e]==="]"&&r[e+1]==="]"&&r[e+2]===">"){e+=2;break}}return e}var Vr='"',jr="'";function Hr(r,e){let t="",n="",s=!1;for(;e<r.length;e++){if(r[e]===Vr||r[e]===jr)n===""?n=r[e]:n!==r[e]||(n="");else if(r[e]===">"&&n===""){s=!0;break}t+=r[e]}return n!==""?!1:{value:t,index:e,tagClosed:s}}var Ur=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function Dt(r,e){let t=Qe(r,Ur),n={};for(let s=0;s<t.length;s++){if(t[s][1].length===0)return X("InvalidAttr","Attribute '"+t[s][2]+"' has no space in starting.",Ee(t[s]));if(t[s][3]!==void 0&&t[s][4]===void 0)return X("InvalidAttr","Attribute '"+t[s][2]+"' is without value.",Ee(t[s]));if(t[s][3]===void 0&&!e.allowBooleanAttributes)return X("InvalidAttr","boolean attribute '"+t[s][2]+"' is not allowed.",Ee(t[s]));let i=t[s][2];if(!Dr(i))return X("InvalidAttr","Attribute '"+i+"' is an invalid name.",Ee(t[s]));if(!Object.prototype.hasOwnProperty.call(n,i))n[i]=1;else return X("InvalidAttr","Attribute '"+i+"' is repeated.",Ee(t[s]))}return!0}function Xr(r,e){let t=/\d/;for(r[e]==="x"&&(e++,t=/[\da-fA-F]/);e<r.length;e++){if(r[e]===";")return e;if(!r[e].match(t))break}return-1}function Jr(r,e){if(e++,r[e]===";")return-1;if(r[e]==="#")return e++,Xr(r,e);let t=0;for(;e<r.length;e++,t++)if(!(r[e].match(/\w/)&&t<20)){if(r[e]===";")break;return-1}return e}function X(r,e,t){return{err:{code:r,msg:e,line:t.line||t,col:t.col}}}function Dr(r){return Pe(r)}function Qr(r){return Pe(r)}function K(r,e){let t=r.substring(0,e).split(/\r?\n/);return{line:t.length,col:t[t.length-1].length+1}}function Ee(r){return r.startIndex+r[1].length}var qt=r=>_e.includes(r)?"__"+r:r,qr={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(r,e){return e},attributeValueProcessor:function(r,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(r,e,t){return r},captureMetaData:!1,maxNestedTags:100,strictReservedNames:!0,jPath:!0,onDangerousProperty:qt};function Kr(r,e){if(typeof r!="string")return;let t=r.toLowerCase();if(_e.some(n=>t===n.toLowerCase()))throw new Error(`[SECURITY] Invalid ${e}: "${r}" is a reserved JavaScript keyword that could cause prototype pollution`);if(qe.some(n=>t===n.toLowerCase()))throw new Error(`[SECURITY] Invalid ${e}: "${r}" is a reserved JavaScript keyword that could cause prototype pollution`)}function Kt(r){return typeof r=="boolean"?{enabled:r,maxEntitySize:1e4,maxExpansionDepth:10,maxTotalExpansions:1e3,maxExpandedLength:1e5,maxEntityCount:100,allowedTags:null,tagFilter:null}:typeof r=="object"&&r!==null?{enabled:r.enabled!==!1,maxEntitySize:Math.max(1,r.maxEntitySize??1e4),maxExpansionDepth:Math.max(1,r.maxExpansionDepth??10),maxTotalExpansions:Math.max(1,r.maxTotalExpansions??1e3),maxExpandedLength:Math.max(1,r.maxExpandedLength??1e5),maxEntityCount:Math.max(1,r.maxEntityCount??100),allowedTags:r.allowedTags??null,tagFilter:r.tagFilter??null}:Kt(!0)}var er=function(r){let e=Object.assign({},qr,r),t=[{value:e.attributeNamePrefix,name:"attributeNamePrefix"},{value:e.attributesGroupName,name:"attributesGroupName"},{value:e.textNodeName,name:"textNodeName"},{value:e.cdataPropName,name:"cdataPropName"},{value:e.commentPropName,name:"commentPropName"}];for(let{value:n,name:s}of t)n&&Kr(n,s);return e.onDangerousProperty===null&&(e.onDangerousProperty=qt),e.processEntities=Kt(e.processEntities),e.stopNodes&&Array.isArray(e.stopNodes)&&(e.stopNodes=e.stopNodes.map(n=>typeof n=="string"&&n.startsWith("*.")?".."+n.substring(2):n)),e};var Ke;typeof Symbol!="function"?Ke="@@xmlMetadata":Ke=Symbol("XML Node Metadata");var ee=class{constructor(e){this.tagname=e,this.child=[],this[":@"]=Object.create(null)}add(e,t){e==="__proto__"&&(e="#__proto__"),this.child.push({[e]:t})}addChild(e,t){e.tagname==="__proto__"&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child}),t!==void 0&&(this.child[this.child.length-1][Ke]={startIndex:t})}static getMetaDataSymbol(){return Ke}};var Re=class{constructor(e){this.suppressValidationErr=!e,this.options=e}readDocType(e,t){let n=Object.create(null),s=0;if(e[t+3]==="O"&&e[t+4]==="C"&&e[t+5]==="T"&&e[t+6]==="Y"&&e[t+7]==="P"&&e[t+8]==="E"){t=t+9;let i=1,o=!1,a=!1,l="";for(;t<e.length;t++)if(e[t]==="<"&&!a){if(o&&Ie(e,"!ENTITY",t)){t+=7;let c,f;if([c,f,t]=this.readEntityExp(e,t+1,this.suppressValidationErr),f.indexOf("&")===-1){if(this.options.enabled!==!1&&this.options.maxEntityCount!=null&&s>=this.options.maxEntityCount)throw new Error(`Entity count (${s+1}) exceeds maximum allowed (${this.options.maxEntityCount})`);let d=c.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");n[c]={regx:RegExp(`&${d};`,"g"),val:f},s++}}else if(o&&Ie(e,"!ELEMENT",t)){t+=8;let{index:c}=this.readElementExp(e,t+1);t=c}else if(o&&Ie(e,"!ATTLIST",t))t+=8;else if(o&&Ie(e,"!NOTATION",t)){t+=9;let{index:c}=this.readNotationExp(e,t+1,this.suppressValidationErr);t=c}else if(Ie(e,"!--",t))a=!0;else throw new Error("Invalid DOCTYPE");i++,l=""}else if(e[t]===">"){if(a?e[t-1]==="-"&&e[t-2]==="-"&&(a=!1,i--):i--,i===0)break}else e[t]==="["?o=!0:l+=e[t];if(i!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:n,i:t}}readEntityExp(e,t){t=te(e,t);let n=t;for(;t<e.length&&!/\s/.test(e[t])&&e[t]!=='"'&&e[t]!=="'";)t++;let s=e.substring(n,t);if(Ge(s),t=te(e,t),!this.suppressValidationErr){if(e.substring(t,t+6).toUpperCase()==="SYSTEM")throw new Error("External entities are not supported");if(e[t]==="%")throw new Error("Parameter entities are not supported")}let i="";if([t,i]=this.readIdentifierVal(e,t,"entity"),this.options.enabled!==!1&&this.options.maxEntitySize!=null&&i.length>this.options.maxEntitySize)throw new Error(`Entity "${s}" size (${i.length}) exceeds maximum allowed size (${this.options.maxEntitySize})`);return t--,[s,i,t]}readNotationExp(e,t){t=te(e,t);let n=t;for(;t<e.length&&!/\s/.test(e[t]);)t++;let s=e.substring(n,t);!this.suppressValidationErr&&Ge(s),t=te(e,t);let i=e.substring(t,t+6).toUpperCase();if(!this.suppressValidationErr&&i!=="SYSTEM"&&i!=="PUBLIC")throw new Error(`Expected SYSTEM or PUBLIC, found "${i}"`);t+=i.length,t=te(e,t);let o=null,a=null;if(i==="PUBLIC")[t,o]=this.readIdentifierVal(e,t,"publicIdentifier"),t=te(e,t),(e[t]==='"'||e[t]==="'")&&([t,a]=this.readIdentifierVal(e,t,"systemIdentifier"));else if(i==="SYSTEM"&&([t,a]=this.readIdentifierVal(e,t,"systemIdentifier"),!this.suppressValidationErr&&!a))throw new Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:s,publicIdentifier:o,systemIdentifier:a,index:--t}}readIdentifierVal(e,t,n){let s="",i=e[t];if(i!=='"'&&i!=="'")throw new Error(`Expected quoted string, found "${i}"`);t++;let o=t;for(;t<e.length&&e[t]!==i;)t++;if(s=e.substring(o,t),e[t]!==i)throw new Error(`Unterminated ${n} value`);return t++,[t,s]}readElementExp(e,t){t=te(e,t);let n=t;for(;t<e.length&&!/\s/.test(e[t]);)t++;let s=e.substring(n,t);if(!this.suppressValidationErr&&!Pe(s))throw new Error(`Invalid element name: "${s}"`);t=te(e,t);let i="";if(e[t]==="E"&&Ie(e,"MPTY",t))t+=4;else if(e[t]==="A"&&Ie(e,"NY",t))t+=2;else if(e[t]==="("){t++;let o=t;for(;t<e.length&&e[t]!==")";)t++;if(i=e.substring(o,t),e[t]!==")")throw new Error("Unterminated content model")}else if(!this.suppressValidationErr)throw new Error(`Invalid Element Expression, found "${e[t]}"`);return{elementName:s,contentModel:i.trim(),index:t}}readAttlistExp(e,t){t=te(e,t);let n=t;for(;t<e.length&&!/\s/.test(e[t]);)t++;let s=e.substring(n,t);for(Ge(s),t=te(e,t),n=t;t<e.length&&!/\s/.test(e[t]);)t++;let i=e.substring(n,t);if(!Ge(i))throw new Error(`Invalid attribute name: "${i}"`);t=te(e,t);let o="";if(e.substring(t,t+8).toUpperCase()==="NOTATION"){if(o="NOTATION",t+=8,t=te(e,t),e[t]!=="(")throw new Error(`Expected '(', found "${e[t]}"`);t++;let l=[];for(;t<e.length&&e[t]!==")";){let c=t;for(;t<e.length&&e[t]!=="|"&&e[t]!==")";)t++;let f=e.substring(c,t);if(f=f.trim(),!Ge(f))throw new Error(`Invalid notation name: "${f}"`);l.push(f),e[t]==="|"&&(t++,t=te(e,t))}if(e[t]!==")")throw new Error("Unterminated list of notations");t++,o+=" ("+l.join("|")+")"}else{let l=t;for(;t<e.length&&!/\s/.test(e[t]);)t++;o+=e.substring(l,t);let c=["CDATA","ID","IDREF","IDREFS","ENTITY","ENTITIES","NMTOKEN","NMTOKENS"];if(!this.suppressValidationErr&&!c.includes(o.toUpperCase()))throw new Error(`Invalid attribute type: "${o}"`)}t=te(e,t);let a="";return e.substring(t,t+8).toUpperCase()==="#REQUIRED"?(a="#REQUIRED",t+=8):e.substring(t,t+7).toUpperCase()==="#IMPLIED"?(a="#IMPLIED",t+=7):[t,a]=this.readIdentifierVal(e,t,"ATTLIST"),{elementName:s,attributeName:i,attributeType:o,defaultValue:a,index:t}}},te=(r,e)=>{for(;e<r.length&&/\s/.test(r[e]);)e++;return e};function Ie(r,e,t){for(let n=0;n<e.length;n++)if(e[n]!==r[t+n+1])return!1;return!0}function Ge(r){if(Pe(r))return r;throw new Error(`Invalid entity name ${r}`)}var en=/^[-+]?0x[a-fA-F0-9]+$/,tn=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,rn={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0,infinity:"original"};function pt(r,e={}){if(e=Object.assign({},rn,e),!r||typeof r!="string")return r;let t=r.trim();if(t.length===0)return r;if(e.skipLike!==void 0&&e.skipLike.test(t))return r;if(t==="0")return 0;if(e.hex&&en.test(t))return on(t,16);if(isFinite(t)){if(t.includes("e")||t.includes("E"))return sn(r,t,e);{let n=tn.exec(t);if(n){let s=n[1]||"",i=n[2],o=an(n[3]),a=s?r[i.length+1]===".":r[i.length]===".";if(!e.leadingZeros&&(i.length>1||i.length===1&&!a))return r;{let l=Number(t),c=String(l);if(l===0)return l;if(c.search(/[eE]/)!==-1)return e.eNotation?l:r;if(t.indexOf(".")!==-1)return c==="0"||c===o||c===`${s}${o}`?l:r;let f=i?o:t;return i?f===c||s+f===c?l:r:f===c||f===s+c?l:r}}else return r}}else return ln(r,Number(t),e)}var nn=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;function sn(r,e,t){if(!t.eNotation)return r;let n=e.match(nn);if(n){let s=n[1]||"",i=n[3].indexOf("e")===-1?"E":"e",o=n[2],a=s?r[o.length+1]===i:r[o.length]===i;return o.length>1&&a?r:o.length===1&&(n[3].startsWith(`.${i}`)||n[3][0]===i)?Number(e):o.length>0?t.leadingZeros&&!a?(e=(n[1]||"")+n[3],Number(e)):r:Number(e)}else return r}function an(r){return r&&r.indexOf(".")!==-1&&(r=r.replace(/0+$/,""),r==="."?r="0":r[0]==="."?r="0"+r:r[r.length-1]==="."&&(r=r.substring(0,r.length-1))),r}function on(r,e){if(parseInt)return parseInt(r,e);if(Number.parseInt)return Number.parseInt(r,e);if(window&&window.parseInt)return window.parseInt(r,e);throw new Error("parseInt, Number.parseInt, window.parseInt are not supported")}function ln(r,e,t){let n=e===1/0;switch(t.infinity.toLowerCase()){case"null":return null;case"infinity":return e;case"string":return n?"Infinity":"-Infinity";default:return r}}function mt(r){return typeof r=="function"?r:Array.isArray(r)?e=>{for(let t of r)if(typeof t=="string"&&e===t||t instanceof RegExp&&t.test(e))return!0}:()=>!1}var ie=class{constructor(e,t={}){this.pattern=e,this.separator=t.separator||".",this.segments=this._parse(e),this._hasDeepWildcard=this.segments.some(n=>n.type==="deep-wildcard"),this._hasAttributeCondition=this.segments.some(n=>n.attrName!==void 0),this._hasPositionSelector=this.segments.some(n=>n.position!==void 0)}_parse(e){let t=[],n=0,s="";for(;n<e.length;)e[n]===this.separator?n+1<e.length&&e[n+1]===this.separator?(s.trim()&&(t.push(this._parseSegment(s.trim())),s=""),t.push({type:"deep-wildcard"}),n+=2):(s.trim()&&t.push(this._parseSegment(s.trim())),s="",n++):(s+=e[n],n++);return s.trim()&&t.push(this._parseSegment(s.trim())),t}_parseSegment(e){let t={type:"tag"},n=null,s=e,i=e.match(/^([^\[]+)(\[[^\]]*\])(.*)$/);if(i&&(s=i[1]+i[3],i[2])){let f=i[2].slice(1,-1);f&&(n=f)}let o,a=s;if(s.includes("::")){let f=s.indexOf("::");if(o=s.substring(0,f).trim(),a=s.substring(f+2).trim(),!o)throw new Error(`Invalid namespace in pattern: ${e}`)}let l,c=null;if(a.includes(":")){let f=a.lastIndexOf(":"),d=a.substring(0,f).trim(),u=a.substring(f+1).trim();["first","last","odd","even"].includes(u)||/^nth\(\d+\)$/.test(u)?(l=d,c=u):l=a}else l=a;if(!l)throw new Error(`Invalid segment pattern: ${e}`);if(t.tag=l,o&&(t.namespace=o),n)if(n.includes("=")){let f=n.indexOf("=");t.attrName=n.substring(0,f).trim(),t.attrValue=n.substring(f+1).trim()}else t.attrName=n.trim();if(c){let f=c.match(/^nth\((\d+)\)$/);f?(t.position="nth",t.positionValue=parseInt(f[1],10)):t.position=c}return t}get length(){return this.segments.length}hasDeepWildcard(){return this._hasDeepWildcard}hasAttributeCondition(){return this._hasAttributeCondition}hasPositionSelector(){return this._hasPositionSelector}toString(){return this.pattern}};var cn=new Set(["push","pop","reset","updateCurrent","restore"]),he=class{constructor(e={}){this.separator=e.separator||".",this.path=[],this.siblingStacks=[]}push(e,t=null,n=null){if(this.path.length>0){let f=this.path[this.path.length-1];f.values=void 0}let s=this.path.length;this.siblingStacks[s]||(this.siblingStacks[s]=new Map);let i=this.siblingStacks[s],o=n?`${n}:${e}`:e,a=i.get(o)||0,l=0;for(let f of i.values())l+=f;i.set(o,a+1);let c={tag:e,position:l,counter:a};n!=null&&(c.namespace=n),t!=null&&(c.values=t),this.path.push(c)}pop(){if(this.path.length===0)return;let e=this.path.pop();return this.siblingStacks.length>this.path.length+1&&(this.siblingStacks.length=this.path.length+1),e}updateCurrent(e){if(this.path.length>0){let t=this.path[this.path.length-1];e!=null&&(t.values=e)}}getCurrentTag(){return this.path.length>0?this.path[this.path.length-1].tag:void 0}getCurrentNamespace(){return this.path.length>0?this.path[this.path.length-1].namespace:void 0}getAttrValue(e){return this.path.length===0?void 0:this.path[this.path.length-1].values?.[e]}hasAttr(e){if(this.path.length===0)return!1;let t=this.path[this.path.length-1];return t.values!==void 0&&e in t.values}getPosition(){return this.path.length===0?-1:this.path[this.path.length-1].position??0}getCounter(){return this.path.length===0?-1:this.path[this.path.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this.path.length}toString(e,t=!0){let n=e||this.separator;return this.path.map(s=>t&&s.namespace?`${s.namespace}:${s.tag}`:s.tag).join(n)}toArray(){return this.path.map(e=>e.tag)}reset(){this.path=[],this.siblingStacks=[]}matches(e){let t=e.segments;return t.length===0?!1:e.hasDeepWildcard()?this._matchWithDeepWildcard(t):this._matchSimple(t)}_matchSimple(e){if(this.path.length!==e.length)return!1;for(let t=0;t<e.length;t++){let n=e[t],s=this.path[t],i=t===this.path.length-1;if(!this._matchSegment(n,s,i))return!1}return!0}_matchWithDeepWildcard(e){let t=this.path.length-1,n=e.length-1;for(;n>=0&&t>=0;){let s=e[n];if(s.type==="deep-wildcard"){if(n--,n<0)return!0;let i=e[n],o=!1;for(let a=t;a>=0;a--){let l=a===this.path.length-1;if(this._matchSegment(i,this.path[a],l)){t=a-1,n--,o=!0;break}}if(!o)return!1}else{let i=t===this.path.length-1;if(!this._matchSegment(s,this.path[t],i))return!1;t--,n--}}return n<0}_matchSegment(e,t,n){if(e.tag!=="*"&&e.tag!==t.tag||e.namespace!==void 0&&e.namespace!=="*"&&e.namespace!==t.namespace)return!1;if(e.attrName!==void 0){if(!n||!t.values||!(e.attrName in t.values))return!1;if(e.attrValue!==void 0){let s=t.values[e.attrName];if(String(s)!==String(e.attrValue))return!1}}if(e.position!==void 0){if(!n)return!1;let s=t.counter??0;if(e.position==="first"&&s!==0)return!1;if(e.position==="odd"&&s%2!==1)return!1;if(e.position==="even"&&s%2!==0)return!1;if(e.position==="nth"&&s!==e.positionValue)return!1}return!0}snapshot(){return{path:this.path.map(e=>({...e})),siblingStacks:this.siblingStacks.map(e=>new Map(e))}}restore(e){this.path=e.path.map(t=>({...t})),this.siblingStacks=e.siblingStacks.map(t=>new Map(t))}readOnly(){let e=this;return new Proxy(e,{get(t,n,s){if(cn.has(n))return()=>{throw new TypeError(`Cannot call '${n}' on a read-only Matcher. Obtain a writable instance to mutate state.`)};let i=Reflect.get(t,n,s);return n==="path"||n==="siblingStacks"?Object.freeze(Array.isArray(i)?i.map(o=>o instanceof Map?Object.freeze(new Map(o)):Object.freeze({...o})):i):typeof i=="function"?i.bind(t):i},set(t,n){throw new TypeError(`Cannot set property '${String(n)}' on a read-only Matcher.`)},deleteProperty(t,n){throw new TypeError(`Cannot delete property '${String(n)}' from a read-only Matcher.`)}})}};function fn(r,e){if(!r)return{};let t=e.attributesGroupName?r[e.attributesGroupName]:r;if(!t)return{};let n={};for(let s in t)if(s.startsWith(e.attributeNamePrefix)){let i=s.substring(e.attributeNamePrefix.length);n[i]=t[s]}else n[s]=t[s];return n}function dn(r){if(!r||typeof r!="string")return;let e=r.indexOf(":");if(e!==-1&&e>0){let t=r.substring(0,e);if(t!=="xmlns")return t}}var ze=class{constructor(e){if(this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(t,n)=>tr(n,10,"&#")},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(t,n)=>tr(n,16,"&#x")}},this.addExternalEntities=hn,this.parseXml=gn,this.parseTextData=un,this.resolveNameSpace=pn,this.buildAttributesMap=bn,this.isItStopNode=An,this.replaceEntitiesValue=xn,this.readStopNodeData=In,this.saveTextToParentTag=wn,this.addChild=yn,this.ignoreAttributesFn=mt(this.options.ignoreAttributes),this.entityExpansionCount=0,this.currentExpandedLength=0,this.matcher=new he,this.readonlyMatcher=this.matcher.readOnly(),this.isCurrentNodeStopNode=!1,this.options.stopNodes&&this.options.stopNodes.length>0){this.stopNodeExpressions=[];for(let t=0;t<this.options.stopNodes.length;t++){let n=this.options.stopNodes[t];typeof n=="string"?this.stopNodeExpressions.push(new ie(n)):n instanceof ie&&this.stopNodeExpressions.push(n)}}}};function hn(r){let e=Object.keys(r);for(let t=0;t<e.length;t++){let n=e[t],s=n.replace(/[.\-+*:]/g,"\\.");this.lastEntities[n]={regex:new RegExp("&"+s+";","g"),val:r[n]}}}function un(r,e,t,n,s,i,o){if(r!==void 0&&(this.options.trimValues&&!n&&(r=r.trim()),r.length>0)){o||(r=this.replaceEntitiesValue(r,e,t));let a=this.options.jPath?t.toString():t,l=this.options.tagValueProcessor(e,r,a,s,i);return l==null?r:typeof l!=typeof r||l!==r?l:this.options.trimValues?yt(r,this.options.parseTagValue,this.options.numberParseOptions):r.trim()===r?yt(r,this.options.parseTagValue,this.options.numberParseOptions):r}}function pn(r){if(this.options.removeNSPrefix){let e=r.split(":"),t=r.charAt(0)==="/"?"/":"";if(e[0]==="xmlns")return"";e.length===2&&(r=t+e[1])}return r}var mn=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function bn(r,e,t){if(this.options.ignoreAttributes!==!0&&typeof r=="string"){let n=Qe(r,mn),s=n.length,i={},o={};for(let a=0;a<s;a++){let l=this.resolveNameSpace(n[a][1]),c=n[a][4];if(l.length&&c!==void 0){let f=c;this.options.trimValues&&(f=f.trim()),f=this.replaceEntitiesValue(f,t,this.readonlyMatcher),o[l]=f}}Object.keys(o).length>0&&typeof e=="object"&&e.updateCurrent&&e.updateCurrent(o);for(let a=0;a<s;a++){let l=this.resolveNameSpace(n[a][1]),c=this.options.jPath?e.toString():this.readonlyMatcher;if(this.ignoreAttributesFn(l,c))continue;let f=n[a][4],d=this.options.attributeNamePrefix+l;if(l.length)if(this.options.transformAttributeName&&(d=this.options.transformAttributeName(d)),d=rr(d,this.options),f!==void 0){this.options.trimValues&&(f=f.trim()),f=this.replaceEntitiesValue(f,t,this.readonlyMatcher);let u=this.options.jPath?e.toString():this.readonlyMatcher,h=this.options.attributeValueProcessor(l,f,u);h==null?i[d]=f:typeof h!=typeof f||h!==f?i[d]=h:i[d]=yt(f,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(i[d]=!0)}if(!Object.keys(i).length)return;if(this.options.attributesGroupName){let a={};return a[this.options.attributesGroupName]=i,a}return i}}var gn=function(r){r=r.replace(/\r\n?/g,`
5
5
  `);let e=new ee("!xml"),t=e,n="";this.matcher.reset(),this.entityExpansionCount=0,this.currentExpandedLength=0;let s=new Re(this.options.processEntities);for(let i=0;i<r.length;i++)if(r[i]==="<")if(r[i+1]==="/"){let a=Ne(r,">",i,"Closing Tag is not closed."),l=r.substring(i+2,a).trim();if(this.options.removeNSPrefix){let f=l.indexOf(":");f!==-1&&(l=l.substr(f+1))}l=bt(this.options.transformTagName,l,"",this.options).tagName,t&&(n=this.saveTextToParentTag(n,t,this.readonlyMatcher));let c=this.matcher.getCurrentTag();if(l&&this.options.unpairedTags.indexOf(l)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${l}>`);c&&this.options.unpairedTags.indexOf(c)!==-1&&(this.matcher.pop(),this.tagsNodeStack.pop()),this.matcher.pop(),this.isCurrentNodeStopNode=!1,t=this.tagsNodeStack.pop(),n="",i=a}else if(r[i+1]==="?"){let a=gt(r,i,!1,"?>");if(!a)throw new Error("Pi Tag is not closed.");if(n=this.saveTextToParentTag(n,t,this.readonlyMatcher),!(this.options.ignoreDeclaration&&a.tagName==="?xml"||this.options.ignorePiTags)){let l=new ee(a.tagName);l.add(this.options.textNodeName,""),a.tagName!==a.tagExp&&a.attrExpPresent&&(l[":@"]=this.buildAttributesMap(a.tagExp,this.matcher,a.tagName)),this.addChild(t,l,this.readonlyMatcher,i)}i=a.closeIndex+1}else if(r.substr(i+1,3)==="!--"){let a=Ne(r,"-->",i+4,"Comment is not closed.");if(this.options.commentPropName){let l=r.substring(i+4,a-2);n=this.saveTextToParentTag(n,t,this.readonlyMatcher),t.add(this.options.commentPropName,[{[this.options.textNodeName]:l}])}i=a}else if(r.substr(i+1,2)==="!D"){let a=s.readDocType(r,i);this.docTypeEntities=a.entities,i=a.i}else if(r.substr(i+1,2)==="!["){let a=Ne(r,"]]>",i,"CDATA is not closed.")-2,l=r.substring(i+9,a);n=this.saveTextToParentTag(n,t,this.readonlyMatcher);let c=this.parseTextData(l,t.tagname,this.readonlyMatcher,!0,!1,!0,!0);c==null&&(c=""),this.options.cdataPropName?t.add(this.options.cdataPropName,[{[this.options.textNodeName]:l}]):t.add(this.options.textNodeName,c),i=a+2}else{let a=gt(r,i,this.options.removeNSPrefix);if(!a){let m=r.substring(Math.max(0,i-50),Math.min(r.length,i+50));throw new Error(`readTagExp returned undefined at position ${i}. Context: "${m}"`)}let l=a.tagName,c=a.rawTagName,f=a.tagExp,d=a.attrExpPresent,u=a.closeIndex;if({tagName:l,tagExp:f}=bt(this.options.transformTagName,l,f,this.options),this.options.strictReservedNames&&(l===this.options.commentPropName||l===this.options.cdataPropName||l===this.options.textNodeName||l===this.options.attributesGroupName))throw new Error(`Invalid tag name: ${l}`);t&&n&&t.tagname!=="!xml"&&(n=this.saveTextToParentTag(n,t,this.readonlyMatcher,!1));let h=t;h&&this.options.unpairedTags.indexOf(h.tagname)!==-1&&(t=this.tagsNodeStack.pop(),this.matcher.pop());let y=!1;f.length>0&&f.lastIndexOf("/")===f.length-1&&(y=!0,l[l.length-1]==="/"?(l=l.substr(0,l.length-1),f=l):f=f.substr(0,f.length-1),d=l!==f);let w=null,N={},x;x=dn(c),l!==e.tagname&&this.matcher.push(l,{},x),l!==f&&d&&(w=this.buildAttributesMap(f,this.matcher,l),w&&(N=fn(w,this.options))),l!==e.tagname&&(this.isCurrentNodeStopNode=this.isItStopNode(this.stopNodeExpressions,this.matcher));let v=i;if(this.isCurrentNodeStopNode){let m="";if(y)i=a.closeIndex;else if(this.options.unpairedTags.indexOf(l)!==-1)i=a.closeIndex;else{let P=this.readStopNodeData(r,c,u+1);if(!P)throw new Error(`Unexpected end of ${c}`);i=P.i,m=P.tagContent}let b=new ee(l);w&&(b[":@"]=w),b.add(this.options.textNodeName,m),this.matcher.pop(),this.isCurrentNodeStopNode=!1,this.addChild(t,b,this.readonlyMatcher,v)}else{if(y){({tagName:l,tagExp:f}=bt(this.options.transformTagName,l,f,this.options));let m=new ee(l);w&&(m[":@"]=w),this.addChild(t,m,this.readonlyMatcher,v),this.matcher.pop(),this.isCurrentNodeStopNode=!1}else if(this.options.unpairedTags.indexOf(l)!==-1){let m=new ee(l);w&&(m[":@"]=w),this.addChild(t,m,this.readonlyMatcher,v),this.matcher.pop(),this.isCurrentNodeStopNode=!1,i=a.closeIndex;continue}else{let m=new ee(l);if(this.tagsNodeStack.length>this.options.maxNestedTags)throw new Error("Maximum nested tags exceeded");this.tagsNodeStack.push(t),w&&(m[":@"]=w),this.addChild(t,m,this.readonlyMatcher,v),t=m}n="",i=u}}else n+=r[i];return e.child};function yn(r,e,t,n){this.options.captureMetaData||(n=void 0);let s=this.options.jPath?t.toString():t,i=this.options.updateTag(e.tagname,s,e[":@"]);i===!1||(typeof i=="string"&&(e.tagname=i),r.addChild(e,n))}function xn(r,e,t){let n=this.options.processEntities;if(!n||!n.enabled)return r;if(n.allowedTags){let s=this.options.jPath?t.toString():t;if(!(Array.isArray(n.allowedTags)?n.allowedTags.includes(e):n.allowedTags(e,s)))return r}if(n.tagFilter){let s=this.options.jPath?t.toString():t;if(!n.tagFilter(e,s))return r}for(let s of Object.keys(this.docTypeEntities)){let i=this.docTypeEntities[s],o=r.match(i.regx);if(o){if(this.entityExpansionCount+=o.length,n.maxTotalExpansions&&this.entityExpansionCount>n.maxTotalExpansions)throw new Error(`Entity expansion limit exceeded: ${this.entityExpansionCount} > ${n.maxTotalExpansions}`);let a=r.length;if(r=r.replace(i.regx,i.val),n.maxExpandedLength&&(this.currentExpandedLength+=r.length-a,this.currentExpandedLength>n.maxExpandedLength))throw new Error(`Total expanded content size exceeded: ${this.currentExpandedLength} > ${n.maxExpandedLength}`)}}for(let s of Object.keys(this.lastEntities)){let i=this.lastEntities[s],o=r.match(i.regex);if(o&&(this.entityExpansionCount+=o.length,n.maxTotalExpansions&&this.entityExpansionCount>n.maxTotalExpansions))throw new Error(`Entity expansion limit exceeded: ${this.entityExpansionCount} > ${n.maxTotalExpansions}`);r=r.replace(i.regex,i.val)}if(r.indexOf("&")===-1)return r;if(this.options.htmlEntities)for(let s of Object.keys(this.htmlEntities)){let i=this.htmlEntities[s],o=r.match(i.regex);if(o&&(this.entityExpansionCount+=o.length,n.maxTotalExpansions&&this.entityExpansionCount>n.maxTotalExpansions))throw new Error(`Entity expansion limit exceeded: ${this.entityExpansionCount} > ${n.maxTotalExpansions}`);r=r.replace(i.regex,i.val)}return r=r.replace(this.ampEntity.regex,this.ampEntity.val),r}function wn(r,e,t,n){return r&&(n===void 0&&(n=e.child.length===0),r=this.parseTextData(r,e.tagname,t,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,n),r!==void 0&&r!==""&&e.add(this.options.textNodeName,r),r=""),r}function An(r,e){if(!r||r.length===0)return!1;for(let t=0;t<r.length;t++)if(e.matches(r[t]))return!0;return!1}function vn(r,e,t=">"){let n,s="";for(let i=e;i<r.length;i++){let o=r[i];if(n)o===n&&(n="");else if(o==='"'||o==="'")n=o;else if(o===t[0])if(t[1]){if(r[i+1]===t[1])return{data:s,index:i}}else return{data:s,index:i};else o===" "&&(o=" ");s+=o}}function Ne(r,e,t,n){let s=r.indexOf(e,t);if(s===-1)throw new Error(n);return s+e.length-1}function gt(r,e,t,n=">"){let s=vn(r,e+1,n);if(!s)return;let i=s.data,o=s.index,a=i.search(/\s/),l=i,c=!0;a!==-1&&(l=i.substring(0,a),i=i.substring(a+1).trimStart());let f=l;if(t){let d=l.indexOf(":");d!==-1&&(l=l.substr(d+1),c=l!==s.data.substr(d+1))}return{tagName:l,tagExp:i,closeIndex:o,attrExpPresent:c,rawTagName:f}}function In(r,e,t){let n=t,s=1;for(;t<r.length;t++)if(r[t]==="<")if(r[t+1]==="/"){let i=Ne(r,">",t,`${e} is not closed`);if(r.substring(t+2,i).trim()===e&&(s--,s===0))return{tagContent:r.substring(n,t),i};t=i}else if(r[t+1]==="?")t=Ne(r,"?>",t+1,"StopNode is not closed.");else if(r.substr(t+1,3)==="!--")t=Ne(r,"-->",t+3,"StopNode is not closed.");else if(r.substr(t+1,2)==="![")t=Ne(r,"]]>",t,"StopNode is not closed.")-2;else{let i=gt(r,t,">");i&&((i&&i.tagName)===e&&i.tagExp[i.tagExp.length-1]!=="/"&&s++,t=i.closeIndex)}}function yt(r,e,t){if(e&&typeof r=="string"){let n=r.trim();return n==="true"?!0:n==="false"?!1:pt(r,t)}else return Ht(r)?r:""}function tr(r,e,t){let n=Number.parseInt(r,e);return n>=0&&n<=1114111?String.fromCodePoint(n):t+r+";"}function bt(r,e,t,n){if(r){let s=r(e);t===e&&(t=s),e=s}return e=rr(e,n),{tagName:e,tagExp:t}}function rr(r,e){if(qe.includes(r))throw new Error(`[SECURITY] Invalid name: "${r}" is a reserved JavaScript keyword that could cause prototype pollution`);return _e.includes(r)?e.onDangerousProperty(r):r}var xt=ee.getMetaDataSymbol();function Nn(r,e){if(!r||typeof r!="object")return{};if(!e)return r;let t={};for(let n in r)if(n.startsWith(e)){let s=n.substring(e.length);t[s]=r[n]}else t[n]=r[n];return t}function wt(r,e,t,n){return nr(r,e,t,n)}function nr(r,e,t,n){let s,i={};for(let o=0;o<r.length;o++){let a=r[o],l=Cn(a);if(l!==void 0&&l!==e.textNodeName){let c=Nn(a[":@"]||{},e.attributeNamePrefix);t.push(l,c)}if(l===e.textNodeName)s===void 0?s=a[l]:s+=""+a[l];else{if(l===void 0)continue;if(a[l]){let c=nr(a[l],e,t,n),f=Pn(c,e);if(a[":@"]?Zn(c,a[":@"],n,e):Object.keys(c).length===1&&c[e.textNodeName]!==void 0&&!e.alwaysCreateTextNode?c=c[e.textNodeName]:Object.keys(c).length===0&&(e.alwaysCreateTextNode?c[e.textNodeName]="":c=""),a[xt]!==void 0&&typeof c=="object"&&c!==null&&(c[xt]=a[xt]),i[l]!==void 0&&Object.prototype.hasOwnProperty.call(i,l))Array.isArray(i[l])||(i[l]=[i[l]]),i[l].push(c);else{let d=e.jPath?n.toString():n;e.isArray(l,d,f)?i[l]=[c]:i[l]=c}l!==void 0&&l!==e.textNodeName&&t.pop()}}}return typeof s=="string"?s.length>0&&(i[e.textNodeName]=s):s!==void 0&&(i[e.textNodeName]=s),i}function Cn(r){let e=Object.keys(r);for(let t=0;t<e.length;t++){let n=e[t];if(n!==":@")return n}}function Zn(r,e,t,n){if(e){let s=Object.keys(e),i=s.length;for(let o=0;o<i;o++){let a=s[o],l=a.startsWith(n.attributeNamePrefix)?a.substring(n.attributeNamePrefix.length):a,c=n.jPath?t.toString()+"."+l:t;n.isArray(a,c,!0,!0)?r[a]=[e[a]]:r[a]=e[a]}}}function Pn(r,e){let{textNodeName:t}=e,n=Object.keys(r).length;return!!(n===0||n===1&&(r[t]||typeof r[t]=="boolean"||r[t]===0))}var ye=class{constructor(e){this.externalEntities={},this.options=er(e)}parse(e,t){if(typeof e!="string"&&e.toString)e=e.toString();else if(typeof e!="string")throw new Error("XML data is accepted in String or Bytes[] form.");if(t){t===!0&&(t={});let i=Qt(e,t);if(i!==!0)throw Error(`${i.err.msg}:${i.err.line}:${i.err.col}`)}let n=new ze(this.options);n.addExternalEntities(this.externalEntities);let s=n.parseXml(e);return this.options.preserveOrder||s===void 0?s:wt(s,this.options,n.matcher,n.readonlyMatcher)}addEntity(e,t){if(t.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(e.indexOf("&")!==-1||e.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(t==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[e]=t}static getMetaDataSymbol(){return ee.getMetaDataSymbol()}};var Sn=`